Buongiorno, scusate ma sono un pò arrugginito in quanto a linguaggio di programmazione su ProRealTime, sto provando ad inserire stop loss dopo un semplice comando di acquisto come questo:
c1=(ExponentialAverage[15]>ExponentialAverage[30])
IF not longonmarket and c1 THEN
BUY AT MARKET
set stop %loss 1
ENDIF
Quali istruzioni devo dare per evitare che il sistema compri all’apertura della candela successiva dopo che lo stop è scattato?
Grazie
Occorre verificare che la il profitto totalizzato dalla strategia, STRATEGYPROFIT, non sia minore di quello della barra precedente, perché se lo è non può che essere dovuto allo stop loss che è stato colpito.
Questo è il tuo codice aggiornato:
c1=(ExponentialAverage[15]>ExponentialAverage[30])
IF not longonmarket and c1 and (StrategyProfit >= StrategyProfit[1]) THEN
BUY AT MARKET
set stop %loss 1
ENDIF
Grazie Roberto. Ho copiato il tuo codice ma continua a darmi segnali di buy la candela successiva dopo lo stop, in pratica (mi sembra) come da immagine che allego che anche dopo lo stop se la condizione per il buy resta valida il sistema acquista subito di nuovo. Esiste un modo per impedirglielo? Grazie di nuovo.
Prova ad usare questo codice, con le istruzioni per il debugging (GRAPH):
c1=(ExponentialAverage[15]>ExponentialAverage[30])
IF not longonmarket and c1 and (StrategyProfit >= StrategyProfit[1]) THEN
BUY AT MARKET
set stop %loss 0.2
set target %profit 0.5
ENDIF
graph StrategyProfit < StrategyProfit[1]
graph c1 coloured("Red")
come puoi vedere dalla foto allegata, quando non è stato pereso lo stop loss possono esserci anche un’uscita ed immediatamente nella candela successiva un’entrata (rettangolo VERDE), mentre se lo stop loss è stato colpito c’è almeno una candela di distanza tra un’uscita ed un’entrata (rettangolo ROSSO).