Crossover Medie
Forums › ProRealTime forum Italiano › Supporto ProOrder › Crossover Medie
- This topic has 10 replies, 2 voices, and was last updated 5 years ago by robertogozzi.
Tagged: Crossover Medie, Rialzo
-
-
01/22/2019 at 10:13 PM #89373
Buonasera a tutti, sto imparando a programmare e chiedo il vostro aiuto per riuscire a scrivere un codice su prorealtime.
Vorrei impostare un trading system che acquisti se:
se la media a 9 giorni crossa al rialzo la media a 16 giorni, vorrei memorizzare il massimo di quella candela come valore di interesse(chiamiamolo TRIGGER) per un eventuale ingresso futuro. Se nelle candele successive, mentre la media a 9 rimane sulla media a 16, la candela chiude con un valore maggiore del TRIGGER allora entro long altrimenti, aggiorno con i massimi delle nuove candele il valore del trigger.
Mi riuscite ad aiutare? io da solo non riesco.
Vi ringrazio tanto
01/22/2019 at 11:14 PM #89376Quindi t’interessa solo la parte LONG, non lo Short?
01/23/2019 at 2:41 PM #89445Ciao Roberto,
in verità mi servirebbe anche lo short, ma magari capendo come farlo sul long, poi ci avrei provato a farlo per lo short 🙂
grazie 1000 per l’aiuto.
Diciamo che quello che non riesco proprio a fare è:
al verificarsi della condizione di incrocio media, come memorizzare il massimo di quella candela per poterlo usare come valore utile nel caso in cui nelle candele successive il prezzo chiudesse oltre quel livello.
01/23/2019 at 4:04 PM #89464Per memorizzare il massimo della candela basta che lo salvi in una variabile nel momento in cui l’incrocio avviene:
123456789101112MediaVeloce = average[9,0](close)MediaLenta = average[16,0](close)// longIF MediaVeloce CROSSES OVER MediaLenta THENMassimo = highMinimo = 0ENDIF// shortIF MediaVeloce CROSSES UNDER MediaLenta THENMinimo = lowMassimo = 999999ENDIFdopodiché con i due valori salvati, Massimo e Minimo ci fai quello che vuoi.
Quando c’è un incrocio resetto il valore dell’altra variabile per evitare che possa essere aperto un trade contrario.
02/05/2019 at 2:12 PM #90509Grazie per l’aiuto Roberto. Bene, ho capito ora con il tuo codice come “catturare” in una variabile il valore del prezzo in occasione dell’incrocio delle medie.
Ora bisognerebbe aggiungere che:
ipotizzando un incrocio di media al rialzo (situazione long), dopo essersi verificato l’incrocio della media e assegnato alla variabile MASSIMO il max della candela, il TS dovrebbe:
se nelle candele successive avviene un CLOSE di candela oltre il valore MASSIMO, entrare LONG. Invece se nelle candele successive si generano delle delle SPIKE DI CANDELA oltre il valore di MASSIMO queste dovrebbero aggiornare più in alto il valore di MASSIMO e non entrare LONG fino a che non si verificherà un CLOSE oltre il nuovo valore di MASSIMO.
Ovviamente lo stesso ragionamento vale per lo short, sulla variabile MINIMO.
Come potrei fare a codificare tutto ciò? io ho pensato ad un ciclo ma non riesco a scriverlo…
Grazie per il tuo aiuto.
02/05/2019 at 2:25 PM #90510Basta verificare che il prezzo di chiusura sia > Massimo ed aggiornare il Massimo se c’è uno spike:
123456IF Massimo > 0 AND Massimo < 999999 THENMassimo = max(Massimo,high)ENDIFIF close > Massimo AND Not OnMarket THENBUY 1 CONTRACT AT MARKETENDIFviceversa per gli short.
02/24/2019 at 3:59 PM #92196123456789101112131415161718192021222324252627282930MediaVeloce = EXPONENTIALaverage[9](close)MediaLenta = EXPONENTIALaverage[16](close)// longIF MediaVeloce CROSSES OVER MediaLenta THENMassimo = highMinimo = 0ENDIF// shortIF MediaVeloce CROSSES UNDER MediaLenta THENMinimo = lowMassimo = 999999ENDIFIF Massimo > 0 AND Massimo < 999999 THENMassimo = max(Massimo,high)ENDIFIF close > Massimo AND Not LONGOnMarket THENBUY 1 CONTRACT AT MARKETENDIFIF Minimo > 0 and Minimo < 999999 THENMinimo = min(Minimo,low)ENDIFIF Close < Minimo and NOT SHORTONMARKET THENSELL 1 CONTRACT AT MARKETENDIFCiao Roberto, ho provato a mettere tutto il codice insieme ed ho inserito il pezzo per lo short, ma devo aver sbagliato qualcosa? Quando lo backtesto non compare neanche un operazione. Come mai accade? Grazie 1000
02/24/2019 at 4:25 PM #92197credo di aver capito che non andasse bene il valore “999999” alla riga 12
02/24/2019 at 4:49 PM #92198No, il problema non è li, è alla 17, perché se aggiorni continuamente Massimo, CLOSE alla riga 20 non potrá mai essere naggiore al suo massimo.
Prova a spostare le righe 16-18 alla fine, dopo la 30.
1 user thanked author for this post.
03/01/2019 at 10:59 PM #92668Ottimo Suggerimento, cosi facendo ed aggiungendo le condizioni short, sul giornaliero comincia a diventare interessante.
A questo punto mi potresti aiutare nell’inserire delle regole di money managment? tipo dei target e dei traling stop che liquidino magari metà posizione ad un certo prezzo e mettano lo stop in pari per evitare perdite e lasciar correre il guadagno con altra metà posizione?
GRAZIE
1234567891011121314151617181920212223242526272829303132333435363738MediaVeloce = EXPONENTIALaverage[9](close)MediaLenta = EXPONENTIALaverage[25](close)// longIF MediaVeloce CROSSES OVER MediaLenta THENMassimo = highGRAPHONPRICE Massimo as "Massimo"Minimo = 0ENDIF// shortIF MediaVeloce CROSSES UNDER MediaLenta THENMinimo = lowGRAPHONPRICE Massimo as "Minimo"Massimo = 999999ENDIFIF close > Massimo AND Not LONGOnMarket THENBUY 1 CONTRACT AT MARKETENDIFIF Close < Minimo and NOT SHORTONMARKET THENSELL 1 CONTRACT AT MARKETENDIFIF close < Minimo AND Not ShortOnMarket THENSELLSHORT 1 CONTRACT AT MARKETENDIFIF Close > Massimo and NOT LongONMARKET THENEXITSHORT 1 CONTRACT AT MARKETENDIFIF Minimo > 0 and Minimo < 999999 THENMinimo = min(Minimo,low)ENDIFIF Massimo > 0 AND Massimo < 999999 THENMassimo = max(Massimo,high)ENDIF03/02/2019 at 12:24 AM #92673Per il momento non è possibile chiudere una posizione in modo parziale, tutto o niente! Dovrebbe cambiare con la nuova versione 11 che arriverà questo mese o il prossimo.
Cercando la parola BREAKEVEN ho trovato, tra fli altri, questo codice di Nicolas https://www.prorealcode.com/blog/learning/breakeven-code-automated-trading-strategy/.
Cercando TRAILING STOP ho trovato, sempre tra i molti esempi, questo codice, sempre di Nicolas https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/.
-
AuthorPosts
Find exclusive trading pro-tools on