Breakout dei primi 10 minuti
Forums › ProRealTime forum Italiano › Supporto ProOrder › Breakout dei primi 10 minuti
- This topic has 32 replies, 3 voices, and was last updated 7 years ago by R05.
-
-
09/17/2017 at 5:18 PM #46421
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.
09/17/2017 at 8:21 PM #4643309/17/2017 at 8:31 PM #46435Anche 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?
09/17/2017 at 11:05 PM #46438Il 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.
09/18/2017 at 9:44 AM #46464Gent.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:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465DEFPARAM FLATAFTER=210000 // replace closetime conditionONCE PositionType = 0 //1=Long 2=Short (servce per vedere il tipo di trade precedente)BegTime=081000EndTime=095500MyContracts=1indicator1 = 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 thenmaxSetup = 0minSetup = 0tradethisday=0PositionType = 0elsif barindex=tradeindex thentradethisday=1endif//---------------------------------------------------------------------------------------// questo è lo Stop & Reverse (preso da https://www.prorealcode.com/topic/stopreverse/)IF NOT ONMARKET THENIF POSITIONPERF(1)<0 AND positiontype=2 and c5 and c1 THEN //qui devi aggiungere le tue condizioni per LONGBUY MyContracts CONTRACTS AT MARKETENDIFIF POSITIONPERF(1)<0 AND positiontype=1 and c6 and c2 then //qui devi aggiungere le tue condizioni per SHORTSELLSHORT MyContracts CONTRACTS AT MARKETENDIFENDIF//---------------------------------------------------------------------------------------//individuo maz e minimo prima oraif time = 081000 thenmax10minuti=Highmin10minuti=LowendifIf Time >= BegTime and Time <= EndTime and tradethisday=0 and c1 thenif maxSetup=0 thenmaxSetup = max10minutiendifBuy mycontracts contract at maxSetup stopPositionType = 1endifIf Time >= BegTime and Time <= EndTime and tradethisday=0 and c2 thenif minsetup=0 thenminSetup = min10minutiendifSellShort mycontracts contract at minSetup stopPositionType = 2endifIf LongOnMarket and c4 thenSell at marketelsif ShortOnMarket and c3 thenExitShort at marketendifset target pprofit 91 user thanked author for this post.
09/20/2017 at 10:11 AM #46674Gent.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
09/20/2017 at 10:33 AM #46678Hai 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.
09/20/2017 at 10:37 AM #4668009/20/2017 at 10:40 AM #46684Si 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.
09/20/2017 at 11:08 AM #46686Ho 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.
09/20/2017 at 11:19 AM #46689Buongiorno, 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?
09/20/2017 at 11:24 AM #46691Come 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.
09/20/2017 at 11:53 AM #46692Salve 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.
09/20/2017 at 12:11 PM #46695Una 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.
10/03/2017 at 2:57 PM #48130Gent.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:
- massimo 12500
- minimo 12490
- entrata long a 12490 e non a 12500
- 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.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768//-------------------------------------------------------------------------// Codice principale : Breakout 10 minuti con reverse//-------------------------------------------------------------------------DEFPARAM FLATAFTER=210000 // replace closetime conditionONCE PositionType = 0 //1=Long 2=Short (servce per vedere il tipo di trade precedente)BegTime=081000EndTime=095500MyContracts=1indicator1 = 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 thenmaxSetup = 0minSetup = 0tradethisday=0PositionType = 0elsif barindex=tradeindex thentradethisday=1endif//---------------------------------------------------------------------------------------// questo è lo Stop & Reverse (preso da https://www.prorealcode.com/topic/stopreverse/)IF NOT ONMARKET THENIF POSITIONPERF(1)<0 AND positiontype=2 and c5 and c1 THEN //qui devi aggiungere le tue condizioni per LONGBUY MyContracts CONTRACTS AT MARKETENDIFIF POSITIONPERF(1)<0 AND positiontype=1 and c6 and c2 then //qui devi aggiungere le tue condizioni per SHORTSELLSHORT MyContracts CONTRACTS AT MARKETENDIFENDIF//---------------------------------------------------------------------------------------//individuo maz e minimo prima oraif time = 081000 thenmax10minuti=Highmin10minuti=LowendifIf Time >= BegTime and Time <= EndTime and tradethisday=0 and c1 thenif minSetup=0 thenminSetup = min10minutiendifBuy mycontracts contract at minSetup stopPositionType = 1endifIf Time >= BegTime and Time <= EndTime and tradethisday=0 and c2 thenif maxsetup=0 thenmaxSetup = max10minutiendifSellShort mycontracts contract at maxSetup stopPositionType = 2endifIf LongOnMarket and c4 thenSell at marketelsif ShortOnMarket and c3 thenExitShort at marketendifset target pprofit 9 -
AuthorPosts
Find exclusive trading pro-tools on