Buongiorno ho un problema con questo codice, usando una serie lunga di candele (300) tf 1min alcune volte il prezzo dell’ordine short è superiore al prezzo del long causando continue operazioni.
come posso risolvere? usando un indicatore che modifica la lunghezza della serie? oppure facendo partire la serie dalla barra dell’ultimo ordine?
grazie in anticipo
//trailing reversal
//entra long con ordine stop al prezzo minimo dei minimi delle ultime 300 barre + 50 tick
// entra short con ordine stop al prezzo massimo dei massimi delle ultime 300 barre - 50 tick
prezzolong= lowest[300](low[1])+50
prezzoshort= highest[300](high[1])-50
if not onmarket then
buy 1 shares at market
endif
if longonmarket then
sellshort 1 shares at prezzoshort stop
endif
if shortonmarket then
buy 1 shares at prezzolong stop
endif
graph prezzoshort COLOURED(255,0,0)
graph prezzolong
Se inserisci, all’inizio,
DEFPARAM CumulateOrders = false
non dovrebbe succedere, o almeno non finché un’operazione non viene chiusa.
Grazie Roberto, ma non funziona, non cumula posizioni ma inverte a ogni barra, nell’allegato sopra (minuscolo) è visibile la serie di operazioni. credo sia dovuto al fatto che l’ordine stop è sopra al prezzo di mercato per lo short e sotto per il long, ci vorrebbe un limite, ma ci dovrei pensare una settimana su come scriverlo.
Intanto quando alla riga 8 verifichi se sei già a mercato o meno, tu fai eseguire solo BUY e mai un SELL.
Per cui la riga 14 non sarà MAI vera.
Inoltre, mentre per uscire da BUY si esegue SELL, per uscire da SELLSHORT si deve seguire EXITSHORT (non BUY).
Per il prezzo, cerca di fare qualche prova tu, sarò via fino a lunedì e non potrò fare prove.
Se non avrai trovato una soluzione potrò aiutarti solo da lunedì, non prima del tardo pomeriggio.
Ti ringrazio, non c’è fretta
buona domenica
Non riesco a capire cosa vuoi che faccia il tuo TS, dovrebbe entrare ai prezzi da te indicati, ma con quali Target Profit e Stop Loss?
Esatto quando longonmarket vorrei avere un ordine sellshort al prezzo -50 punti dal massimo e quando shortonmarket un ordine buy a +50(dax) dal minimo, senza stop loss e tp per ora ,è sempre a mercato. Il problema è quando c’è molta volatilità e quindi barre molto lunghe gli ordini sono molto vicini, perchè utilizza troppe barre (tf 1min) per calcolare i massimi e minimi.
sto provando a variare il periodo con ATR.