Barra prima ora
Forums › ProRealTime forum Italiano › Supporto ProOrder › Barra prima ora
- This topic has 20 replies, 4 voices, and was last updated 6 years ago by JR1976.
Tagged: prima ora
-
-
11/16/2017 at 5:15 PM #53037
Buonasera a tutti, vi chiedo, gentilmente, aiuto per un sistema che segua il seguente metodo:
- time frame orario
- si prendono in considerazione il massimo e il minimo della prima ora, quella delle 8
- si attende la chiusura di una candela sopra o sotto il massimo o il minimo
- si apre la posizione: quindi, se ad esempio il massimo della prima ora del dax è 13300 e in una qualsiasi candela successiva, al massimo alle 17:00 (dopo l’apertura americana) il prezzo chiude sopra questo massimo si compra subito alla candela successiva; viceversa per lo short.
- lo stop 5 punti sopra il massimo o sotto il minimo
- primo target l’estensione della candela della prima ora dove si chiude parte della posizione; poi si segue in trailing stop
Mi aiutereste?
11/16/2017 at 5:48 PM #53043Provo a scriverti una strategia. Tuttavia PRT non consente la chiusura parziale di posizioni.
11/16/2017 at 6:15 PM #53047Eccola, però non ho capito dove mettere il Target Profit, per cui ho indicato i punti interrogativi, mettici te quello che vuoi, o dimmi esattamente cosa significa estenzione della barra delle 8.
1234567891011121314151617DEFPARAM CumulateOrders = falseDEFPARAM FlatAfter = 180000 //Puoi indicare una data oltre la quale le posizioni aperte vengono chiuseIF time = 090000 THEN //Al termine della candela dell8 rileva Minimo/MassimoMassimo = highMinimo = lowENDIFIF time >= 090000 AND time <= 170000 THENIF close > Massimo THENSET STOP LOSS Minimo - (5 * pipsize)SET TARGET PROFIT ???BUY 1 CONTRACTS AT MARKETELSIF close > Massimo THENSET STOP LOSS Massimo + (5 * pipsize)SET TARGET PROFIT ???SELLSHORT 1 CONTRACTS AT MARKETENDIFENDIF11/16/2017 at 6:21 PM #5304811/16/2017 at 6:24 PM #53049Vedendo meglio fa anche più operazioni al giorno. L’operazione è unica o meglio una sola long e una sola short al giorno, nel senso che se prima ad esempio di mattina c’è il setup per il long va long, ma se nel pomeriggio c’è il setup per lo short può andare anche short.
11/16/2017 at 6:39 PM #53052Eccola, l’ho provata sul DAX ad 1 ora e funziona:
1234567891011121314151617181920212223242526DEFPARAM CumulateOrders = falseDEFPARAM FlatAfter = 180000 //Puoi indicare una data oltre la quale le posizioni aperte vengono chiuseONCE Rialzo = 1 //Predisporre affinché possa fare tradare LONGONCE Ribasso = 1 //Predisporre affinché possa fare tradare SHORTIF IntraDayBarIndex = 0 THENRialzo = 1 //All'inizio del giorno resettare le variabili al valore di defaultRibasso = 1ENDIFIF time = 090000 THEN //Al termine della candela dell8 rileva Minimo/MassimoMassimo = highMinimo = lowProfitto = rangeENDIFIF time >= 090000 AND time <= 170000 THENIF close > Massimo AND Rialzo THENSET STOP LOSS Minimo - (5 * pipsize)SET TARGET PROFIT ProfittoBUY 1 CONTRACTS AT MARKETRialzo = 0 //Settare la variabile a ZERO per impedire ulteriori operazioni LONGELSIF close > Massimo AND Ribasso THENSET STOP LOSS Massimo + (5 * pipsize)SET TARGET PROFIT ProfittoSELLSHORT 1 CONTRACTS AT MARKETRibasso = 0 //Settare la variabile a ZERO per impedire ulteriori operazioni SHORTENDIFENDIF11/16/2017 at 6:51 PM #53053Ti ringrazio tanto Roberto. Ho notato due cose:
- non chiude la posizione in stop sotto il minimo o sopra il massimo di 5 punti
- non apre sempre la posizione: ad esempio il 7, 9, 10 e 13 novembre pur essendoci il setup il sistema rimane fermo
11/17/2017 at 12:02 AM #53066Scusami, ma le righe 15 e 20 erano identiche (sia per i LONG che per gli SHORT). Non me n’ero accorto dopo il copia e incolla che avevo fatto!!!!
Ho fatto anche una modifica alle righe 17 e 22.
Adesso fa anche i trade mancanti che avevi segnalato.
Fai ulteriori verifiche e fammi sapere.
1234567891011121314151617181920212223242526DEFPARAM CumulateOrders = falseDEFPARAM FlatAfter = 180000 //Puoi indicare una data oltre la quale le posizioni aperte vengono chiuseONCE Rialzo = 1 //Predisporre affinché possa fare tradare LONGONCE Ribasso = 1 //Predisporre affinché possa fare tradare SHORTIF IntraDayBarIndex = 0 THENRialzo = 1 //All'inizio del giorno resettare le variabili al valore di defaultRibasso = 1ENDIFIF time = 090000 THEN //Al termine della candela dell8 rileva Minimo/MassimoMassimo = highMinimo = lowProfitto = range * pipsizeENDIFIF time >= 090000 AND time <= 170000 THENIF close > Massimo AND Rialzo THENSET STOP LOSS Minimo - (5 * pipsize)SET TARGET PROFIT close + ProfittoBUY 1 CONTRACTS AT MARKETRialzo = 0 //Settare la variabile a ZERO per impedire ulteriori operazioni LONGELSIF close < Minimo AND Ribasso THENSET STOP LOSS Massimo + (5 * pipsize)SET TARGET PROFIT close - ProfittoSELLSHORT 1 CONTRACTS AT MARKETRibasso = 0 //Settare la variabile a ZERO per impedire ulteriori operazioni SHORTENDIFENDIF11/17/2017 at 9:10 AM #53086Modifica la riga 14 così:
1IF time >= 090000 AND time <= 170000 AND (not OnMarket) THENperché ho notato che cambia il backtest, probabilmente entro l’orario specificato, anche se siamo già a mercato, può darsi che lo SL e TP vengano comunque valutati e magari cambiati anche ad operazione in corso. Non ne sono certo, ma qualcosa cambia tra la riga com’era sul mio post precedente e come l’ho messa adesso.
Per il resto mi sembra funzioni tutto correttamente.
11/17/2017 at 6:31 PM #5312711/17/2017 at 6:46 PM #53130Forsze è perché non raggiunge quel livello di prezzo, almeno a me è sembrato così.
Magari ci sarà bisogno di testarla per un pò per verificarlo bene.
11/19/2017 at 6:07 PM #5324509/23/2018 at 12:25 PM #81108Eccola, l’ho provata sul DAX ad 1 ora e funziona:
1234567891011121314151617181920212223242526DEFPARAM CumulateOrders = falseDEFPARAM FlatAfter = 180000 //Puoi indicare una data oltre la quale le posizioni aperte vengono chiuseONCE Rialzo = 1 //Predisporre affinché possa fare tradare LONGONCE Ribasso = 1 //Predisporre affinché possa fare tradare SHORTIF IntraDayBarIndex = 0 THENRialzo = 1 //All’inizio del giorno resettare le variabili al valore di defaultRibasso = 1ENDIFIF time = 090000 THEN //Al termine della candela dell8 rileva Minimo/MassimoMassimo = highMinimo = lowProfitto = rangeENDIFIF time >= 090000 AND time <= 170000 THENIF close > Massimo AND Rialzo THENSET STOP LOSS Minimo – (5 * pipsize)SET TARGET PROFIT ProfittoBUY 1 CONTRACTS AT MARKETRialzo = 0 //Settare la variabile a ZERO per impedire ulteriori operazioni LONGELSIF close > Massimo AND Ribasso THENSET STOP LOSS Massimo + (5 * pipsize)SET TARGET PROFIT ProfittoSELLSHORT 1 CONTRACTS AT MARKETRibasso = 0 //Settare la variabile a ZERO per impedire ulteriori operazioni SHORTENDIFENDIFBuongiorno, sto facendo un sistema simile, e vorrei che gli ordini non fossero market ma al prezzo massimo della chiusura della prima ora. Ho guardato il backtest ed i prezzi vengono invece eseguiti al prezzo massimo della barra precedente a quella che esegue l’ordine. Come andrebbe scritto un codice del genere in questa strategia?
09/23/2018 at 1:45 PM #81118La logica sembra corretta, l’esaminerò con più tempo.
Quello che è errato è il settaggio del Target e dello Stop.
PROFIT e LOSS vogliono che sia indicata una distanza in prezzo, ad esempio 0.0080, PPROFIT e PLOSS vogliono che la distanza sia indicata in Pips, ad esempio 80. Mentre tu indichi un prezzo, non una differenza.
09/23/2018 at 2:36 PM #81120La logica sembra corretta, l’esaminerò con più tempo.
Quello che è errato è il settaggio del Target e dello Stop.
PROFIT e LOSS vogliono che sia indicata una distanza in prezzo, ad esempio 0.0080, PPROFIT e PLOSS vogliono che la distanza sia indicata in Pips, ad esempio 80. Mentre tu indichi un prezzo, non una differenza.
nella mia il profit va bene a punti, ma ho visto che i buy lumit e gli ordini non vengonono rispettati come dovrebbero
-
AuthorPosts
Find exclusive trading pro-tools on