Ciao, ho poco iniziato a realizzare dei TS per ProOrder e vorrei chiedere un aiuto per ricodificare questa strategia. (Multicharts)
Ingresso long e short all’incrocio al rialzo o al ribasso tra Macd Signal e Macd line e uscita dalle rispettive posizioni quando le due linee Macd Signal e Macd line iniziano a convergere.
Grazie in anticipo .
DEFPARAM CumulateOrders = False
// Entrata Long
indicator1 = MACDSignal[5,12,9](close)
indicator2 = MACDline[5,12,9](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscita Long
//??
// Entrata short
indicator2 = MACDSignal[5,12,9](close)
indicator3 = MACDline[5,12,9](close)
c2 = (indicator2 > indicator3)
IF c2 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscita short
//??
Mi spiace, ma non conosco il linguaggio Multicharts.
Ad ogni modo segui questo link per chiedere la conversione https://www.prorealcode.com/free-code-conversion/.
Grazie del suggerimento Roberto,
sono riuscito a codificare la pima parte riguardo gli acquisti long e le relative uscite quando le linee Macd Signal e Macd line iniziano a convergere, quindi il valore Macd inizia a diminuire.
Lo stesso dovrebbe avvenire per la fase short, ma non riesco a codificare l’uscita.
La variabile A indica correttamente dove uscire ma il sistema non esce nel punto corretto.
Sapresti cortesemente dirmi dove sbaglio?
Grazie
Simone
DEFPARAM CumulateOrders = False
// Entrata Long
ind1 = MACDSignal[12,26,9](close)
ind2 = MACDline[12,26,9](close)
c1 = (ind2 CROSSES OVER ind1)
M= MACD[12,26,9](close)
M1= MACD[12,26,9](close)
IF c1 and M>0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscita Long
//if onmarket and ind1-ind2>ind1[1]-ind2[1] and ind1[1]-ind2[1]>ind1[2]-ind2[2] then
if onmarket and m<=m[1] then
Sell at Market
endif
// Entrata Short
c2 = (ind2 CROSSES under ind1)
IF c2 and M1<0 THEN
sellshort 1 CONTRACT AT MARKET
ENDIF
if m1>=m1[1]then
a=0
else
a=1
endif
// Condizioni per uscita Short
//if onmarket and ind1-ind2>ind1[1]-ind2[1] and ind1[1]-ind2[1]>ind1[2]-ind2[2] then
if onmarket and a=1 then
Exitshort at Market
endif
graph a
[attachment file=”200090″]
Salve,
Che cos’è l’indice o il forex e il timeframe
le prove erano su indice Dax timeframe 1h
il sistema comunque dovrebbe funzionare su qualsiasi strumento applicando stoploss e ulteriori filtri ingresso
Esce perfettamente, esattamente quando a=1. Tu vedi la freccia di uscita sulla candela successiva, perché le strategie vengono eseguite allla chiusura di ogni candela, quindi entro qualche millisecondo l’operazione è chiusa, ma ormai si sta aprendo la nuova candela (o è stata appena aperta).
Sostituire a=1 con m[1]<m per i corti
perfetto grazie, con la modifica esce correttamente