GAP DEL LUNEDì (short)

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #71647 quote
    andreag76
    Participant
    Average

    Buongiorno,

    vorrei che il sistema mi identificasse il gap del lunedì sul Dax, Timeframe 1 ora.Per semplificare faccio solo le istruzioni che riguardano un’apertura in gap up.

    Vorrei che identificato il minimo della candela delle 00.00.00 , in giornata , se il prezzo va a fare un breakout del minimo della prima candela  , si apra una posizione short.

    Qualcosa non funziona perché apre la posizione di martedì!

    Oltretutto non chiude le posizioni alle 21.30 come specificato sotto

    Dov’è che sbaglio?

    Grazie per l’attenzione

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    DEFPARAM Preloadbars = 20000
    
    // Impedisce al sistema di tradare in giorni specifici della settimana
    daysForbiddenEntry = OpenDayOfWeek = 2 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 4 OR OpenDayOfWeek = 5 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    ONCE Tradare = 1
    IF IntraDayBarIndex = 0 THEN //alla prima barra del nuovo giorno…
    Tradare = 1 //… settarla di nuovo ad 1 per tradare ancora
    ENDIF
    
    ONCE Prezzo = 0
    if dayofweek=1 and time=010000 then
    Prezzo = LOW
    ENDIF
    
    c1 = (low – DHigh(1)>10)
    
    iF DAYOFWEEK=1 AND TIME=000000 AND C1 AND NOT DAYSFORBIDDENENTRY AND TRADARE = 1 THEN
    SELLSHORT 1 CONTRACT AT Prezzo-7*pipsize Limit
    ENDIF
    
    IF OnMarket THEN
    Tradare = 0
    ENDIF
    //
    //
    IF time = 213000 THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    //
    // Stop e target
    SET TARGET pPROFIT 40
    #71654 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code”, per rendere il codice più leggibile. Grazie.

    #71655 quote
    robertogozzi
    Moderator
    Master

    Ce ne sono vari di errori.

    Non ti chiude le posizioni alle 21:30 perché non usi un TF con una candela che chiuda alle 21:30, se usi un TF ad 1 ora o più, non potrà mai chiudere a quell’ora, usa 30 minuti o 15 o 10 o 1 minuto o 1 secondo e vedrai che funzionerà!

    La riga 6 potresti semplificarla con

    daysForbiddenEntry = OpenDayOfWeek <> 1

    Alla riga 14 è meglio se usi OpenDayOfWeek, anche se dovrebbe funzionare ugualmente.

    Alla riga 14 gli dici di prendere nota del minimo ed assegnarlo alla variabile PREZZO alle 010000, mentre alla riga 20 gli dici che vuoi entrare solo se sono le 000000.

    Inoltre gli ordini pendenti durano solo un’ora, ad ogni candela, se ti interessano ancora, devi reinserirli, nel tuo caso fino alle 000000 del giorno dopo NON li reinserirà, siccome il giorno dopo è FORBIDDEN, non entrerà mai!

    Inoltre, scusami, in quali orari vorresti tradare? Perché il DAX ufficialmente è tradabile dalle 8 alle 22 (UTC+2), mentre IG consente di tradare anche al di fuori di questi orari, ma sai quali sono, perché sennò rischi di mettere riferimenti ad orari, magari con contrattazione IG aperta, ma che hanno poca volatilità se non assente e quindi valgono “poco” in termini di prezzo di riferimento per eventuali breakout o gap.

    andreag76 thanked this post
    #71740 quote
    andreag76
    Participant
    Average

    Ok …fatto le modifiche … per adesso funziona meglio se gli dico “compra” quindi di continuare il trend ,  ma in qualche modo gli farò capire di entrare short se il prezzo finisce dentro il gap.

    Come orari ho messo tutta la giornata , anche la sessione asiatica , è vero che i volumi sono più bassi ma è già capitato che lo chiudesse entro le 8 di mattina.

    Adesso analizzo quando e come entra e poi ci risentiamo. Grazie mille

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    DEFPARAM Preloadbars = 20000
    
    // Impedisce al sistema di tradare in giorni specifici della settimana
    daysForbiddenEntry = OpenDayOfWeek <> 1
    
    
    
    ONCE Tradare = 1
    IF IntraDayBarIndex = 0 THEN  //alla prima barra del nuovo giorno...
    Tradare = 1                //... settarla di nuovo ad 1 per tradare ancora
    ENDIF
    
    
    
    ONCE Prezzo = 0
    if opendayofweek=1 and time=000000 then
    Prezzo = LOW
    ENDIF
    
    
    c1 = (low - DHigh(1)>10)
    
    
    iF OPENDAYOFWEEK=1  AND C1  AND NOT DAYSFORBIDDENENTRY AND TRADARE = 1   THEN
    sellshort 1 CONTRACT AT Prezzo-7*pipsize Limit
    ENDIF
    
    
    IF OnMarket THEN
    Tradare = 0
    ENDIF
    //
    //
    IF  time = 220000  THEN
    SELL AT  MARKET
    EXITSHORT AT  MARKET
    ENDIF
    //
    
    
    //TRAILING STOP
    TGL =13
    TGS= 6
    // 30 euro di distanza su contratto dax 5 Euro; il mix 3 ha tgs =24 e fa 120 euro di trailing
    if not onmarket then
    MAXPRICE = 0
    MINPRICE = close
    PREZZOUSCITA = 0
    ENDIF
    if longonmarket then
    MAXPRICE = MAX(MAXPRICE,close)
    if MAXPRICE-tradeprice(1)>=TGL*pointsize then
    PREZZOUSCITA = MAXPRICE-TGL*pointsize
    ENDIF
    ENDIF
    if shortonmarket then
    MINPRICE = MIN(MINPRICE,close)
    if tradeprice(1)-MINPRICE>=TGS*pointsize then
    PREZZOUSCITA = MINPRICE+TGS*pointsize
    ENDIF
    ENDIF
    if onmarket and PREZZOUSCITA>0 then
    EXITSHORT AT PREZZOUSCITA STOP
    SELL AT PREZZOUSCITA STOP
    ENDIF
    // Stop e target
    //SET TARGET pPROFIT 40
    //SET STOP PTRAILING  20
    //
    
    #71742 quote
    andreag76
    Participant
    Average

    Dall’allegato che ho messo si vede che non entra nell’area del gap ;  è giusto lo short ma non il momento dell’entrata

    #72186 quote
    andreag76
    Participant
    Average

    È stato migliorato in questo modo: la candela di riferimento è quella dell 010000 . Sono stati introdotti indicatori di prezzo del venerdì ultima candela e lunedì prima candela per vedere meglio cosa fa.

    #72353 quote
    andreag76
    Participant
    Average

    Risultati non soddisfacenti

    #72371 quote
    robertogozzi
    Moderator
    Master

    Non sono sicuro di avere interpretato bene la tua necessità, ad ogni modo ho cambiato la riga 18, ho commentato la 3 (che non ha comunque influenza sul risultato) ed ho spostato la riga 23 all’interno dell’IF..ENDIF, tra la 19 e la 20:

    DEFPARAM CumulateOrders = False
    //DEFPARAM Preloadbars    = 20000
    daysForbiddenEntry      = OpenDayOfWeek <> 1
    ONCE Tradare = 1
    IF IntraDayBarIndex = 0 THEN      //alla prima barra del nuovo giorno...
       Tradare = 1                   //... settarla di nuovo ad 1 per tradare ancora
    ENDIF
    ONCE Prezzo = 0
    if opendayofweek=1 and intradaybarindex=0 then//time=000000 then
       Prezzo = LOW
       c1 = (low - DHigh(1)>10)
    ENDIF
    IF OPENDAYOFWEEK=1  AND C1  AND NOT DAYSFORBIDDENENTRY AND TRADARE = 1   THEN
       sellshort 1 CONTRACT AT Prezzo-7*pipsize Limit
    ENDIF
    IF OnMarket THEN
       Tradare = 0
    ENDIF
    IF  time = 220000  THEN
       SELL AT  MARKET
       EXITSHORT AT  MARKET
    ENDIF
    //TRAILING STOP
    TGL =13
    TGS= 6
    // 30 euro di distanza su contratto dax 5 Euro; il mix 3 ha tgs =24 e fa 120 euro di trailing
    if not onmarket then
       MAXPRICE = 0
       MINPRICE = close
       PREZZOUSCITA = 0
    ENDIF
    if longonmarket then
       MAXPRICE = MAX(MAXPRICE,close)
       if MAXPRICE-tradeprice(1)>=TGL*pointsize then
          PREZZOUSCITA = MAXPRICE-TGL*pointsize
       ENDIF
    ENDIF
    if shortonmarket then
       MINPRICE = MIN(MINPRICE,close)
       if tradeprice(1)-MINPRICE>=TGS*pointsize then
          PREZZOUSCITA = MINPRICE+TGS*pointsize
       ENDIF
    ENDIF
    if onmarket and PREZZOUSCITA>0 then
       EXITSHORT AT PREZZOUSCITA STOP
       SELL AT PREZZOUSCITA STOP
    ENDIF
    // Stop e target
    //SET TARGET pPROFIT 40
    //SET STOP PTRAILING  20
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

GAP DEL LUNEDì (short)


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
andreag76 @andreag76 Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by robertogozzi
7 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 05/29/2018
Status: Active
Attachments: 1 files
Logo Logo
Loading...