Breakout 2 ème signal

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #36389 quote
    Carl
    Participant
    Average

    Ci-dessous une demande qui a été envoyée à ProRealTime :

    Bonjour,

    J’ai trouvé sur votre site “prorealcode” le systeme “Dow Breakout 15min” à l’adresse suivante :

    DOW Breakout 15Min

    J’aurais besoin d’aide car je souhaiterais n’entrer sur le marché qu’a partir du 2eme signal (ou plus) généré par ce systeme (donc eviter systematiquement le 1er trade).

    Je souhaiterais que l’entree sur le marché, lors du 1er breakout (il y a dans ce systeme plusieurs breakout possibles pendant la seance), ne soit pas effectuee.

    Mais que si le breakout se reproduit  dans le sens opposé, une position soit ouverte.

    Par exemple le stop d’achat est touché a 17h (1er breakout de la seance) : la position longue n’est pas prise.

    Par contre si le 2eme ordre de breakout est touché, short cette fois ci, l’ordre sera pris.

    Et une proposition de réponse :

    // We do not store datas until the system starts.
    // If it is the first day that the system is launched and if it is afternoon,
    // it will be waiting until the next day for defining sell and buy orders
     
    //UK TIME ZONE
     
    DEFPARAM PreLoadBars = 0
     
    // Position is closed at 20:30
    DEFPARAM FlatAfter = 203000
     
    // No new position will be initiated after the 19:45 candlestick.
    LimitHour = 200000
     
    // Market scan begin with the 15 minute candlestick that closed at 15:30
    StartHour = 151500
     
    // The 24th and 31th days of December will not be traded because market close before 7h45 PM
    IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
     
    TradingDay = 0
    ELSE
    TradingDay = 1
    ENDIF
     
    // Variables that would be adapted to your preferences
    if time = 144500 then
     
    //PositionSize = max(1,1+ROUND((strategyprofit-1000)/1000)) //gain re-invest trade volume
    PositionSize = 1 //constant trade volume over the time
    endif
     
    MaxAmplitude = 160
    MinAmplitude = 20
    OrderDistance = 4
    PourcentageMin = 35
     
    // Variable initilization once at system start
    ONCE StartTradingDay = -1
     
    // Variables that can change in intraday are initiliazed
    // at first bar on each new day
    IF (Time <= StartHour AND StartTradingDay <> 0) OR IntradayBarIndex = 0 THEN
    BuyTreshold = 0
    SellTreshold = 0
    BuyPosition = 0
    SellPosition = 0
    StartTradingDay = 0
    sens=0
    ELSIF Time >= StartHour AND StartTradingDay = 0 AND TradingDay = 1 THEN
     
    // We store the first trading day bar index
    DayStartIndex = IntradayBarIndex
    StartTradingDay = 1
    ELSIF StartTradingDay = 1 AND Time <= LimitHour THEN
     
    // For each trading day, we define each 15 minutes
    // the higher and lower price value of the instrument since StartHour
    // until the buy and sell tresholds are not defined
    IF BuyTreshold = 0 OR SellTreshold = 0 THEN
    HighLevel = Highest[IntradayBarIndex - DayStartIndex + 2](High)
    LowLevel = Lowest [IntradayBarIndex - DayStartIndex + 2](Low)
     
    // Spread calculation between the higher and the
    // lower value of the instrument since StartHour
    DaySpread = HighLevel - LowLevel
     
    // Minimal spread calculation allowed to consider a significant price breakout
    // of the higher and lower value
    MinSpread = DaySpread * PourcentageMin / 100
     
    // Buy and sell tresholds for the actual if conditions are met
    IF DaySpread <= MaxAmplitude THEN
    IF SellTreshold = 0 AND (Close - LowLevel) >= MinSpread THEN
    SellTreshold = LowLevel + OrderDistance
    ENDIF
    IF BuyTreshold = 0 AND (HighLevel - Close) >= MinSpread THEN
    BuyTreshold = HighLevel - OrderDistance
    ENDIF
    ENDIF
    ENDIF
     
    // Creation of the buy and sell orders for the day
    // if the conditions are met
    IF SellTreshold > 0 AND BuyTreshold > 0 AND (BuyTreshold - SellTreshold) >= MinAmplitude THEN
    if sens<> 1 and high>BuyTreshold then
    sens=-1
    elsif sens <>-1 and low < SellTreshold then
    sens=1
    endif
    
    IF BuyPosition = 0 THEN
    IF LongOnMarket THEN
    BuyPosition = 1
    ELSif sens=1 then
    BUY PositionSize CONTRACT AT BuyTreshold STOP
    ENDIF
    ENDIF
    IF SellPosition = 0 THEN
    IF ShortOnMarket THEN
    SellPosition = 1
    ELSif sens=-1 then
    SELLSHORT PositionSize CONTRACT AT SellTreshold STOP
    ENDIF
    ENDIF
    ENDIF
    ENDIF
     
    // Conditions definitions to exit market when a buy or sell order is already launched
    IF LongOnMarket AND ((Time <= LimitHour AND SellPosition = 1) OR Time > LimitHour) THEN
    SELL AT SellTreshold STOP
    ELSIF ShortOnMarket AND ((Time <= LimitHour AND BuyPosition = 1) OR Time > LimitHour) THEN
    EXITSHORT AT BuyTreshold STOP
    ENDIF
     
    // Maximal risk definition of loss per position
    // in case of bad evolution of the instrument price
    SET STOP PLOSS MaxAmplitude
    //SET TAGRGET PPROFIT //70 //160
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.

Breakout 2 ème signal


Support ProOrder

New Reply
Author
author-avatar
Carl @carl Participant
Summary

This topic contains 1 voice and has 0 replies.

Topic Details
Forum: Support ProOrder
Language: French
Started: 05/23/2017
Status: Active
Attachments: No files
Logo Logo
Loading...