Stop in pareggio
Forums › ProRealTime forum Italiano › Supporto ProOrder › Stop in pareggio
- This topic has 13 replies, 2 voices, and was last updated 4 years ago by Gianluca.
-
-
01/18/2020 at 4:52 PM #117170
Ciao, sto cercando di scrivere una condizione che faccia sì che se un trade supera un determinato prezzo ma la candela chiude sotto quel prezzo (quindi con uno spike dove il massimo è sopra un valore) il sistema porti lo stop in pari
Mi spiego, si entra a mercato a qualsiasi condizione, se entriamo a mercato a 13.000 di dax ed il prezzo con uno spike attraversa 13.100 in qualsiasi barra che sia la prima o le successive e la stessa candela che ha fatto questo spike poi chiude sotto il trade metta lo stop a zero. Ho scritto un codice ma non funziona potreste aiutarmi?
123456789101112iF NOT ONMARKET and MIECONDIZIONI THENcloselong=high+20buy 1 contract at marketENDIFstopinpari=tradepriceif longonmarket thenif ( high crosses over Closelong) thensell at stopinpari stopendifendif01/18/2020 at 8:59 PM #117181Ho variato il titolo perché il tuo era troppo generico. Usa sempre un titolo significativo.
Nel tuo codice verifichi che HIGH abbia superato un certo prezzo, ma CLOSE non l’hai verificato. Potrebbe essere ovunque, ad ogni modo è raro che CLOSE non sia < HIGH.
Di preciso che significa NON FUNZIONA? specifica bene cosa non funziona.
Meglio sarebbe se tu facessi un esempio funzionante e specificassi:
1. strumento
2. time frame
3. data e ora della candela dove c’è il problema.
01/19/2020 at 12:46 PM #117203Faccio un esempio:
Strumento: Dax Cash 1€
timefreame: 5 minuti
candela: 17.01.2020 candela delle ore 9.25
La tecnica per entrare è la tecnica camelback di Joe Ross, minimo relativo del trend si entra al break della candela. Mostro foto.
Adesso il mio obiettivo finale è il 423% della candela, voglio pero’ che il sistema nel caso una candela con un ombra abbia toccato almeno il 161% metta lo stop in pari. Ed il codice che ho scritto non rispetta questa condizione.
01/19/2020 at 1:46 PM #117205Il problema è che HIGH crosses over solo alla seconda candela ma non ritraccia al punto di uscita, alla terza non c’è crossover quindi non inserisce l’ordine di uscita ed esce altrove.
Sostituisci CROSSES OVER con >=.
01/19/2020 at 1:53 PM #117206Resta comunque il problema che in quel trade funzionerà perché subito il prezzo torna indietro e perché il prezzo nella terza candela supera HIGH, in caso contrario non funzionerebbe comunque perché quando il crossover si è verificato non hai salvato la condizione affinché l’ordine di stop venisse inserito anche nelle candele successive.
Se leggi il codice trailing stop di Nicolas puoi osservare la variabile NEWSL che fa proprio quello, è a zero quando non a mercato, poi viene valorizzato al verificarsi di una condizione in modo che ad ogni candela lo SL venga reimmesso come ordine pendente (nelle ultime righe).
01/19/2020 at 6:37 PM #11722701/19/2020 at 6:51 PM #117230Devi mettere il prezzo corrispondente a 161%, non la costante 161%.
01/19/2020 at 7:00 PM #117233nello specifico io avevo scritto questo
12345678910111213if not longonmarket thenIF c1 THENLEntry = high + 1FIBSTOP=round((high - low)*1)-1stopinpari=LEntry+FIBSTOPgraphonprice stopinpariendifendifif longonmarket thenif high>stopinpari and close<stopinpari thensell at lentry stopendifendifHo usato anche la funzione graphonprice e si vede che il prezzo attraversa il livello desiderato e poi chiude sotto, ma il trade non si chiude dove vorrei ma allo stop originario.
ma a quanto pare non funziona
01/19/2020 at 7:12 PM #117236No, non vedo come hai calcolato il 161%, ad ogni modo servirebbe il tuo codice.
Io posso farti un esempio, comunque basandomi su una mia condizione.
Ovviamente domani.
01/19/2020 at 7:17 PM #11723801/19/2020 at 7:28 PM #117239Ho appena verificato una cosa se scrivo
12345if c1 thenFIBSTOP=round((high - low)*1)-1stopinpari=LEntry+FIBSTOPgraphonprice stopinpariendifSul grafico di prezzo il livello stop in pari viene regolarmente disegnato.
Se invece scrivo
1234567891011if c1 thenFIBSTOP=round((high - low)*1)-1stopinpari=LEntry+FIBSTOPendifif longonmarket thenif high>stopinpari and close<stopinpari thengraphonprice stopinparisell at marketendifendifsul grafico il livello stop in pari non esiste, è come se la variabile avesse valore zero
01/19/2020 at 10:46 PM #11727101/20/2020 at 5:11 PM #117334Mi fa piacere che tu abbia risolto.
Resta il fatto che io non ho capito questa riga:
1FIBSTOP=round((high - low)*1)-1dove fai la differenza tra minimo e massimo (puoi usare RANGE, invece di fare la differenza) e lo moltiplichi per 1, che significa? E’ chiaro che resta invariato qualunque valore sia moltiplicato per 1!
Poi ci togli 1, che immagino sia un pip (su una coppia di valute non sarebbe così). Cosa ottieni togliendo 1 pip dal RANGE?
A me non interessa entrare nello specifico, però è un calcolo piuttosto strano e mi piacerebbe capirne lo scopo.
01/24/2020 at 12:10 PM #117679Si è vero potrei usare il range, 1 è perchè poi io faccio i backtest e vedo il moltiplicatore migliroe per ogni strategia, alla fine sono le espansioni di fibonacci
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on