Breakout dei primi 10 minuti

Viewing 15 posts - 16 through 30 (of 33 total)
  • Author
    Posts
  • #46421 quote
    robertogozzi
    Moderator
    Master

    Si, sempre alla candela successiva.

    Purtroppo le strategie vengono eseguite alla chiusura di una candela, quindi sui 10 minuti può capitare che lo stop sia stato preso già da vari minuti, per cui il reverse in realtà può essere attivato anche a parecchi pips di distanza!

    Per ora non c’è una soluzione migliore.

    #46433 quote
    R05
    Participant
    Veteran

    Peccato, però almeno è già qualcosa, infatti il backtest migliora.

    Grazie come sempre per il tuo aiuto.

    #46435 quote
    R05
    Participant
    Veteran

    Anche se, vedendo meglio, il sistema mi fa il reverse a prescindere dalle condizioni di entrata (che possono essere supertrend + regressioni).

    Mi sembra che appena prende lo stop, alla candela successiva, a prescindere dalle regressioni, entra in posizione.

    Quindi, mi confermeresti, gentilmente, se non ho capito male, che il reverse non può essere fatto seguendo delle proprie condizioni specifiche?

    #46438 quote
    robertogozzi
    Moderator
    Master

    Il reverse, di fatto, non esiste. Esiste semplicemente che al verificarsi di certe condizioni (nel tuo caso uno Stop Loss + altre tue condizioni) si apre un trade nella direzione opposta. E’ un normale trade come qualunque altro, basato sulle condizioni da te impostate.

    Non esiste una specifica istruzione che, colpito lo stop loss, ti possa fare entrare nella direzione opposta.

    Il codice mi sembra corretto, anche se non l’ho provato.

    #46464 quote
    R05
    Participant
    Veteran

    Gent.mo Roberto ti devo chiedere nuovamente scusa perchè il tuo sistema funziona PERFETTAMENTE anche con l’aggiunta delle mie condizioni.

    Ho trovato dove era l’errore nel mio codice, avevo messo sia per il supertrend che per la regressione lineare “indicator1” come di seguito:

    indicator1 = SuperTrend[3,10]
    ……..
    indicator1 = LinearRegression[34](close)
    indicator1 = LinearRegression[89](close)

    Ora ho modificato mettendo indicator2 per la regressione lineare a 34 periodi e indicator3 per la regressione lineare a 89 periodi; inoltre, nel reverse non ho inserito di entrare in posizione quando il supertrend cambia colore (perchè avendo già cambiato colore da più di una barra evidentemente non me lo considera) ma quando il prezzo è sopra o sotto il supertrend in concordanza con le regressioni.

    Grazie ancora per tutto ma soprattutto scusa per i miei errori.

    Ti allego il codice definitivo:

    DEFPARAM FLATAFTER=210000 // replace closetime condition
     
    ONCE PositionType = 0     //1=Long   2=Short (servce per vedere il tipo di trade precedente)
    BegTime=081000
    EndTime=095500
     
    MyContracts=1
     
    indicator1 = SuperTrend[3,10]
    c1 = (close > indicator1)
    c2 = (close < indicator1)
    c3 = (close crosses over indicator1)
    c4 = (close crosses under indicator1)
    indicator2 = LinearRegression[34](close)
    indicator3 = LinearRegression[89](close)
    c5 = (indicator2 > indicator3)
    c6 = (indicator2 < indicator3)
     
    if intradaybarindex=0 then
    maxSetup = 0
    minSetup = 0
    tradethisday=0
    PositionType = 0
    elsif barindex=tradeindex then
    tradethisday=1
    endif
    //---------------------------------------------------------------------------------------
    // questo è lo Stop & Reverse (preso da https://www.prorealcode.com/topic/stopreverse/)
    IF NOT ONMARKET THEN
    IF POSITIONPERF(1)<0 AND positiontype=2 and c5 and c1 THEN //qui devi aggiungere le tue condizioni per LONG
    BUY MyContracts CONTRACTS AT MARKET
    ENDIF
    IF POSITIONPERF(1)<0 AND positiontype=1 and c6 and c2 then //qui devi aggiungere le tue condizioni per SHORT
    SELLSHORT MyContracts CONTRACTS AT MARKET
    ENDIF
    ENDIF
    //---------------------------------------------------------------------------------------
    //individuo maz e minimo prima ora
    if time = 081000 then
    max10minuti=High
    min10minuti=Low
    endif
     
    If Time >= BegTime and Time <= EndTime and tradethisday=0 and c1 then
    if maxSetup=0 then
    maxSetup = max10minuti
    endif
    Buy mycontracts contract at maxSetup stop
    PositionType = 1
    endif
     
    If Time >= BegTime and Time <= EndTime and tradethisday=0 and c2 then
    if minsetup=0 then
    minSetup = min10minuti
    endif
    SellShort mycontracts  contract at minSetup stop
    PositionType = 2
    endif
     
    If LongOnMarket and c4 then
    Sell at market
    elsif ShortOnMarket and c3 then
    ExitShort at market
    endif
    set target pprofit 9
    
    robertogozzi thanked this post
    #46674 quote
    R05
    Participant
    Veteran

    Gent.mo Roberto oggi, avendo montato il sistema in reale, ho notato che c’è qualcosa che sembrerebbe non andare. Infatti la prima operazione è stata effettuata alle 8:50 senza rispettare il setup ma poi nel reverse il sistema  mi ha fatto aprire consecutivamente diverse operazioni long una dietro l’altra. Ti allego i file con le operazioni.

    Mi aiuteresti a capire come mai questa situazione?

    Ti ringrazio

    #46678 quote
    robertogozzi
    Moderator
    Master

    Hai dimenticato gli allegati.

    Ad ogni modo non è un pò presto per mettere la strategia in reale? Io le testo in demo dai 6 ai 12 mesi, prima di provarle in reale.

    #46680 quote
    R05
    Participant
    Veteran

    Hai ragione scusami, te li posto

    #46684 quote
    R05
    Participant
    Veteran

    Si hai ragione però dato che dal backtest non dava errori particolari e che sono solo 9 punti di guadagno e che li fa nella maggioranza dei casi, con 1 dax 1 euro 1 punto ho pensato che grosse perdite non le avrebbe date, così mi sono buttato.

    #46686 quote
    robertogozzi
    Moderator
    Master

    Ho provato con la versione di cui sopra (post #46464) sul conto reale (solo in backtest) ed oggi mi ha aperto due operazioni, una short alle 08:50 ed una long alle 09:20, sul DAX mini (1 €) e TF 10 minuti, come puoi vedere dal riepilogo.

    Verifica di non avere modificato involontariamente qualche parte del codice.

    #46689 quote
    mamio
    Participant
    Veteran

    Buongiorno, vi sto seguendo dall’inizio, complimenti per l’ottimo sistema! Ho provato a fare il backtest sul Dax €1 e questa è la equity che mi risulta. Da metà agosto sta andando benissimo, sembra una scalinata! Nei periodi precedenti invece ha sofferto un grosso drawdown. Risulta anche a voi?

    #46691 quote
    R05
    Participant
    Veteran

    Come al solito anche questa volta hai ragione: ho sbagliato io; nel reverse non so per quale motivo ma mancava come condizione di entrata anche che il prezzo deve essere sopra o sotto il supertrend. Risolto, montato quello corretto. Eppure sopra lo avevo allegato!

    Ti ringrazio di tutto.

    #46692 quote
    robertogozzi
    Moderator
    Master

    Salve mamio, in effetti prima di agosto la performance è meno brillante. Ad ogni modo l’ho testata dal marzo 2016 fino ad oggi e nel complesso mi sembra buona.

    Ognuno può provare a fare modifiche per cercare di migliorarla, costa un pò di tempo e fatica, ma sicuramente può tornare utile.

    #46695 quote
    R05
    Participant
    Veteran

    Una cosa che si potrebbe provare a fare, come possibile idea, dato che quando entra in reverse raramente prende 2 stop di fila, provare ad entrare con il reverse con 2 contratti in modo da limitare la perdita del primo stop e vedere come va. Come diceva giustamente Roberto occorre fare un pò di prove poi dipende anche il periodo che si prende in considerazione e credo anche dalla fortuna di lanciare il sistema nel momento giusto: nel tuo caso mamio averlo lanciato poco dopo la metà di agosto sarebbe stato eccezionale ma averlo lanciato già qualche giorno prima si andava subito sotto. Un pò come è successo oggi a me: l’ho lanciato e subito stop.

    #48130 quote
    R05
    Participant
    Veteran

    Gent.mi riprendo questa strategia in quanto ho notato che lo spread alle 8 influenza e non poco l’equity line. Premetto che chi mi ha esposto tale strategia l’ha sperimentata sui mercati regolamentati e non sui CFD , laddove sicuramente non c’è lo spread di 2 punti, ma si entra in posizione solo se effettivamente quel prezzo viene battuto (o perlomeno così mi è stato detto). Ora, fermo restando che la strategia è comunque buona, in quanto da dei risultati soddisfacenti, vorrei proporre una variante da testare: e cioè quella di entrare LONG non alla rottura del massimo dei 10 minuti ma quando raggiunge il minimo dei 10 minuti; e viceversa per lo SHORT in modo anche da avere un rischio rendimento più favorevole (in tal caso si può anche vedere se si possono fare più punti).

    Quindi per meglio spiegarmi:

    Barra 10 minuti ad esempio:

    1. massimo 12500
    2. minimo 12490
    3. entrata long a 12490 e non a 12500
    4. entrata short a 12500 e non a 12490

    Fermo restando sempre le altre condizioni: supertrend, regressioni, stop and revers.

    Ho provato a modificare il codice nel seguente modo ma mi fa entrare sempre alle 8:10 all’apertura della candela e non dove vorrei io (ho solo messo nelle condizioni di entrata long il minsetup e viceversa per l’entrata short) .

    Mi aiutereste?

    Comunque se può essere utile, la stessa strategia applicata ai primi 15 minuti però a partire dalle 9 e con uno spread di 1 (dato che IG dalle 9 alle 17:30 quota 1 di spread) sembra essere anche più redditizia, per il solo fatto però che dalle 8 alle 9 quota 2 punti di spread.

    //-------------------------------------------------------------------------
    // Codice principale : Breakout 10 minuti con reverse
    //-------------------------------------------------------------------------
    DEFPARAM FLATAFTER=210000 // replace closetime condition
     
    ONCE PositionType = 0     //1=Long   2=Short (servce per vedere il tipo di trade precedente)
    BegTime=081000
    EndTime=095500
     
    MyContracts=1
     
    indicator1 = SuperTrend[3,10]
    c1 = (close > indicator1)
    c2 = (close < indicator1)
    c3 = (close crosses over indicator1)
    c4 = (close crosses under indicator1)
    indicator2 = LinearRegression[34](close)
    indicator3 = LinearRegression[89](close)
    c5 = (indicator2 > indicator3)
    c6 = (indicator2 < indicator3)
     
    if intradaybarindex=0 then
    maxSetup = 0
    minSetup = 0
    tradethisday=0
    PositionType = 0
    elsif barindex=tradeindex then
    tradethisday=1
    endif
    //---------------------------------------------------------------------------------------
    // questo è lo Stop & Reverse (preso da https://www.prorealcode.com/topic/stopreverse/)
    IF NOT ONMARKET THEN
    IF POSITIONPERF(1)<0 AND positiontype=2 and c5 and c1 THEN //qui devi aggiungere le tue condizioni per LONG
    BUY MyContracts CONTRACTS AT MARKET
    ENDIF
    IF POSITIONPERF(1)<0 AND positiontype=1 and c6 and c2 then //qui devi aggiungere le tue condizioni per SHORT
    SELLSHORT MyContracts CONTRACTS AT MARKET
    ENDIF
    ENDIF
    //---------------------------------------------------------------------------------------
    //individuo maz e minimo prima ora
    if time = 081000 then
    max10minuti=High
    min10minuti=Low
    endif
     
    If Time >= BegTime and Time <= EndTime and tradethisday=0 and c1 then
    if minSetup=0 then
    minSetup = min10minuti
    endif
    Buy mycontracts contract at minSetup stop
    PositionType = 1
    endif
     
    If Time >= BegTime and Time <= EndTime and tradethisday=0 and c2 then
    if maxsetup=0 then
    maxSetup = max10minuti
    endif
    SellShort mycontracts  contract at maxSetup stop
    PositionType = 2
    endif
     
    If LongOnMarket and c4 then
    Sell at market
    elsif ShortOnMarket and c3 then
    ExitShort at market
    endif
    set target pprofit 9
    
Viewing 15 posts - 16 through 30 (of 33 total)
  • You must be logged in to reply to this topic.

Breakout dei primi 10 minuti


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
R05 @r05 Participant
Summary

This topic contains 32 replies,
has 3 voices, and was last updated by R05
8 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/12/2017
Status: Active
Attachments: 5 files
Logo Logo
Loading...