Salve,

Citazione Originariamente Scritto da framzero Visualizza Messaggio
Buongiorno, ho trovato che potrebbe funzionare meglio se il LOW fosse contemporaneo alla barra verde. E anche in questo caso (strano ma vero XD) non mi raccapezzo col codice. Perchè mi serve contare ogni volta un nuovo LOW che sia verde sulla barra stessa e non sulla successiva (o meglio, ANCHE sulla successiva).
Posso chiedere ancora un aiuto?
Le modifiche da apportare al codice in questo caso sono minime.
La riga infatti contempla già adesso il fatto che il Low di giornata corrisponda alla barra verde. L'unica riga da modificare è pertanto la 10, dove vengono contate le occorrenze. Se il Low di giornata corrisponde alla barra attuale, barreDaLowGiornata vale zero. Se barreDaLowGiornata vale zero, allora la somma eseguita alla riga 10 su zero periodi vale sempre e comunque zero. Pertanto bisogna modificare il numero di periodi utilizzati nella somma, includendo anche questa condizione, modificando quindi il codice in questo modo:

# Calcola condizione sul prezzo minimo
SET condizioneLow = (LOW = TODAYLOW())
# Numero di barre trascorse dall'ultimo prezzo minimo di giornata
SET barreDaLowGiornata = LASTIF(condizioneLow)
# Calcola condizione sul "colore" della barra attuale
SET condizioneBarraVerde = (CLOSE > OPEN)
# Calcola combinazione delle 2 condizioni precedenti
SET combinazione = (condizioneBarraVerde) AND (barreDaLowGiornata >= 0)
# Calcola quante volte la combinazione delle condizioni e' avvenuta dall'ultimo low di giornata
SET somma = SUM(combinazione, barreDaLowGiornata + 1)
# Prende in considerazione solo la prima volta delle precedenti
SET condizionePrimaCombinazione = (somma = 1)
# Calcola la condizione finale
SET condizioneFinale = (condizionePrimaCombinazione AND combinazione)
 
SET PLOT1 = condizioneFinale
La modifica è presente sulla riga 10.




Citazione Originariamente Scritto da framzero Visualizza Messaggio
E poi non capisco come mai il mio tentativo di usare questo tuo codice abbia risultati strani : con trailing stop attivato spara 250 ordini su 1200 barre orarie e senza, solo controllato con lo stop fa solo 17 ordini alle prime barre caricate e stop. Dopo luglio non va più avanti e non capisco proprio il perchè.

...
Con l'uscita Trailing Stop è abbastanza normale ottenere nei backtest un numero molto più elevato del normale di trades: una volta raggiunto il valore di prezzo corrispondente al Trigger del Trailing Stop, da quel punto in avanti qualsiasi ritracciamento potrebbe portare ad eseguire l'uscita dal trade corrente, riabilitando quindi la valutazione del codice di Buy / Sell. Se nel trading system è presente solo lo Stop Loss, senza uscite Trailing Stop e Take Profit, è possibile che un trade rimanga aperto molto a lungo. In particolare, se non c'è uno script di entrata di segno opposto (Sell), il trade potrebbe rimanere aperto all'infinito, finché non tornerà in perdita.

Max Francario