breakout pro order ( presente nella libreria)

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #4716 quote
    alfredo
    Participant
    Average
    
    
    // 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
    DEFPARAM PreLoadBars = 0
    // Position is closed at 7h45 PM, frenh time (in case of CAC40 trading)
    DEFPARAM FlatAfter = 173000
    // No new position will be initiated after the 5h00 PM candlestick
    LimitHour = 153000
    // Market scan begin with the 15 minute candlestick that closed at 9h15 AM
    StartHour = 093000
    // The 24th and 31th days of December will not be traded because market close before 7h45 PM
    IF (month=3 and day=28) or (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 = 090000 then
    PositionSize = max(2,2+ROUND((strategyprofit-1000)/1000)) //gain re-invest trade volume
    //PositionSize = 2 //constant trade volume over the time
    endif
    MaxAmplitude = 80
    MinAmplitude = 30
    OrderDistance = 4
    PourcentageMin = 30
    // 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
    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 + 1](High)
    LowLevel = Lowest [IntradayBarIndex - DayStartIndex + 1](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 BuyPosition = 0 THEN
    IF LongOnMarket THEN
    BuyPosition = 1
    ELSE
    BUY PositionSize CONTRACT AT BuyTreshold STOP
    ENDIF
    ENDIF
    IF SellPosition = 0 THEN
    IF ShortOnMarket THEN
    SellPosition = 1
    ELSE
    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

     

    Ciao a tutti, ho modificato il codice in modo da farlo lavorare su time frame 5 minuti su Italy cash ma mi apre in alcuni giorni più di due posizioni mentre ho letto che il codice originale dovrebbe aprire al massimo due posizioni al giorno, dov’è il mio errore? Io ho impostato il fuso orario della piattaforma su UTC/00:00

    #4717 quote
    alfredo
    Participant
    Average

    Ciao a tutti, ho modificato il codice in modo da farlo lavorare su time frame 5 minuti su Italy cash ma mi apre in alcuni giorni più di due posizioni mentre ho letto che il codice originale dovrebbe aprire al massimo due posizioni al giorno, dov’è il mio errore? Io ho impostato il fuso orario della piattaforma su UTC/00:00

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.

breakout pro order ( presente nella libreria)


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
alfredo @alfredo Participant
Summary

This topic contains 1 reply,
has 1 voice, and was last updated by alfredo
9 years, 10 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 03/31/2016
Status: Active
Attachments: No files
Logo Logo
Loading...