Salve, volevo chiedere se all’interno di un codice Ts è possibile inserire una data di validita’, nel senso io vorrei che all’interno del codice ci sia una stringa dove io posso settare ad esempio che questo Ts smettera’ di funzionare in data 31/12/2017. E’ possibile farlo?
È possibile verificare la DATE all’interno dell’istruzione corretta per avviare o meno un nuovo ordine.
Ciao Nicolas. grazie per la risposta.
Ho visto il link che mi hai postato, ma non ho ancora capito come si fa.
In un Ts che voglio mi lavori ad esempio da 01/01/2018 a 01/02/2018 che codice di stringa devo inserire?
Una condizione semplice con DATE:
test = date=20180101 or date=20180102
if test and buycondition then
buy 1 contract at market
endif
Ciao Nicolas, ho provato ad inserire questa stringa, ma il ts non funziona nel senso che non mi apre nessuna posizione.
Ho provato a farlo lavorare dal 01/11/2017 al 30/11/2017
test = date=20171101 or date=20171130
IF test and c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 2 CONTRACT AT MARKET
ENDIF
Ho sbagliato qualcosa? grazie
Non ho idea delle tue altre condizioni: timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry
Si prega di condividere il codice completo!
Se stai scambiando un intervallo di tempo giornaliero, le condizioni temporali devono essere testate al momento esatto in cui il codice viene letto (solo alla fine della barra).
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato
noEntryBeforeTime = 080000
timeEnterBefore = time >= noEntryBeforeTime
// Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato
noEntryAfterTime = 220000
timeEnterAfter = time < noEntryAfterTime
// Impedisce al sistema di tradare in giorni specifici della settimana
daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
// Condizioni per entrare su posizioni long
indicator1 = ExponentialAverage[7](close)
indicator2 = Average[12](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
indicator3 = ExponentialAverage[7](close)
indicator4 = Average[12](close)
c2 = (indicator3 CROSSES UNDER indicator4)
IF c2 THEN
SELL AT MARKET
ENDIF
Salve, Nicolas.
Io vorrei che il Ts sopra lavora dal 01/12/2017 al 31/12/2017.
Vorrei darla una data definita in cui deve lavorare.
E’ possibile?
cosa devo inserire?
Questo codice modificato dovrebbe funzionare come previsto.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato
noEntryBeforeTime = 080000
timeEnterBefore = time >= noEntryBeforeTime
// Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato
noEntryAfterTime = 220000
timeEnterAfter = time < noEntryAfterTime
// Impedisce al sistema di tradare in giorni specifici della settimana
daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
//date test
datetest = date>=20171201 and date<= 20171231
// Condizioni per entrare su posizioni long
indicator1 = ExponentialAverage[7](close)
indicator2 = Average[12](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND datetest THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
indicator3 = ExponentialAverage[7](close)
indicator4 = Average[12](close)
c2 = (indicator3 CROSSES UNDER indicator4)
IF c2 THEN
SELL AT MARKET
ENDIF
Perfetto, testato adesso e funziona alla grande 🙂
Grazie tante Nicolas
Quindi a quanto ho visto basta inserire il datetest nel codice di acquisto ed impostare le date nella variabile “datetest”
Nicolas, inoltre nel codice del Ts e possibile inserire lo strumento su cui operare?
Oh! sembra che tu non sia utilizzato da ProOrder! Basta lanciare la strategia sullo strumento desiderato da soli. Non è possibile selezionarlo direttamente nel codice!