Richiesta aiuto per settaggio TARGET PROFIT
Forums › ProRealTime forum Italiano › Supporto ProOrder › Richiesta aiuto per settaggio TARGET PROFIT
- This topic has 116 replies, 2 voices, and was last updated 5 years ago by robertogozzi.
-
-
04/12/2019 at 6:48 PM #96299
ciao,
allora… io avevo capito che LOW[0] è il minimo dell’ultima candela completata (ne avevamo parlato e mi avevi confermato che era così… io infatti sbagliavo e spostavo indietro tutti i ragionamenti di una candela, pensando che la candela zero fosse quella in corso)
mentre sto scrivendo mi è venuta in mente una cosa… ma non si dovrebbe “fissare” come ho fatto per il massimo dandogli il nome “Prezzo” (riga 43) per portarmelo dietro, anche il minimo per tenerlo valido candela dopo candela in attesa di entrare in posizione ?
magari dopo la riga 44 (prima della funzione ENDIF) posso metterci un valore del tipo Azzeramento = LOW[0] e me lo porto dietro dicendo poi all’inizio alla riga 13 “IF OnMarket OR CLOSE < Azzeramento THEN”
Potrebbe funzionare ?
dimmi, ti prego. 😉
grazie.
04/12/2019 at 7:09 PM #96303Mi spieghi perché continui a mettere [0], va bene che non fa differenza, ma visivamente può confondere?
Ad ogni modo tu puoi salvare in in in un’altra variabile anche il minimo, certo.
Ma, ripeto, cosa intendi fare con la condizione che risultava sbagliata, perché l’hai messa, quale minimo volevi confrontare con CLOSE?
04/12/2019 at 8:43 PM #96304ciao,
adesso seguendo i tuoi consigli ho dato una ripulita al codice togliendo gli zeri che potevano essere fuorvianti. (ed allego l’ultimissima versione con la modifica che ho apportato).
Ho inoltre salvato una nuova variabile alla riga 45 denominata MinimoPat che, analogamente alla variabile Prezzo, la utilizzo per entrare o non entrare in posizione.
Fissando la variabile Prezzo io attendo giorno dopo giorno il superamento di tale valore per aprire una posizione Long. Fissando invece la variabile MinimoPat io attendo giorno dopo giorno che il prezzo non scenda sotto tale valore per poter considerare valido il mio eventuale ingresso Long.
Purtroppo però non funziona ancora. Sicuramente perché non la sto abbinando al giusto comando IF 🙁
Allego una immagine per meglio chiarire il funzionamento del pattern.
Il pattern si compone di 6 candele (che vanno dal 7 settembre al 14 settembre). Con l’apparire della prima barra verde dell’oscillatore (in basso) in data 14 avviene il mio setup. Nei giorni successivi a partire da data 15 ho un ordine pendente Long che scatterà al superamento del massimo della candela avente la prima barra verde (data 14). Purché nel frattempo il prezzo non scenda sotto il minimo sempre della candela del 14 (evento questo che farebbe annullare il pattern e quindi anche l’ordine pendente).
Quindi in data 15 ho avuto un minimo inferiore al minimo del 14 e l’ingresso Long in data 18 non doveva avvenire.
Vorrei dire al sistema che nell’attesa di entrare Long se il prezzo scende sotto li valore della variabile di riga 45 non bisogna più entrare long. (cioè non bisogna più ripetere per il giorno successivo l’ordine di acquisto).
Questo è un punto veramente cruciale per chi come me vuole tradare con i pattern di prezzo poiché molte configurazioni (come ad esempio anche un semplicissimo HAMMER) prevedono l’ingresso al superamento del massimo del pattern ed il “reset” allo sfondamento del minimo del pattern.
Mi dai per favore qualche suggerimento su come procedere ?
GRAZIE.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576//PARAMETRI//inserire qui sotto tutti i parametri BASE del codice// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateMioRischio = 100 //importo massimo in euro che voglio rischiare per ogni singola operazionePercStop1 = 0.50 //attiva il pareggio al 50% del profitto//PercStop2 = 0.80 //attiva lo SL a metà del profitto quanto questo ragguinge l'80%//DEFPARAM FlatAfter = 220000 //Range orario DOPO il quale non bisogna più essere in posizione (eventuale)//DEFPARAM FLATBEFORE = 090000 //Range orario PRIMA del quale non bisogna ancora essere in posizione (eventuale)//INSERIRE EVENTUALE PARAMETRO DAY OF THE WEEK PER ULTERIORE FILTRO DA TESTAREONCE Flag = 0IF OnMarket OR CLOSE < MinimoPat THENFlag=0 //Azzerare il prezzo serve a non inserire ancora l'ordine pendente...ENDIF //... una volta entrato oppure quando non ci sono più le condizioni//IF Not OnMarket THEN//BreakEven = 0//ENDIF//CONDIZIONI//inserire qui sotto tutte le condizioni che caratterizzano il pattern o la strategia da tradareAO=Average[5](MedianPrice)-Average[34](MedianPrice)Cond1 = AO[0]>AO[1] AND AO[0]<0Cond2 = AO[1]<AO[2] AND AO[1]<0Cond3 = AO[2]<AO[3] AND AO[2]<0Cond4 = AO[3]<AO[4] AND AO[3]<0Cond5 = AO[4]<0CondTOT = Cond1 AND Cond2 AND Cond3 AND Cond4 AND Cond5 //Condizione globale da tradareIF CondTOT THENFlag = 1ENDIF//COMPORTAMENTI//inserire qui sotto come si deve comportare la strategia quando è ONMARKETIF CondTOT THENTargetProfit = (HIGH - LOW)/pipsize //VALORE in PIPS del mio TARGET INIZIALEPrezzo = HIGH //VALORE al quale si entra in posizione se vengono soddisfatte TUTTE le CONDIZIONIStopLoss = (HIGH - LOW)/pipsize //VALORE in PIPS dello STOP LOSS INIZIALEMinimoPat = LOWENDIFMoltiplicatore = (MioRischio/(StopLoss*Prezzo)/pipsize) //QUANTITA' dello strumento da negoziare per avere in caso di perdita un valore//corrispondente a MIORISCHIO (nei parametri iniziali)IF not onmarket AND Flag THENBUY Moltiplicatore lots AT (Prezzo+0.0000) STOP //Ordine automatico di ENTRATA LONG in posizione con eventuale aggiunta di pipsENDIF//IF LongOnMarket AND ((close - Tradeprice) >= (TargetProfit * PercStop2)) THEN//IF LongOnMarket THEN//Breakeven = max(BreakEven,Tradeprice + (TargetProfit / 2)) //mettere al sicuro il 50% del profitto (è un BreakEven + metà profitto)//ENDIF//ENDIFIF LongOnMarket AND ((close - Tradeprice) >= (TargetProfit * PercStop1)) THENBreakeven = TradepriceENDIFIF LongOnMarket THENSELL Moltiplicatore lots AT Breakeven STOPENDIFSET STOP pLOSS StopLoss//SET STOP pTRAILING TargetProfitgraph Moltiplicatore04/12/2019 at 8:44 PM #9630504/12/2019 at 9:19 PM #96309ciao,
intanto ti posso confermare che la formula del moltiplicatore che adesso ho sistemato funziona benissimo !! 🙂
Moltiplicatore = (MioRischio/(StopLoss/Prezzo)/pipsize)
e tiene conto perfettamente di quanto sono diposto a perdere per ogni singola operazione (MioRischio riga 6) rapportato a quanti pips intercorrono tra il mio prezzo di ingresso Long e il mio SL, considerando anche il prezzo di acquisto della valuta.
ti allego una videata dove ho affiancato la lista degli ordini con le posizioni chiuse e si vede chiaramente che il sistema mi calcola di volta in volta una quantità diversa da acquistare e la perdita ottenuta (ad esempio 8 marzo, 2 giugno e 5 luglio 2016 come date di ingresso Long) divisa per il relativo prezzo di acquisto-entry mi da sempre 100 (che è il mio limite massimo di perdita sopportabile impostato alla riga 6).
Spero di poter sistemare presto, con il tuo aiuto ovviamente, anche il discorso “cancellazione ordine” per poi passare allo spostamento stop in Breakeven ed iniziare con qualche backtest serio :):)
Grazie.
04/12/2019 at 9:33 PM #96311Perché alla riga 13 hai messo CLOSE, in effetti la chiusura era > del minimo.
Se vuoi che FLAG venga azzerato e non entri devi mettere LOW al posto di CLOSE:
1IF OnMarket OR Low < MinimoPat THEN04/13/2019 at 2:48 PM #96348Ciao,
adesso funziona magnificamente !!! 🙂 🙂 🙂
con il tuo suggerimento sul LOW anziché Close alla riga 13 mi hai permesso di risolvere quel problema che mi tormentava da alcuni giorni.
adesso che il sistema rileva perfettamente il setup in base alle condizioni di riga 22, che entra preciso mantenendo l’ordine valido anche per i giorni successivi e, sopratutto, che si “resetta” in caso di discesa del prezzo sotto il minimo del pattern, mi manca solo la sistemazione relativa alla gestione della posizione aperta.
ho letto e riletto il tuo post del 21 marzo dove mi fornivi e mi spiegavi per la prima volta la gestione dello spostamento in Breakeven.
poiché la tua versione era completa per la gestione long e short, sia per lo stop in pari che per il 50% del profitto, io ho momentaneamente ridotto le istruzioni per poter comprendere (e gestire), per adesso, solo lo spostamento dello stop in pari per la versione LONG.
Dalla riga 65 alla riga 71 del codice che ho allegato ci dovrebbero essere tali istruzioni, che però non funzionano, perché molto probabilmente ho combinato qualche imprecisione nella fase di copia/incolla, nonostante ci abbia messo la massima attenzione.
potresti per favore controllare se le istruzioni messe così sono corrette ed eventualmente suggerirmi le modifiche da apportare ?
inoltre, seguendo il tuo consiglio del LOW-CLOSE di ieri, mi domando se alla riga 65 sia corretto dire (Close-Tradeprice) anziché (High-Tradeprice). Sembrerebbe che lo spostamento dello stop in pari debba avvenire quando la differenza tra la prima chiusura ed il prezzo dell’operazione sia maggiore del 50% del target. Mentre lo spostamento, secondo me, dovrebbe avvenire nel momento in cui il prezzo raggiunge un valore massimo intraday (anche se non confermato in chiusura) la cui differenza con il traditrice è almeno il 50% del target. Quindi High-Trade e non Close-Trade. E’ corretto il mio ragionamento ?
resto in attesa di qualche tuo consiglio su come procedere con la sistemazione di questo ultimo problema.
Grazie ancora per tutto. 🙂
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677//PARAMETRI//inserire qui sotto tutti i parametri BASE del codice// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateMioRischio = 100 //importo massimo in euro che voglio rischiare per ogni singola operazionePercStop1 = 0.50 //attiva il pareggio al 50% del profitto//PercStop2 = 0.80 //attiva lo SL a metà del profitto quanto questo ragguinge l'80%//DEFPARAM FlatAfter = 220000 //Range orario DOPO il quale non bisogna più essere in posizione (eventuale)//DEFPARAM FLATBEFORE = 090000 //Range orario PRIMA del quale non bisogna ancora essere in posizione (eventuale)//INSERIRE EVENTUALE PARAMETRO DAY OF THE WEEK PER ULTERIORE FILTRO DA TESTAREONCE Flag = 0IF OnMarket OR LOW < MinimoPat THENFlag=0 //Azzerare il prezzo serve a non inserire ancora l'ordine pendente...ENDIF //... una volta entrato oppure quando non ci sono più le condizioni//IF Not OnMarket THEN//BreakEven = 0//ENDIF//CONDIZIONI//inserire qui sotto tutte le condizioni che caratterizzano il pattern o la strategia da tradareAO=Average[5](MedianPrice)-Average[34](MedianPrice)Cond1 = AO[0]>AO[1] AND AO[0]<0Cond2 = AO[1]<AO[2] AND AO[1]<0Cond3 = AO[2]<AO[3] AND AO[2]<0Cond4 = AO[3]<AO[4] AND AO[3]<0Cond5 = AO[4]<0CondTOT = Cond1 AND Cond2 AND Cond3 AND Cond4 AND Cond5 //Condizione globale da tradareIF CondTOT THENFlag = 1ENDIF//COMPORTAMENTI//inserire qui sotto come si deve comportare la strategia quando è ONMARKETIF CondTOT THENTargetProfit = (HIGH - LOW)/pipsize //VALORE in PIPS del mio TARGET INIZIALEPrezzo = HIGH //VALORE al quale si entra in posizione se vengono soddisfatte TUTTE le CONDIZIONIStopLoss = (HIGH - LOW)/pipsize //VALORE in PIPS dello STOP LOSS INIZIALEMinimoPat = LOWENDIFMoltiplicatore = (MioRischio/(StopLoss/Prezzo)/pipsize) //QUANTITA' dello strumento da negoziare per avere in caso di perdita un valore//corrispondente a MIORISCHIO (nei parametri iniziali)IF not onmarket AND Flag THENBUY Moltiplicatore lots AT (Prezzo+0.0000) STOP //Ordine automatico di ENTRATA LONG in posizione con eventuale aggiunta di pipsENDIF//IF LongOnMarket AND ((close - Tradeprice) >= (TargetProfit * PercStop2)) THEN//IF LongOnMarket THEN//Breakeven = max(BreakEven,Tradeprice + (TargetProfit / 2)) //mettere al sicuro il 50% del profitto (è un BreakEven + metà profitto)//ENDIF//ENDIFIF LongOnMarket AND ((close - Tradeprice) >= (TargetProfit * PercStop1)) THENBreakeven = TradepriceENDIFIF LongOnMarket THENSELL Moltiplicatore lots AT Breakeven STOPENDIFSET STOP pLOSS StopLoss//SET STOP pTRAILING TargetProfitgraph Moltiplicatore04/13/2019 at 3:08 PM #96356Una verifica la farò dopo il fine settimana, per quanto riguarda la tua osservazione su ” (Close-Tradeprice) anziché (High-Tradeprice)” hai ragione, dipende unicamente dalla tua scelta. Così com’è il codice verifica solo la chiusura, per cui può colpire lo stop loss e poi tornare indietro e la tua strategia non se ne accorgerebbe. Facendo la modifica che hai suggerito (come è in realtà quando fai trading manuale) basta che HIGH (o LOW per l’opposto) colpisca lo stop loss.
04/13/2019 at 3:18 PM #96357Ciao,
ok, benissimo. Finalmente sto incominciando a ragionare come vuole il sistema.
Adesso modifico subito Close con High e vedo che succede e provo anche a fare autonomamente qualche prova 🙂
Avevo disattivato le righe 17-18-19 e forse anche quelle possono influire… adesso vedo.
Resto quindi in attesa di poter leggere le soluzioni che mi suggerirai dopo che avrai riletto e testato il mio ultimo codice che ho allegato al post precedente e ti auguro buon weekend.
ciao.
Grazie mille !!
04/15/2019 at 10:21 AM #96488Ciao,
durante tutto il weekend ho effettuato numerose prove, cercando di trovare dei “casi limite” per vedere se il sistema reagiva in modo corretto ed effettivamente è sempre andato tutto bene (mantenimento del valore MioRischio, entrate al superamento del High anche nei giorni successivi, “cancellazione” dell’ordine allo sfondamento del Low…).
Adesso mancherebbe effettivamente solo più la gestione della posizione con lo spostamento in breakeven ed aventualmente il secondo step al raggiungimento del 80% del target.
Resto in attesa, quando puoi, di tue indicazioni su come codificare il codice a tal proposito.
(ho comunque ripreso il tuo post dove mi avevi già indicato come procedere con il discorso del breakeven, ma evidentemente non sono riuscito ad effettuare le giuste correzioni).
GRAZIE !!
04/15/2019 at 10:37 AM #96489Questo è il codice modificato (nel post successivo ti indico le modifiche fatte):
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475//PARAMETRI//inserire qui sotto tutti i parametri BASE del codice// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateMioRischio = 100 //importo massimo in euro che voglio rischiare per ogni singola operazionePercStop1 = 0.50 //attiva il pareggio al 50% del profitto//PercStop2 = 0.80 //attiva lo SL a metà del profitto quanto questo ragguinge l'80%//DEFPARAM FlatAfter = 220000 //Range orario DOPO il quale non bisogna più essere in posizione (eventuale)//DEFPARAM FLATBEFORE = 090000 //Range orario PRIMA del quale non bisogna ancora essere in posizione (eventuale)//INSERIRE EVENTUALE PARAMETRO DAY OF THE WEEK PER ULTERIORE FILTRO DA TESTAREIF Not OnMarket THENBreakEven = 0ENDIFONCE Flag = 0IF OnMarket OR LOW < MinimoPat THENFlag=0 //Azzerare il prezzo serve a non inserire ancora l'ordine pendente...ENDIF //... una volta entrato oppure quando non ci sono più le condizioni//IF Not OnMarket THEN//BreakEven = 0//ENDIF//CONDIZIONI//inserire qui sotto tutte le condizioni che caratterizzano il pattern o la strategia da tradareAO=Average[5](MedianPrice)-Average[34](MedianPrice)Cond1 = AO[0]>AO[1] AND AO[0]<0Cond2 = AO[1]<AO[2] AND AO[1]<0Cond3 = AO[2]<AO[3] AND AO[2]<0Cond4 = AO[3]<AO[4] AND AO[3]<0Cond5 = AO[4]<0CondTOT = Cond1 AND Cond2 AND Cond3 AND Cond4 AND Cond5 //Condizione globale da tradareIF CondTOT THENFlag = 1ENDIF//COMPORTAMENTI//inserire qui sotto come si deve comportare la strategia quando è ONMARKETIF CondTOT AND Not LongOnMarket THENTargetProfit = (HIGH - LOW)/pipsize //VALORE in PIPS del mio TARGET INIZIALEPrezzo = HIGH //VALORE al quale si entra in posizione se vengono soddisfatte TUTTE le CONDIZIONIStopLoss = (HIGH - LOW)/pipsize //VALORE in PIPS dello STOP LOSS INIZIALEMinimoPat = LOWENDIFMoltiplicatore = (MioRischio/(StopLoss/Prezzo)/pipsize) //QUANTITA' dello strumento da negoziare per avere in caso di perdita un valore//corrispondente a MIORISCHIO (nei parametri iniziali)IF not onmarket AND Flag THENBUY Moltiplicatore lots AT (Prezzo+0.0000) STOP //Ordine automatico di ENTRATA LONG in posizione con eventuale aggiunta di pipsENDIF//IF LongOnMarket AND ((close - Tradeprice) >= (TargetProfit * PercStop2)) THEN//IF LongOnMarket THEN//Breakeven = max(BreakEven,Tradeprice + (TargetProfit / 2)) //mettere al sicuro il 50% del profitto (è un BreakEven + metà profitto)//ENDIF//ENDIFIF LongOnMarket AND ((close - Tradeprice) >= ((TargetProfit * PercStop1) * pipsize)) THENBreakeven = TradepriceENDIFIF LongOnMarket AND BreakEven THEN//SELL Moltiplicatore lots AT Breakeven STOPSELL AT Breakeven STOPENDIFSET STOP pLOSS StopLossSET TARGET pPROFIT TargetProfit//SET STOP pTRAILING TargetProfit//graph close-tradeprice//graph targetprofit*pipsize//graph (targetprofit*percstop1) * pipsize//graph breakeven//graph tradeprice//graph Moltiplicatore//graph MioRischio//graph StopLoss//graph Prezzo//graphonprice AO coloured(0,0,0,255) AS "ao"//graphonprice AO[1] coloured(0,0,0,255) AS "a01"//graphonprice AO[2] coloured(0,0,0,255) AS "a02"//graphonprice AO[3] coloured(0,0,0,255) AS "a03"//graphonprice AO[4] coloured(0,0,0,255) AS "a04"//graphonprice AO[5] coloured(0,0,0,255) AS "ao5"04/15/2019 at 10:42 AM #96490Ho aggiunto le righe 11-13 per azzerare BreakEven, altrimenti se lo porta dietro anche dopo la chiusura di un’operazione.
Alla riga 35 ho aggiunto AND Not LongOnMarket per evitare che il target e lo stop si modifichino mentre un’operazione è in corso.
La riga 55 l’ho commentata ed ho aggiunto la 56 perché non è consentita, per il momento, una chiusura parziale. Vanno chiuse tutte le posizioni aperte.
Ho aggiunto la riga 59, altrimenti non mi chiudeva le operazioni e non riuscivo a fare il test correttamente.
Vedi te cosa rimane, forse il discorso dell’80% perché non l’ho verificato.
04/15/2019 at 11:04 AM #96492Grandissimo !! Grazie mille veramente 🙂
Tra poco inizio subito con nuovi test per vedere come e quando le operazioni che prima chiudevo in perdita si chiuderanno con una performance pari a zero, proprio per capire bene dove interviene lo spostamento e di quanto mi permette di migliorare la performance.
Poi ci sentiremo eventualmente per l’ultimo step del 80% (anche se proverò comunque a sistemarlo da solo e solo dopo a chiedere un tuo intervento 🙂 )
Grazie ancora ! Il tuo intervento è stato determinante come sempre.
Buona giornata.
04/15/2019 at 10:34 PM #9654312345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364//PARAMETRI//inserire qui sotto tutti i parametri BASE del codice// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateMioRischio = 100 //importo massimo in euro che voglio rischiare per ogni singola operazionePercStop1 = 0.50 //attiva il pareggio al 50% del profittoPercStop2 = 0.80 //attiva lo SL a metà del profitto quanto questo ragguinge l'80%//DEFPARAM FlatAfter = 220000 //Range orario DOPO il quale non bisogna più essere in posizione (eventuale)//DEFPARAM FLATBEFORE = 090000 //Range orario PRIMA del quale non bisogna ancora essere in posizione (eventuale)//INSERIRE EVENTUALE PARAMETRO DAY OF THE WEEK PER ULTERIORE FILTRO DA TESTAREIF Not OnMarket THENBreakEven = 0ENDIFONCE Flag = 0IF OnMarket OR LOW < MinimoPat THENFlag=0 //Azzerare il prezzo serve a non inserire ancora l'ordine pendente...ENDIF //... una volta entrato oppure quando non ci sono più le condizioni//IF Not OnMarket THEN//BreakEven = 0//ENDIF//CONDIZIONI//inserire qui sotto tutte le condizioni che caratterizzano il pattern o la strategia da tradareAO=Average[5](MedianPrice)-Average[34](MedianPrice)Cond1 = AO[0]>AO[1] AND AO[0]<0Cond2 = AO[1]<AO[2] AND AO[1]<0Cond3 = AO[2]<AO[3] AND AO[2]<0Cond4 = AO[3]<AO[4] AND AO[3]<0Cond5 = AO[4]<0CondTOT = Cond1 AND Cond2 AND Cond3 AND Cond4 AND Cond5 //Condizione globale da tradareIF CondTOT THENFlag = 1ENDIF//COMPORTAMENTI//inserire qui sotto come si deve comportare la strategia quando è ONMARKETIF CondTOT AND Not LongOnMarket THENTargetProfit = (HIGH - LOW)/pipsize //VALORE in PIPS del mio TARGET INIZIALEPrezzo = HIGH //VALORE al quale si entra in posizione se vengono soddisfatte TUTTE le CONDIZIONIStopLoss = (HIGH - LOW)/pipsize //VALORE in PIPS dello STOP LOSS INIZIALEMinimoPat = LOWENDIFMoltiplicatore = (MioRischio/(StopLoss/Prezzo)/pipsize) //QUANTITA' dello strumento da negoziare per avere in caso di perdita un valore//corrispondente a MIORISCHIO (nei parametri iniziali)IF not onmarket AND Flag THENBUY Moltiplicatore lots AT (Prezzo+0.0000) STOP //Ordine automatico di ENTRATA LONG in posizione con eventuale aggiunta di pipsENDIF//IF LongOnMarket AND ((High - Tradeprice) >= (TargetProfit * PercStop2)) THEN//IF LongOnMarket THEN//Breakeven = max(BreakEven,Tradeprice + (TargetProfit / 2)) //mettere al sicuro il 50% del profitto (è un BreakEven + metà profitto)//ENDIF//ENDIFIF LongOnMarket AND ((High - Tradeprice) >= (TargetProfit * PercStop2)*pipsize) AND Breakeven=1 THENIF LongOnMarket THENBreakeven = max(Breakeven,Tradeprice + (TargetProfit / 2))ENDIFENDIFIF LongOnMarket AND ((High - Tradeprice) >= (TargetProfit * PercStop1)*pipsize) AND Breakeven=0 THENBreakeven = TradepriceENDIFIF OnMarket THENSELL AT Breakeven STOPENDIFSET STOP pLOSS StopLoss//SET TARGET pPROFIT TargetProfit//SET STOP pTRAILING TargetProfitFunziona BENISSIMO !!!! 🙂 🙂
Dopo aver visto “magicamente” la comparsa di tutta una serie di operazioni chiuse in pari per ogni mio test e dopo aver passato tutto il giorno a visionare decine di operazioni cercando di trovare eventuali problemi residui (che al momento non si sono verificati), ho voluto provare in prima persona a mettere mano al tuo codice per aggiungere il secondo step del famoso 80%.
Partendo dal tuo prezioso post del 21 marzo at 12:35 dove per la prima volta mi indicavi come procedere nella gestione della posizione con gli spostamenti dei target/breakeven, ho cercato di fare un copia/incolla ragionato per capire dove e come intervenire.
Ammetto che senza le tue indicazioni non ci sarei mai e poi mai arrivato a programmare tutti quegli IF/ENDIF…
Adesso però, oltre a chiederti di dare uno sguardo al nuovo codice (specialmente alle righe da 51 a 62) vorrei come ultima cosa, per il momento, avere una indicazione su come e dove inserire un “SET STOP pTRAILING”.
Il programma quindi dovrebbe:
- al raggiungimento del 50% del target profit iniziale spostare lo SL dal minimo della candela di setup al prezzo di acquisto (e questo lo fa già perfettamente!)
- al raggiungimento del 80% del target profit iniziale spostare lo SL dal prezzo di acquisto al 50% del target profit iniziale (e anche questo lo fa già perfettamente, mi pare…) e CONTEMPORANEAMENTE solo in questo momento far partire anche un pTRAILING pari al numero di pips della variabile TargetProfit della riga 36.
Attualmente non avendo settato nessun take profit i test (seppur con un codice molto ben funzionante) risultano tutti sballati poiché il sistema o mi chiude l’operazione in pari oppure se si supera l’ 80% del target non è comunque in grado di chiudere l’operazione se non quando il prezzo torna indietro fino al 50% del target iniziale 🙁
Avrei quindi bisogno di far partire il Trailing insieme al secondo spostamento del Breakeven.
Mi daresti per favore l’ennesimo aiutino ? 😉
Allego l’ultima versione del codice comprensiva delle tue e mie modifiche.
GRAZIE !!
04/16/2019 at 11:13 AM #96581ciao,
se alla riga 53 aggiungessi il pTRAILING modificandola nel seguente modo:
Breakeven = max(Breakeven,Tradeprice + (TargetProfit / 2)) AND SET STOP pTRAILING TargetProfit
sarebbe sufficiente ad ottenere sia lo spostamento dello stop a protezione del 50% dell’utile già raggiunto ed anche a far partire da quel momento il Trailing ??
altrimenti non saprei proprio come fare 🙁
Avresti qualche consiglio da darmi ?
GRAZIE !!
-
AuthorPosts
Find exclusive trading pro-tools on