buongiorno a tutti, vorrei aiuto essendo all’inizio della mia esperienza di programmazione su un problema con lo stop loss.
vorrei che una volta entrato in posizione il mio stop loss sia dinamico e segua il minimo di 2 barre precedenti -1 punto e si aggiorni continuamente. Mi piacerebbe anche disegnarlo sul grafico dei prezzi con una linea che verrebbe scalettata. È possibile? Grazie
Se posti il tuo codice possiamo vedere di modificarlo.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1, indicator2, ignored, ignored = CALL "Heikin asci linee"
c1 = (indicator1 > indicator2)
c3 = (indicator1 - indicator2)
c4 = (indicator2 - indicator1)
stop1= (low[1]+1)
IF c1 and c3> 3 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
indicator3, indicator4, ignored, ignored = CALL "Heikin asci linee"
c2 = (indicator3 < indicator4)
IF c2 and c4> 3 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
set stop loss stop1
Quando posti del codice è opportuno che usi l’apposita box che si apre cliccando sul pulsante “Insert PRT code” identificato con <> nella barra grigia quando scrivi il post, in modo da renderlo più comprensibile.
Non ho l’indicatore “Heikin asci linee”, ma userò qualunque altra cosa, tanto è la logica che conta, il nome potrai sostituirlo facilmente.
Appena pronto lo posterò.
Roberto
scusa sono nuovo ma ho capito.
Grazie per la disponibilità
attendo
Volevo chiederti perché hai detto cke lo SL va 1 pip sopra/sotto il massimo/minimo di due barre precedenti, mentre alla riga 10 hai indicato [1] che sta ad indicare la barra precedente? Avresti dovuto mettere [2], oppure ti sei sbagliato nello scrivere il testo?
La riga 10 va bene per i LONG, mentre per gli SHORT dovrebbe esserci anche una riga con High[1]. Inoltre NON puoi sommare/togliere 1, perché se Eur/Usd, ad esempio, è 1.1985, aggiungendoci 1 viene 2.1985 o 0.1985 se lo togli. Quindi va utilizzata la forma 1 * pipsize, è il sistema che fa il calcolo.
Ad ogni modo, questo è il codice che ho scritto; l’ho provato solo per la sintassi, non nel merito della logica, provalo e fammi sapere.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
IF LongOnMarket THEN
set stop loss low[2] + (1 * pipsize) //aggiornare lo SL per i LONG in corso
ENDIF
IF ShortOnMarket THEN //aggiornare lo SL per gli SHORT in corso
set stop loss high[2] - (1 * pipsize)
ENDIF
// Condizioni per entrare su posizioni long
indicator1, indicator2, ignored, ignored = CALL "Heikin asci linee"
c1 = (indicator1 > indicator2)
c3 = (indicator1 - indicator2)
c4 = (indicator2 - indicator1)
IF c1 and c3> 3 and NOT OnMarket THEN
stop1= (low[1]+(1 * pipsize)) //settare lo SL iniziale per i LONG
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
indicator3, indicator4, ignored, ignored = CALL "Heikin asci linee"
c2 = (indicator3 < indicator4)
IF c2 and c4> 3 and NOT OnMarket THEN
stop1= (high[1]-(1 * pipsize)) //settare lo SL iniziale per gli SHORT
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
set stop loss stop1
no non riesco a farlo funzionare
Se pubblichi anche l’indicatore posso testarlo e cercare di capire cosa non va.
Trattandosi di una strategia ho spostato il topic all’interno di ProOrder, anziché ProBuilder (dedicato ad oscillatori ed indicatori).
Forse proprio l’indicatore che non va. Scusa ma sono all’inizio e grazie per la disponibilità. Ti spiego cosa vorrei fare:
time 500 tick
mercato bund
se la barra ha chiusura maggiore dell’apertura (barra verde) e la precedente era rossa vai a mercato e metti lo stop al minimo (+ 1 tick) della barra rossa precedente.
sicuramente non funziona come ts ma per iniziare vorrei creare una cosa cosi per capire.
Per short idem inverso.
ciao Roberto Prendo questo argomento per chiederti se questa formula è corretta
………
SELL AT (indicator10) limit
lastlongstop = low[0]
Sell at lastlongstop stop
…….
EXITSHORT AT (indicator20) limit
lastshortstop = High[0]
EXITSHORT at lastshortstop stop
SET STOP PLOSS 18
ciao Roberto Prendo questo argomento per chiederti se questa formula è corretta ……… SELL AT (indicator10) limit lastlongstop = low[0] Sell at lastlongstop stop ……. EXITSHORT AT (indicator20) limit lastshortstop = High[0] EXITSHORT at lastshortstop stop SET STOP PLOSS 18
Tu, in pratica, vuoi sostituire SET STOP LOSS e SET TARGET PROFIT con queste due operazioni?
Formalmente mi sembra corretto, solo non so se il sistema accetta DUE ordini nella stessa direzione (SELL o EXITSHORT) anche se a prezzi diversi, qui dovrebbe aiutarci Nicolas.
Bonjour
sarebbe interessante avere l’opinione di Nicolas