Buongiorno,
Ho costruito un semplice sistema di apertura trade al verificarsi di 4 candele bull consecutive, nella direzione long
Non capisco però come mai il sistema non riesce a intercettare proprio tutte le candele
Il codice è questo
DEFPARAM CUMULATEORDERS = True
Xcandlesticks = 4
bullishpattern = summation[Xcandlesticks](close>open)=Xcandlesticks
IF bullishpattern then
BUY 10 shares at market
Price = TradePrice
ENDIF
IF onmarket and close > Price then
sell at market
ELSIF ((BarIndex - TradeIndex) = 5) THEN
SELL AT MARKET
ENDIF
Adesso, io so che il linguaggio consente l’apertura dell’ordine a mercato solo alla candela successiva, quindi il pattern è correttamente identificato in corrispondenza della candle 1a (con apertura = open su 1b) ma mi chiedo come mai perchè la candela 1b (che rispetta anche essa le condizioni) non produce l’apertura di nessun trade nonostante il cumulateorders = True?
Hai verificato che non sia entrato e poi abbia chiuso tutte le posizioni, quindi il doppio, insieme?
Ciao Roberto,
Nel report “Lista Ordini” vedo solo un ingresso con chiusura il giorno successivo, esattamente come nell’immagine
Perché la riga 13 è sempre vera, essendo ogni chiusura sempre maggiore del prezzo d’ingresso, io l’ho provata sul DAX Daily, aggiungento 70 pips e funziona, su altri strumenti e TF può darsi serva una costante numerica diversa, generalmente inferiore a 70:
IF onmarket and close > (Price + 70*pipsize) then
Ok Roberto, ma allora come posso uscire dal trade non appena una candela ha una chiusura positiva rispetto al prezzo di ingresso (tradeprice) senza intaccare la logica dello script?
La tua soluzione è ottima, ma sono costretto ad aggiungere una variazione in tick che non desidero….cioè, 70 pips/tick sul dax (nel tuo esempio) sono tanti…
Non sono possibili chiusure parziali, per cui quando chiude…. chiude TUTTE le posizioni aperte.
Anche il prezzo non sarebbe preciso, quando si accumulano più posizioni fa una media dei prezzi d’entrata.