Aiuto con definizione Stop Loss
Forums › ProRealTime forum Italiano › Supporto ProOrder › Aiuto con definizione Stop Loss
- This topic has 6 replies, 2 voices, and was last updated 7 years ago by Giggetto82.
-
-
06/01/2017 at 11:29 AM #37214
Buongiorno a tutti,
sono nuovo del forum, quindi anzitutto complimenti per il lavoro che fate qui, è già da qualche settimana che vi leggo e ho trovato diversi spunti interessanti per le mie piccole programmazioni in ProReal.
Avrei bisogno di supporto per la creazione di un doppio stop su un sistema che sto testando. Mi spiego meglio, il sistema sfrutta le inversioni di mercato quindi oltre ad uno stop in pips, vorrei che il sistema chiudesse l’operazione se la candela di apertura non va in direzione del trade (anche se non ha ancora raggiunto lo stoploss). Spero di essermi espresso correttamente.
Vi metto di seguito l’intero codice, così forse rendo più chiare le cose…
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748Defparam cumulateorders = falseDEFPARAM FLATBEFORE = 090000DEFPARAM FLATAFTER = 110000//Vincolo di ritracciamento al 50% del movimento inizialeSetupRangeLong= (open[3]- close[1])*0.5MyRangeLong= close-openIF MyRangeLong>= SetupRangeLong thenallowtradelong= 0endifif MyRangeLong<= SetupRangeLong thenallowtradelong= 1endifSetupRangeShort= (close[1]- open[3])*0.5MyRangeShort= open-closeIF MyRangeShort>= SetupRangeShort thenallowtradeshort= 0endifif MyRangeShort<= SetupRangeShort thenallowtradeshort= 1endif//fine// REV4B longca1 = close > open and close[1] < open[1] and close[2] < open[2] and close[3] < open[3]ca2 = LOW[1]< LOW[2] AND LOW[2]< LOW[3]IF NOT ONMARKET AND ca1 AND ca2 and allowtradelong= 1 THENBuy at market nextbaropenENDIF// Rev4B Shortcv1 = close < open and close[1] > open[1] and close[2] > open[2] and close[3] > open[3]cv2 = HIGH[1]> HIGH[2] AND HIGH[2]> HIGH[3]IF NOT ONMARKET AND cv1 AND cv2 and allowtradeshort= 1 THENsellshort at market nextbaropenENDIF// Stop e target in pipsSET STOP pLOSS 10SET TARGET pPROFIT 10Grazie in anticipo a chiunque riesca a darmi una mano!
06/01/2017 at 4:45 PM #37243Penso questa versione modificata possa andare bene, io l’ho provata solo per evitare errori di scrittura.
Ho modificato le tue righe 10-16 e 21-27 con una semplice espressione.
Ho pure tolto alla linee 34 e 42 la verifica ONMARKET perché avendo richiesti di non effettuare più di un trade, all’inizio, sono superflue:
Exit trades when conditions change1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Defparam cumulateorders = falseDEFPARAM FLATBEFORE = 090000DEFPARAM FLATAFTER = 110000//Vincolo di ritracciamento al 50% del movimento iniziale - LONGSetupRangeLong= (open[3]- close[1])*0.5MyRangeLong = close-open//IF MyRangeLong>= SetupRangeLong then//allowtradelong= 0//endif//if MyRangeLong<= SetupRangeLong then//allowtradelong= 1//endifallowtradelong = (MyRangeLong <= SetupRangeLong) //allowtradelong = 0 if false, 1 if true//Vincolo di ritracciamento al 50% del movimento iniziale - SHORTSetupRangeShort= (close[1]- open[3])*0.5MyRangeShort= open-close//IF MyRangeShort>= SetupRangeShort then//allowtradeshort= 0//endif//if MyRangeShort<= SetupRangeShort then//allowtradeshort= 1//endifallowtradeshort = (MyRangeShort <= SetupRangeShort) //allowtradeshort = 0 if false, 1 if true//fine// REV4B longca1 = close > open and close[1] < open[1] and close[2] < open[2] and close[3] < open[3]ca2 = LOW[1]< LOW[2] AND LOW[2]< LOW[3]IF ca1 AND ca2 and allowtradelong = 1 THENBuy at market nextbaropenENDIF// Rev4B Shortcv1 = close < open and close[1] > open[1] and close[2] > open[2] and close[3] > open[3]cv2 = HIGH[1]> HIGH[2] AND HIGH[2]> HIGH[3]IF cv1 AND cv2 and allowtradeshort= 1 THENsellshort at market nextbaropenENDIF// ------ close positions when conditions reverseIF LongOnMarket THENIF (NOT ca1) OR (NOT ca2) THENSell at market //close LONG trades before SL is triggeredENDIFENDIFIF ShortOnMarket THENIF (NOT cv1) OR (NOT cv2) THEN //close SHORT trades before SL is triggeredExitshort at marketENDIFENDIF// Stop e target in pipsSET STOP pLOSS 10SET TARGET pPROFIT 1006/05/2017 at 9:59 AM #37451Ciao Robertogozzi,
grazie per la risposta!
Testo subito le modifiche che mi hai indicato e ti faccio sapere.
Grazie ancora!
06/05/2017 at 10:30 AM #37456Ciao Robertogozzi, le modifiche che mi hai indicato funzionano alla perfezione! Ti ringrazio moltissimo!
Scusami se approfitto, ma visto che sto testando questo sistema anche in multiday (con le relative modifiche) e sto trovando difficoltà a impostare il divieto di apertura la domenica, possiamo parlarne qui o devo aprire un altro topic?
Grazie ancora e buona giornata!
06/05/2017 at 11:43 AM #37473Puoi visitare https://www.prorealcode.com/documentation/dayofweek/, anche se non indica il numero dei giorni restituiti, che è:
1 = lunedì
2 = martedì
3 = mercoledì
4 = giovedì
5 = venerdìNon so se:
6 = sabato
7 = domenicaPerché ho provato a crere un indicatore con la semplice riga:
1return DayOfWeekma ottengo risultati strani.
Ad ogni modo puoi testare che
1DayOfWeeksia maggiore di 5 per saltare il fine settimana.
Per gli orari, puoi usare le altre funzioni apposite oppure per essere certi che nessuna operazione (anche in presenza di condizioni soddisfatte) inizi prima di un certo orario o/e sia sempre chiusa ad un certo orario puoi utilizzare, all’inizio della strategia:
12DFEPARAM FlatBefore = 070000 //non aprire operazioni prima delle 07:00:00DEFPARAM FlatAfter = 230000 //chiudi ogni operazione aperta alle 23:00:00La documentazione PRT non è molto esaustiva, ma puoi utilizzare l’apposito strumento Google Search sulla barra in alto per trovare esempi, informazioni ecc… Buon trading.
06/05/2017 at 11:45 AM #37474Scusa, sopra la riga 1 è errata, quella corretta è:
1DEFPARAM FlatBefore = 070000 //non aprire operazioni prima delle 07:00:00Ciao.
06/05/2017 at 3:04 PM #37486Ci lavoro subito!
Grazie ancora!
-
AuthorPosts
Find exclusive trading pro-tools on