CHIUSURA POSIZIONE SU TIMEFRAME DIVERSO
Forums › ProRealTime forum Italiano › Supporto ProOrder › CHIUSURA POSIZIONE SU TIMEFRAME DIVERSO
- This topic has 6 replies, 2 voices, and was last updated 3 years ago by supermyguel.
-
-
01/27/2021 at 8:44 PM #159610
Buonasera
Ho creato un TS in cui l’apertura delle posizioni (sia long che short) è su timeframe 5minuti.
Una seconda parte del codice prevede l’uscita di metà posizione ad un determinato livello e contestualmente fissa la chiusura dell’altra metà ad un determinato parametro in base ad high e low.
Il codice intero su TF 5minuti funziona perfettamente….non riesco però ad assegnare TF1 minuto per la seconda parte. E’ un’istruzione possibile?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778if not onmarket thenhalfposition=0endifif time >= StartE And time <= StartL and OTD thenIF miacondizione1 thenbuy N shares AT MARKEThalfposition=1SET STOP %LOSS 0.92//SET STOP PTRAILING TSLSET TARGET %PROFIT 0.98elseif miacondizione2 thensellshort N shares at markethalfposition=1SET STOP %LOSS 0.92//SET STOP PTRAILING TSLSET TARGET %PROFIT 0.98endifendifendif//DA QUA IN AVANTI DEVE ESSERE TIMEFRAME 1M//partial=(N/2)chiusuraparziale= (positionprice*10000*0.0025)livellolong= (close-positionprice)*10000livelloshort= (positionprice-close)*10000if not onmarket thenmassimo=0minimo=0endifIf longonmarket and halfposition=2 and high > massimo thenmassimo = highendifIf shortonmarket and halfposition=2 and low<minimo thenminimo = lowendifIf halfposition=1 thenIf longonmarket and livellolong*pipsize > chiusuraparziale*pipsize thensell partial shares at markethalfposition=2massimo=highendifIf shortonmarket and livelloshort*pipsize > chiusuraparziale*pipsize thenexitshort partial shares at markethalfposition=2minimo=lowendifendifIf Not OnMarket ThenNewSL = 0endifif longonmarket and halfposition=2 ThenNewSL = positionprice+(5*pipsize)endifif shortonmarket and halfposition=2 thenNewSl=positionprice-(5*pipsize)endifIf newSL>0 thenif longonmarket thennewSL= max (newSL, (massimo-(17*pipsize)))elsif shortonmarket thennewSL=min (newSL, (minimo+(17*pipsize)))Endifendif//timeframe (1mn)If NewSL > 0 ThenSELL at NewSL StopEXITSHORT at NewSL StopEndif01/28/2021 at 10:41 AM #159647Se hai già indicato TIMEFRAME(5 minute,UpdateOnClose) nella prima parte, basta che metti:
1TIMEFRAME(default)alla riga 23.
Se non l’hai indicato, dovrai indicare all’inizio (subito dopo i vari DEFPARAM… se ne hai messi):
1TIMEFRAME(5 minute,UpdateOnClose)C’è solo un problema, NON puoi usare le stesse variabili in diversi timeframe. Quindi HALFPOSITION (e anche altre, se ci sono) non puoi usarla sia sul 5 minuti che su 1 minuto.
Se cerchi MTF o MULTI TIME FRAME, potrai trovare articoli del Blog, post e moltissimi codici che usano più TF nel codice per capire come fare.
01/28/2021 at 11:27 AM #159653Grazie Roberto (come sempre disponibilissimo….)
Assegnando una variabile alternativa ad HALFPOSITION sono riuscito a far “digerire” il TF.
Quando faccio il backtest noto che, ad esempio per il mese corrente, entra in posizione un giorno si e dieci no….. mentre se faccio il test con il TF 5 minuti entra ogni giorno.
Se non sbaglio la riduzione del TF genera meno storicità ma non dovrebbe influenzare gli altri TF? Cioè se faccio un test con 10k candele 5 minuti o 50k 1 minuto l’apertura delle posizioni dovrebbe essere la medesima? E dovrebbe essere solo la chiusura parziale/totale ad essere diversa giusto?
01/28/2021 at 12:17 PM #159669No, non può essere la stessa, perché sono diverse le uscite, quindi può capitare che sul 5 minuti la posizione risulti ancora aperta, mentre su 1 minuti si era chiusa 3-4 minuti prima.
Non è possibile fare un confronto, puoi forse andarci vicino, ma non di più.
01/28/2021 at 12:35 PM #159671Quello che non capisco è perchè le APERTURE sono diverse….. in entrambi le versioni (tutto 5m o 5m/1m) il timeframe di riferimento per entrare long/short è il 5 minuti quindi dovrebbero essere le stesse….e differenziarsi sulle chiusure (che è quello che certo difatti)
Ma con il Tf 5+1 passano giorni e giorni senza alcuna posizione aperta…..
01/28/2021 at 12:38 PM #159673Probabilmente dipende da come hai messo le variabili, senza il codice non so dirti.
01/28/2021 at 2:52 PM #159692In allegato i codici completi con timeframe 5minuti e timeframe 5minuti+1minuti
Grazie
-
AuthorPosts
Find exclusive trading pro-tools on