gaeParticipant
New
Buongiorno a tutti,
sono nuovo del forum, e chiedo scusa anticipatamente se faccio una domanda errata o già trattata, anche se ho cercato un po e non mi sembra di aver trovato nulla di simile.
Vorrei capire se è possibile programmare la strategia proposta in questo articolo:
https://www.ig.com/it/inside-outside-candle-breakout
Non pretendo che mi venga scritto il codice, piano piano posso studiarmelo, ma almeno capire se è possibile scrivere strategie senza uso di indicatori per esempio.
certo che se ci fosse già il codice non disdegnerei 🙂
Grazie in anticipo
Ecco il codice, tieni presente che, nonostante la riga 1, con ordini pendenti può capitare che ne entrino 2 in una sola barra, se questa è grande abbastanza da contenere anche lo stop. In pratica entra un LONG e va subito in stop, quindi entra anche lo SHORT. ProOrder necessita di una barra prima di riuscire a controllare la situazione delle operazioni.
Ho anche messo il primo target pari al range della barra inside, senza chiusura parziale (quella semmai sarà un esercizio per te, è una caratteristica da poco aggiunta e credo sia già funzionante, anche se non l’ho mai provata):
DEFPARAM CumulateOrders = false
ONCE EntryLong = 0
ONCE EntryShort = 0
ONCE Distanza = 2 * pipsize //2 pips oltre i minimi/massimi per lo Stop Loss
IF OnMarket THEN
EntryLong = 0
EntryShort = 0
ENDIF
Rialzista = close > open
Ribassista = open > close
BarreDiverse = (Rialzista AND Ribassista[1]) OR (Rialzista[1] AND Ribassista)
InsideBAR = high[1] >= max(open,close) AND low[1] <= min(open,close) AND BarreDiverse
IF InsideBAR AND Not OnMarket THEN
EntryLong = high[1]
EntryShort = low[1]
Sl = (Range[1] + Distanza) / pipsize//Stop Loss = range della candela Madre + N pips
Tp = range / pipsize //Target Profit = range della candela inside
ENDIF
// Ordine pendente LONG
IF Not OnMarket AND EntryLong THEN
IF close > EntryLong THEN
BUY 1 CONTRACT AT EntryLong LIMIT //ordine LIMIT se ad un prezzo migliore
ELSIF close < EntryLong THEN
BUY 1 CONTRACT AT EntryLong STOP //ordine STOP se ad un prezzo peggiore
ELSE
BUY 1 CONTRACT AT MARKET //ordine a mercato se identici
ENDIF
ENDIF
// Ordine pendente SHORT
IF Not OnMarket AND EntryShort THEN
IF close < EntryShort THEN
SELLSHORT 1 CONTRACT AT EntryShort LIMIT //ordine LIMIT se ad un prezzo migliore
ELSIF close > EntryShort THEN
SELLSHORT 1 CONTRACT AT EntryShort STOP //ordine STOP se ad un prezzo peggiore
ELSE
SELLSHORT 1 CONTRACT AT MARKET //ordine a mercato se identici
ENDIF
ENDIF
SET TARGET pPROFIT Tp
SET STOP pLOSS Sl
gaeParticipant
New
Grande!!!! Grazie Roberto,
addirittura il codice…. gentilissimo, non so come ringraziarti,
ti tengo aggiornato sui risultati (speriamo siano buoni)
anche se tante cose ancora devo capire come funzionano….
grazie mille ancora