Buongiorno
perchè se scrivo questo codice:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
StopLoss = range
if condizionilong THEN
buy 1 contracts AT MARKET
endif
if condizionishort THEN
sellshort 1 contracts at MARKET
endif
SET STOP LOSS stoploss
SET TARGET PROFIT range*1.5
una volta aperta la posizione, imposta lo stop loss ed il take profit correttamente, ma ad ogni nuova candela vengono modificati?
come faccio a fissare uno SL e TP calcolato sulla candela del segnale (quindi il suo range), senza che venga modificato ad ogni nuova candela?
Grazie!!
Alessandro
Ho modificato il tuo codice impostando STOPLOSS a ZERO la prima volta, dopodiché lo setta solo se è ZERO, per cui una volta settato non lo cambierà più fintanti che tu non lo farai sulla base di condizioni da te decise.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
ONCE StopLoss = 0
IF StopLoss = 0 THEN
StopLoss = range
ENDIF
if condizionilong THEN
buy 1 contracts AT MARKET
endif
if condizionishort THEN
sellshort 1 contracts at MARKET
endif
SET STOP LOSS stoploss
SET TARGET PROFIT range*1.5
Grazie…
ho provato, ma non funziona. posiziona subito lo SL e TP e lo modifica ad ogni nuova candela.
Dovrebbe variare ad ogni candela solo il TP perché usi direttamente
range
e non una variabile. Se usassi una variabile come hai fatto per STOPLOSS non dovrebbe variare.
Devo dire che vado solo a logica, perché non ho provato a farlo girare.
ti ringrazio ancora, ma modifica anche lo stoploss, ho provato anche a mettere il codice TP stoploss*1.5….ma modifica lo stoploss ad ogni candela….sembra una cosa così semplice….e invece non lo è.
Non so cosa dirti, io l’ho provato su vari su EurUsd e vari TF, utilizzando GRAPH e le due variabili vengono settate UNA sola volta e MAI cambiate perché io non gli ho messo una condizione per farlo.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
ONCE StopLoss = 0
ONCE TakeProfit = 0
IF StopLoss = 0 THEN
StopLoss = range
TakeProfit = StopLoss * 1.5
ENDIF
if close > open THEN
buy 1 contracts AT MARKET
endif
if close < open THEN
sellshort 1 contracts at MARKET
endif
SET STOP LOSS stoploss
SET TARGET PROFIT TakeProfit
GRAPH StopLoss AS "SL"
GRAPH TakeProfit AS "TP"
Puoi anche modificare il programma cosi’
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
if condizionilong THEN
buy 1 contracts AT MARKET
StopLoss = range
endif
if condizionishort THEN
sellshort 1 contracts at MARKET
endif
SET STOP LOSS stoploss
SET TARGET PROFIT range*1.5