OPEN IN GAP

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #140638 quote
    mangiaragni
    Participant
    Junior

    Ciao a tutti, vorrei provare a fare un codice per provare ad  automatizzare l’open in gap su us500

    Il programma dovrebbe verificare la chiusura delle 22 dell’indice americano ed operare per chiudere il gap che si forma all’apertura del giorno dopo, quindi una entrata short se l’indice apre più alto della chiusura del giorno prima ed una entrata long se l’indice apre più basso della chiusura del giorno prima.

    In entrambe i casi con target la chiusura del giorno prima e stop Loss di pochi punti

    Naturalmente il tutto su timeframe giornaliero

    Sarei davvero grato se qualcuno potrà aiutarmi
    #140640 quote
    robertogozzi
    Moderator
    New
    Eccolo:
    Defparam CumulateOrders = false
    //Short
    If open > close[1] then
       Sellshort 1 contract at market
    Endif
    //Long
    If open < close[1] then
       Buy 1 contract at market
    Endif
    //
    Tp = abs(close - close[1])
    Sl  = Tp / 3
    Set Target Profit Tp
    Set Stop   Loss   Sl
    #140647 quote
    mangiaragni
    Participant
    Junior
    Grazie Roberto sei sempre fantastico e volocissimo nel rispondere, ma probabilmente io non avrò i settaggi giusti per far funzionare il programma perche questo non mi rispetta la chiusura delle 22 e l’apertura delle 15,30 del mercato americano, ma testandolo vedo che ha delle entrate ed uscite differenti. Faccio un esempio di venerdì 31 luglio dove ho tradato l’open in gap giovedì 30 luglio: chiusura mercato ore 22 di giovedì  a 3246 Apertura mercato ore 15,30 di venerdì a 3265 il programma dovrebbe aprire una posizione corta da 3265 punti  con target 3246 Grazie ancora per la velocità e la cortesia Gianni
    #140648 quote
    robertogozzi
    Moderator
    New
    In effetti c’è una candela di differenza, in quanto le strategie vengono SEMPRE eseguiti alla chiusura di ogni candela, quindi che il Venerdì ha aperto in gap rispetto al Giovedì la strategia verrà a saperlo alla chiusura del Venerdì, quindi entrerà a mercato all’apertura del Lunedì. Per ovviare a questo si può utilizzare il supporto MTF, con un time frame ad 1 minuto (o anche minore) ed entrare poco dopo l’apertura. Domani ti faccio una versione MTF.
    #140683 quote
    mangiaragni
    Participant
    Junior
    Ok perfetto, ma per eseguire correttamente questo codice dovrò anche io avere la visualizzazione del grafico con apertura 15,30 e con chiusura 22?
    #140722 quote
    robertogozzi
    Moderator
    New
    Questo è il codice, ma va con le candele DAILY di IG, non credo corrispondano al mercato reale perché NON è un mercato reale, è un CFD creato da IG, quindi non ha orari borsistici. Puoi provare ad intervenire sugli orari personalizzati (nelle opzioni della piattaforma si possono variare), ma non so quali effetti avranno sul risultato. Devi eseguirlo su un TF ad 1 minuto, o inferiore (questo ridurrà lo storico disponibile in fase di backtest):
    Defparam CumulateOrders = false
    TIMEFRAME(1 Day)
    ONCE DailyFlag = 1
    DailyFlag = abs(DailyFlag - 1)
    //Short
    CondS = 0
    If open > close[1] then
       CondS = 1
       CondL = 0
    Endif
    //Long
    If open < close[1] then
       CondL = 1
       CondS = 0
    Endif
    //
    Tp = abs(close - close[1]) * 20    //profitto 20 volte maggiore del GAP
    Sl = Tp / 3                        //Stop Loss 1/3 del Profitto
    ////////////////////////////////////////////////////////////////////////
    TIMEFRAME(default)
    Flag = DailyFlag
    ONCE TradeON = 1
    IF Flag <> Flag[1] THEN
       TradeON = 1
    ENDIF
    If CondS AND Not OnMarket AND TradeON then
       Sellshort 1 contract at market
       TradeON = 0
    Endif
    //Long
    If CondL AND Not OnMarket AND TradeON then
       Buy 1 contract at market
       TradeON = 0
    Endif
    Set Target Profit Tp
    Set Stop   Loss   Sl
    ho messo una condizione, TradeON, per evitare che entri a mercato più volte durante lo stesso giorno.
    #140802 quote
    mangiaragni
    Participant
    Junior
    Grazie mille Roberto, l’ho testato sulle azioni italiane tipo eni, in quanto hanno la chiusura alle 17,30 e l’apertura alle 9 e funziona, ma a volte non capisco perchè non rispetta il tp e lo stop loss. Per testarlo ho aggiunto solo alcune funzioni, tipo che se il tp è minore di 30 centesimi allora non entra a mercato, tolto il profitto 20 volte il gap e lo stop /3, ed ho fatto comperare  100 azioni anziche una sola.
    Defparam CumulateOrders = false
    TIMEFRAME(1 Day)
    ONCE DailyFlag = 1
    DailyFlag = abs(DailyFlag - 1)
    //Short
    CondS = 0
    If open > close[1] then
    CondS = 1
    CondL = 0
    Endif
    //Long
    If open < close[1] then
    CondL = 1
    CondS = 0
    Endif
    //
    Tp = abs(close - close[1]) //* 20    //profitto 20 volte maggiore del GAP
    Sl = Tp /// 3                        //Stop Loss 1/3 del Profitto
    long=1
    
    graph tp
    
    short=1
    if tp<0.30 then
    long=0
    short=0
    endif
    ////////////////////////////////////////////////////////////////////////
    TIMEFRAME(default)
    Flag = DailyFlag
    ONCE TradeON = 1
    IF Flag <> Flag[1] THEN
    TradeON = 1
    ENDIF
    If CondS and short AND Not OnMarket AND TradeON then
    Sellshort 1000 lots at market
    TradeON = 0
    Endif
    //Long
    If CondL and long AND Not OnMarket AND TradeON then
    Buy 1000 lots at market
    TradeON = 0
    Endif
    Set Target Profit Tp
    Set Stop   Loss   Sl
Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.

OPEN IN GAP


Supporto ProOrder

New Reply
Author
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by mangiaragni
5 years, 5 months ago.

Topic Details
Forum: Supporto ProOrder
Language: Italian
Started: 08/02/2020
Status: Active
Attachments: No files
Logo Logo
Loading...