Sistema breakout
Forums › ProRealTime forum Italiano › Supporto ProOrder › Sistema breakout
- This topic has 20 replies, 2 voices, and was last updated 5 years ago by robertogozzi.
-
-
09/03/2019 at 10:17 AM #106340
Ciao Roberto io ho il seguente sistema che cerca di usare lo zig zag appositamente creato, ovviamente non da me. Premetto che in queste prove sto usando il dax time frame 30 secondi con zig zag settato a 12 punti. Il sistema ha però delle lacune che io non riesco proprio a risolvere. Te le elenco:
- Il sistema apre la posizione alla chiusura della candela, mi spiego meglio: una volta individuati i punti A, B e C, qualora una candela chiuda sopra il punto B mi entra all’apertura della candela successiva con conseguente entrata in taluni casi molto ritardata; a me serve che entri direttamente alla rottura del punto B (ti allego come esempio il file “esempio1” della giornata del 28 agosto alle ore 09:01)
- In data 29 agosto alle 9:38:30 il sistema ha fatto un’operazione long che non doveva fare mentre invece avrebbe dovuto fare l’operazione short delle 9:26 cosa che non ha fatto (ti allego come esempio il file “esempio2”)
Ti ringrazio.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225DEFPARAM preloadbars=6000DEFPARAM CumulateOrders = TrueDEFPARAM FlatBefore = 090000DEFPARAM FlatAfter = 173000//------------parametri trading system----------once contratti=1once stoploss=40once targetprofit=50once pivotmargine=5once livellobreakeven=100once betargetprofit=5once stoplossSAR=45once targetprofitSAR=50once maxritardozig30s=500once punti30s=12once maxstoploss30s=30once tscmin=10once tstop=8once contr=contrattilz, sz, sarz, sarsl, llvl, slvl, line0 = CALL "Zig-Zag ottimizzato"[1, 12, 4, 30, 1, 40, 90000, 215500, 1, 0]//------------------------------------once pm=pivotmargineclose0=close[0]dh=dhigh(1)dl=dlow(1)dc=dclose(1)P=(dh+dl+dc)/3pR1=2*P-dlpS1=2*P-dhpR2=P+dh-dlpS2=P+dl-dhpR3=dh+2*(P-dl)pS3=dl-2*(dh-P)t=timeposperf=positionperf(0)cpos=countofposition[0]cpos1=countofposition[1]posix=positionprice[0]c2 = lz CROSSES OVER llvlc3 = lz <= line0c4 = sz CROSSES UNDER slvlc5 = sz >= line0c7=sarz>0c8=sarz<=0c9=sarsl<0c10=sarsl>0c11=posperf<0once az2=close0once pz12=close0once pz22=close0once zmax2=1once zmin2=1once amax2=close0once amin2=close0if t mod 100 = 0 thencl1=cl0cl0=close0amax2=max(amax2,cl0)amin2=min(amin2,cl0)if amax2-cl0>=punti30s and zmin2 thenzmax2=1zmin2=0pz22=pz12pz12=az2az2=amax2amin2=cl0operato2=0endifif cl0-amin2>=punti30s and zmax2 thenzmax2=0zmin2=1pz22=pz12pz12=az2az2=amin2amax2=cl0operato2=0endifokstop=abs(pz22-pz12)<=maxstoploss30sendiflong30s=zmin2 and cl0>pz12 and cl1<=pz12 and az2>=pz22 and not operato2 and okstopshort30s=zmax2 and cl0<pz12 and cl1>=pz12 and az2<=pz22 and not operato2 and okstopif long30s thenzig30s=1operato2=1elsif short30s thenzig30s=-1operato2=1elsezig30s=0endif// Condizioni per entrare su posizioni longonce okl=0l=c2l2=cpos<>0 AND c2IF (c7 or c11) and l2 THENcontr=max(cpos,contratti)*1tl=close0+targetprofitSARsl=stoplossSARokl=1elsif (summation[maxritardozig30s](l)>0 and zig30s=1) or (summation[maxritardozig30s](zig30s=1)>0 and l)thencontr=contrattitl=close0+targetprofitsl=stoplossokl=1elseokl=0ENDIFif okl thenif P<=tl and tl<=P+pm thentp=p-close0elsif pr1<=tl and tl<=pr1+pm thentp=pr1-close0elsif pr2<=tl and tl<=pr2+pm thentp=pr2-close0elsif ps1<=tl and tl<=ps1+pm thentp=ps1-close0elsif ps2<=tl and tl<=ps2+pm thentp=ps2-close0elsif pr3<=tl and tl<=pr3+pm thentp=pr3-close0elsif ps3<=tl and tl<=ps3+pm thentp=ps3-close0elsetp=tl-close0endifBUY contr CONTRACT AT MARKETtrailst=0be=0ENDIF// Condizioni per entrare su posizioni shortonce oks=0s=c4s2=cpos<>0 AND c4IF (c8 or c11) and s2 THENcontr=max(cpos,contratti)*1tl=close0-targetprofitSARsl=stoplossSARoks=1elsif (summation[maxritardozig30s](s)>0 and zig30s=-1)or (summation[maxritardozig30s](zig30s=-1)>0 and s) thencontr=contrattitl=close0-targetprofitsl=stoplossoks=1elseoks=0ENDIFif oks thenif P-pm<=tl and tl<=P+pm thentp=close-pelsif pr1-pm<=tl and tl<=pr1+pm thentp=close0-pr1elsif pr2-pm<=tl and tl<=pr2+pm thentp=close0-pr2elsif ps1-pm<=tl and tl<=ps1+pm thentp=close0-ps1elsif ps2-pm<=tl and tl<=ps2+pm thentp=close0-ps2elsif pr3-pm<=tl and tl<=pr3+pm thentp=close0-pr3elsif ps3-pm<=tl and tl<=ps3+pm thentp=close0-ps3elsetp=close0-tlendifSELLSHORT contr CONTRACT AT MARKETtrailst=0be=0endifif cpos>0 thenif cpos1<=0 thenslcl=posix-sltscl=posix+tscminprezzots=slclendifif close0>=posix+livellobreakeven and not be thenslcl=posix+betargetprofitbe=1endifif close0>=tscl and not trailst thenprezzots=close0-tstoptrailst=1endifif trailst thenprezzots=max(prezzots,close0-tstop)endifif trailst or be thenprezzoexit=max(prezzots,slcl)SELL AT prezzoexit STOPendifelsif cpos<0 thenif cpos1>=0 thenslcs=posix+sltscl=posix-tscminprezzots=slcsendifif close0<=posix-livellobreakeven and not be thenslcs=posix-betargetprofitbe=1endifif close0<=tscl and not trailst thenprezzots=close0+tstoptrailst=1endifif trailst thenprezzots=min(prezzots,close0+tstop)endifif trailst or be thenprezzoexit=min(prezzots,slcs)EXITSHORT AT prezzoexit STOPendifelsetrailst=0be=0endif// Condizioni per uscire da posizioni longIF c3 OR c9 THENSELL AT MARKETENDIF// Condizioni per uscire da posizioni shortIF c5 OR c10 THENEXITSHORT AT MARKETENDIF// Stop e targetSET STOP pLOSS slSET TARGET pPROFIT tp09/04/2019 at 10:36 AM #106455Mi serve l’indicatore, postalo oppure indica un link dove trovarlo (purché tu non l’abbia modificato, altrimenti devi postare il tuo).
09/04/2019 at 11:16 AM #106467Si Roberto grazie ti allego l’indicatore.
Poi volevo, gentilmente, aggiungere due cose:
- vorrei che il sistema facesse lo stop and reverse in modo da recuperare subito la perdita (ma mi sa che il sistema già in parte lo fa anche se non so con quali criteri)
- lo stop loss deve essere poco sotto il punto C per avere una perdita inferiore
09/05/2019 at 8:36 AM #106552Lo ZigZag è un indicatore REPAINTING, cioè che torna indietro per modificare l’aspetto sul grafico al verificarsi di certe condizioni, cosa non possibile nelle strategie. Quindi, insieme ad alcuni altri (tipo DPO) NON può essere utilizzato con ProOrder.
09/05/2019 at 9:09 AM #106556Ok Roberto grazie comunque.
Un’ultima cosa riguardante lo zig zag: a questo link https://www.prorealcode.com/courses/prorealtime-advanced-programming/ potrei imparare sulla programmazione delle cose avanzate tra cui appunto la possibilità di creare ad hoc un indicatore zig zag: la domanda è: se dovessi fare il corso e imparare a creare l’indicatore zig zag, questo, poi, lo posso usare in un’eventuale strategia automatica?
09/05/2019 at 9:59 AM #106562Si, qui Nicolas dice di averlo scritto proprio per il corso ed è utilizzabile in strategie https://www.prorealcode.com/topic/zigzag-indicator-not-working-for-backtesting/#post-71509.
Anche questo, fatto con i frattali, funziona nelle strategie https://www.prorealcode.com/prorealtime-indicators/fractals-zigzag/ ed una versione modificata https://www.prorealcode.com/prorealtime-indicators/multi-fractals-zigzag-highlow/.
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on