Salve buongiorno, relativamente al mio indicatore scritto da Roberto mesi e mesi fa, vorrei automatizzare la strategia.
L’indicatore è basato su time frame 15 minuti e calocla il max e minimo del giorno precedente tenendo conto delle candele che vanno dalle ore 08:00 alle ore 22:00. oltre ai max e minimi, l’indicatore mi traccia anche le estensione al 10% sopra il max e 10% sopra il minimo, sempre con linee orizzontali che riguradano il max e minimo giorno precedente calcolato sempre dalle ore 08:00 alle ore 22:00.
Allego link dell’indicatore
https://www.prorealcode.com/topic/max-min-con-estensioni/
Vorrei aiuto sulla realizzazione di un sistema di trading automatico che ogni mattina, mi inserisca due ordini:
- Buy stop su sestensione 10% sotto il minimo giorno precedente calcolato dall’indicatore, con stop loss il 20% dell’estensione del min del giorno precedente (calcolata dall’indicatore)
- Sell Stop su estensione 10% sopra il max del giorno precedente, con stop loss il 20% dell’estensione sempre del max del giorno precedente (calcolata dall’indicatore)
In entrambi gli ordini il target deve essere il minimo/max del giorno precedente (sempre calcolato dall’indicatore.
Spero di essere stato chiaro e ringrazio anticipatamente chi mi aiuta
dimenticavo: Il ts dovra inserirmi gli ordini buy limit e sell stop ogni mattina allle ore 08:00 e se gli ordini non vengono eseguiti, dovra cancellarli alle ore 20
Grazie
Nel caso a fine giornata ci fosse un’operazione ancora aperta, i due ordini pendenti deve metterli ugualmente?
Che Stop Loss e Target Profit vuoi mettere?
Ciao Roberto buongiorno. A fine giornata e cio’ ore 20, se ci sono ordini apertiche non sono andatia target il ts mi deve chiudere tutte le posizioni. Se ci sono ordini pendenti che il prezzo non ha preso e quindi non siamo entrati in posizione, gli ordini pendenti sempre alle ore 20 devono essere cancellati.
Il target è in caso di buy stop, il 20% sopra dell’estensione del max di ieri, calcolato dall’indicatore.
In caso di sell stop, il 20% sotto del min di ieri calcolato dall’indicatore
I due ordini pendenti sono LIMIT, non STOP, in quanto i prezzi d’entrata sono migliorativi rispetto al prezzo corrente.
Questo è il codice, io l’ho provato solo per la correttezza sintattica, prova tu se fa quello che vuoi:
DEFPARAM CumulateOrders = false
//
// chiudere ogni posizione aperta a fine giornata
IF time = 200000 THEN
TradeON = 0
IF OnMarket THEN
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF
ENDIF
//
// alle ore 8 salvare i valori del giorno precedente e predisporre i nuovi del giorno corrente
// (che all'indomani diverranno i precedenti)
IF OpenTime >= 080000 AND OpenTime <= 220000 THEN
IF OpenTime = 080000 THEN
Estensione = (Massimo - Minimo) * 0.1 //10%
Sopra = Massimo + Estensione
Sotto = Minimo - Estensione
MinimoPrec = Minimo
MassimoPrec = Massimo
Minimo = low
Massimo = high
TradeON = 1
LongTrade = 1
ShortTrade = 1
ENDIF
Massimo = max(Massimo, high)
Minimo = min(Minimo, low)
ENDIF
//
// verificare se si è entrati a mercato e settare SL & TP (ed impedire uòteriori entrate
// nella stessa direzione)
IF ShortOnMarket THEN
Sl = Estensione * 0.2
Tp = abs(MinimoPrec - Tradeprice)
SET TARGET PROFIT Tp
SET STOP LOSS Sl
ShortTrade = 0
ENDIF
IF LongOnMarket THEN
Sl = Estensione * 0.2
Tp = abs(MassimoPrec - Tradeprice)
SET TARGET PROFIT Tp
SET STOP LOSS Sl
LongTrade = 0
ENDIF
//
// ad ogni candela, se necessario, inserire nuovamente gli ordini pendenti (hanno validità per una sola barra)
IF TradeON THEN
IF LongTrade = 1 THEN
BUY 1 CONTRACT AT Sotto LIMIT
ENDIF
IF ShortTrade THEN
SELLSHORT 1 CONTRACT AT Sopra LIMIT
ENDIF
ENDIF
Salve Roberto, rispondo solo ora perchè rientrato solo ieri.
Provo il codice e ti faccio sapere.
Nel frattempo grazie mille 🙂