Salve, chiedo gentilmente di aiutarmi a programmare un ts semplicissimo, che compri un contratto quando la Regressione Lineare a 18 periodi incrocia al rialzo la Dema a 21 periodi e venda un contratto quando la Dema a 21 periodi incrocia al ribasso la Regressione Lineare a 18 periodi.
Grazie a chiunque voglia aiutarmi.
ALEModerator
Master
Ciao
Poichè il tuo codice è molto semplice puoi utilizzare la creazione del codice assistita. La creazione assistita è utile anche nel caso in cui stai imparando a programmare perche ti permette di creare degli esempi e apprendere la logica di funzionamento del linguaggio.
Ciao, ho provato ma non riesco a farlo funzionare bene
ALEModerator
Master
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = LinearRegression[18](close)
indicator2 = DEMA[21](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
indicator3 = LinearRegression[18](close)
indicator4 = DEMA[21](close)
c2 = (indicator3 CROSSES UNDER indicator4)
IF c2 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
SET TARGET PPROFIT 50
SET STOP PLOSS 50
Chiedo scusa, esiste una funzione che impartisca l’ordine di fermare il sistema per tutto il giorno una volta che la prima operazione del giorno è andata in perdita?
No, devi scrivere del codice nella tua strategia, all’inizio (subito dopo DEFPARAM….):
ONCE ProfittoStrategia = 0
IF IntraDayBarIndex = 0 THEN
ProfittoStrategia = StrategyProfit
ENDIF
Poi, modifichi la riga 9 così:
IF c1 AND (StrategyProfit >= ProfittoStrategia) THEN
Devi modificare anche la riga 18, usando c2 invece di c1.
Ovviamente funziona su grafici intraday.
Il tuo codice di cui sopra diventerà:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
ONCE ProfittoStrategia = 0
IF IntraDayBarIndex = 0 THEN
ProfittoStrategia = StrategyProfit
ENDIF
// Condizioni per entrare su posizioni long
indicator1 = LinearRegression[18](close)
indicator2 = DEMA[21](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND (StrategyProfit >= ProfittoStrategia) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
indicator3 = LinearRegression[18](close)
indicator4 = DEMA[21](close)
c2 = (indicator3 CROSSES UNDER indicator4)
IF c2 AND (StrategyProfit >= ProfittoStrategia) THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
SET TARGET PPROFIT 50
SET STOP PLOSS 50
Provala perché non l’ho testata.
Roberto