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/12/2017 at 6:38 PM #46057
Salve a tutti, vi chiedo, gentilmente, aiuto, per il trading system seguente: in pratica si entra al breakout della candela dei primi 10 minuti sul massimo o sul minimo se il supertrend è concorde con la direzione; sono riuscito a mettere il codice però avrei bisogno di:
- il sistema entra in posizione solo alle 8:10 ; il problema è che quando il breakout concorde col supertrend avviene dopo tale orario il sistema non interviene
- dovrei impostare uno stop and reverse nel caso mi vada in stop settato quando il supertrend cambia colore: per meglio spiegarmi lo stop iniziale è quando il supertrend cambia colore e nello stesso tempo in cui prende lo stop mi entra con un’operazione contraria
Vi ringrazio
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253Defparam cumulateorders = trueDefparam flatafter = 093000n = 1if intradaybarindex=0 thentraded = 0endifIF Time = 081000 THENhaut = highest[1](high)bas = lowest[1](low)ENDIFindicator1 = SuperTrend[3,10]c1 = (close > indicator1)c2 = (close < indicator1)c3 = (close crosses over indicator1)c4 = (close crosses under indicator1)if Time > 080000 AND Time <= 093000 THENif traded=0 then// condizioni per entrare longIF not longonmarket THENif c1 thenbuy n share at haut stoptraded=1ENDIFif LongOnMarket and c3 thensell at marketendif// condizioni per entrare shortIF not shortonmarket THENif c2 thensellshort n share at bas stoptraded=1ENDIFif shortOnMarket and c4 thenexitshort at marketendifENDIFset target pprofit 9endifendifendif09/14/2017 at 11:02 AM #46208Buongiorno a tutti, rivedendo meglio la strategia che ho postato sopra, avendo impostato un solo ordine al giorno, lo stop loss quando il supertrend cambia colore non me lo prende ma la chiusura avviene sempre alle 9:30 orario in cui il sistema si interrompe, oltre al fatto che apre la posizione solo alla candela delle 8:10 se si verifica il breakout (se il breakout si verifica alle 8:40 non mi apre nessuna posizione).
Il fatto è che se tolgo la condizione di fare un solo ordine al giorno, mi apre più trade al giorno ogni volta che la condizione di breakout si verifica.
Inoltre, quando prende lo stop, aprire una posizione contraria per cercare di recuperare non me la farebbe fare, dato che mi deve fare un solo ordine al giorno.
Mi aiutereste a trovare una soluzione?
09/14/2017 at 7:01 PM #46232Ho modificato la strategia nel modo seguente, e sono riuscito a risolvere il problema dell’apertura nel senso che adesso mi apre la posizione anche dopo le 8:10 e solo una e anche la chiusura della stessa quando il supertrend cambia di colore.
Solo che ora, non so perchè, ma in alcuni casi la prima operazione che soddisfa le condizioni non me la apre ma mi apre il trade quando si ripresentano le condizioni la seconda volta.
Nell’esempio allegato devrebbe aprire il trade alle 8:10 dove c’è il cursore ma invece la apre successivamente e questo capita più di una volta.
Quale potrebbe essere, gentilmente, il problema?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960DEFPARAM FLATAFTER=215500 // replace closetime conditionBegTime=081000EndTime=095500MyContracts=1indicator1 = SuperTrend[3,10]c1 = (close > indicator1)c2 = (close < indicator1)c3 = (close crosses over indicator1)c4 = (close crosses under indicator1)SkipDay=dayofweek<>5if intradaybarindex=0 thenmaxSetup = 0minSetup = 0tradethisday=0elseif barindex=tradeindex thentradethisday=1endifendif//individuo maz e minimo prima oraif time = 082000 thenmax10minuti=Highmin10minuti=Lowendifif time > 080000 and time <= 081000 thenif High > max10minuti thenmax10minuti = Highendifif Low < min10minuti thenmin10minuti = LowendifendifIf Time >= BegTime and Time <= EndTime and SkipDay and tradethisday=0 and c1 thenif maxSetup=0 thenmaxSetup = max10minutiendifBuy mycontracts contract at maxSetup stopendifIf Time >= BegTime and Time <= EndTime and SkipDay and tradethisday=0 and c2 thenif minsetup=0 thenminSetup = min10minutiendifSellShort mycontracts contract at minSetup stopendifIf LongOnMarket and c4 thenSell at marketelsif ShortOnMarket and c3 thenExitShort at marketendifset target pprofit 909/15/2017 at 2:12 PM #46269Alle righe 26-29 (ore 08:20) sovrascrivi SEMPRE eventuali valori rilevati precedentemente (08:00-08:10) alle righe 30-37, è corretto che faccia così?
09/15/2017 at 2:51 PM #46274Gentilissimo Roberto ti ringrazio della risposta. Le righe 26-29 in effetti ho sbagliato: mettendo 8:10 va bene, mi fa aprire correttamente.
Riguardo invece alle righe 30-37 onestamente non saprei di preciso cosa dicono; io ho cercato e ho trovato un altro codice di breakout e su quello poi ho cercato di costruirmi il codice della mia strategia.
Comunque avendo modificato 8:10 va bene e mi fa chiudere la posizione anche quando il supertrend cambia colore.
Sembra tutto risolto.
Però per concludere questo sistema, se posso chiederti, sarebbe opportuno esserci la possibilità che quando prende lo stop di andare a ribasso quando si verifica un’ulteriore condizione, una delle quali è quando il supertrend cambia colore ed è concorde con la regressione lineare a 34 e 89 periodi.
Mi aiuteresti, gentilmente, a capire come aprire una posizione quando prende uno stop?
09/15/2017 at 4:36 PM #4628109/15/2017 at 5:00 PM #46282Però per quanto riguarda le righe 30-37 toglile, non servono a niente, potrebbero andare bene per un TF piccolo, ad esempio 1 minuto, ma ci sarebbe un sistema molto più semplice per farlo:
12min10minuti = lowest[10](low)max10minuti = highest[10](high)ma, ripeto, non serve sul TF a 10 minuti, perché devi verificare il Min/Max di una sola candela e vanno bene le righe che hai già cambiato con 081000.
Per lo stop vedo appena ho un pò di tempo e ti farò sapere.
09/15/2017 at 5:03 PM #4628309/15/2017 at 9:26 PM #46299Questo è modificato con lo Stop & Reverse, però devi aggiungere te le condizioni desiderate, dove ho indicato con un commento:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061DEFPARAM 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)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 THEN //qui devi aggiungere le tue condizioni per LONGBUY MyContracts CONTRACTS AT MARKETENDIFIF POSITIONPERF(1)<0 AND positiontype=1 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 9Provalo.
09/17/2017 at 1:21 PM #4639709/17/2017 at 1:35 PM #4639809/17/2017 at 1:49 PM #4640309/17/2017 at 1:57 PM #46404Forse hai fatto qualche errore di scrittura, verificala ed eventualmente posta solo quella riga.
Così com’è non vedo errori.
09/17/2017 at 2:26 PM #46409Ciao Roberto si scusa avevo sicuramente fatto io qualche errore. Il tuo codice funziona benissimo.
Solo due cose:
- lasciando il tuo codice senza aggiungere o modificare nulla, ma fa fare lo stop and reverse solo che l’entrata in posizione avviene alla candela successiva e non subito al prezzo in cui ho preso lo stop.
- se aggiungo le mie condizioni si sfasa un pò tutto (ti allego il codice con le mie aggiunte per vedere se ho sbagliato qualcosa.
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)indicator1 = LinearRegression[34](close)indicator2 = LinearRegression[89](close)c5 = (indicator1 > indicator2)c6 = (indicator1 < indicator2)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 c3 and c5 THEN //qui devi aggiungere le tue condizioni per LONGBUY MyContracts CONTRACTS AT MARKETENDIFIF POSITIONPERF(1)<0 AND positiontype=1 and c4 and c6 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 9
09/17/2017 at 2:41 PM #46412 -
AuthorPosts
Find exclusive trading pro-tools on