Ciao a tutti ho scritto questo codice per operare solo in un giorno specifico ma mi da errore di sintassi,sapete dirmi cosa va corretto?
Grazie
daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 2 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 4 OR OpenDayOfWeek = 5 OR OpenDayOfWeek = 6
IF C1 and dayofweek <>0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
Ciao, nell’esempio sopra voglio il TS entri buy al verificarsi della condizione C1 in tutti i giorni della settimana tranne la domenica. Molto utile, perchè la domenica sera spesso molti strumenti aprono in gap, ma sopratutto perchè lo spread è altissimo. Puoi mettere semplicemente, dayofweek=1 e aprirà solo il lunedi, 2 martedi, ecc…
Spero di esserti stato utile…
Buon trading Fill
ti ringrazio gentilissimo.
vorrei andare long il venerdi (dayofweek=5) a condizione che la candela del giovedì sia rossa, ma mi sto tirando quadrato.
// Condizioni per entrare su posizioni long
c1 = (DClose(0) < DOpen(0))
IF c1 and dayofweek=5 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
Grazie Fill, serviva anche a me
Scusate per entrare se il prezzo apre sopra il massimo di ieri è giusta questa o mi considera tutte le condizioni contemporaneamente o solo la prima?
// Condizioni per entrare su posizioni long ;
c1 = (DOpen(1) > DHigh(5))
c1 = (DOpen(2) > DHigh(1))
c1 = (DOpen(3) > DHigh(2))
c1 = (DOpen(4) > DHigh(3))
c1 = (DOpen(5) > DHigh(4))
IF c1 and dayofweek <>0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
Se vuoi entrare quando il prezzo apre sopra il massimo di ieri, e quindi farlo in time frame intraday, basta porre la seguente condizione
C1=DOPEN(0) > DHIGH(1) ovvero se l’open di oggi è maggiore del massimo di ieri.
IF C1 THEN
BUY AT MARKET
ENDIF
ciao a tutti , per operare in giorni specifici della settimana il codice è dayofweek = …..
se invece si vuole operare uno specifico giorno lavorativo del mese , se è fattibile come si scrive?
Basta che scegli il giorno che vuoi e verifichi che sia tra 1 e 5, cioè tra lunedì e venerdì.
Ciao Roberto , Non vorrei prendere in considerazione un giorno della settimana , ma un giorno del mese.
Per capire meglio io vorrei ad esempio testare il ventesimo giorno lavorativo di ogni mese , nell’arco dell’anno , è possibile una cosa del genere?
Questo è il codice:
IF OpenMonth <> OpenMonth[1] THEN
GiornoFeriale = 0
ENDIF
IF OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5 AND IntraDayBarIndex = 0 THEN
GiornoFeriale = GiornoFeriale + 1
ENDIF
usando IF puoi verificare il numero del GiornoFeriale secondo le tue preferenze, per il ventesimo giorno feriale
IF Tue_Condizioni AND GiornoFeriale = 20 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
Verificalo e fammi sapere.
Grazie mille funziona. So che magari è una rottura , ma quando hai un attimo di tempo , puoi spiegarmi il significato dei passaggi che hai fatto così riesco a comprendere la logica di programmazione.
IF OpenMonth <> OpenMonth[1] THEN //Se il mese della barra attuale è diverso da quello della barra precedente significa che siamo alla prima barra del mese...
GiornoFeriale = 0 //... per cui dobbiamo ricominciare da 0 a contare i giorni lavorativi
ENDIF
IF OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5 AND IntraDayBarIndex = 0 THEN //Se siamo tra lunedì (1) e venerdì (5) ed è la prima barra del giorno...
GiornoFeriale = GiornoFeriale + 1 //... significa che è iniziato un nuovo giorno lavorativo.
ENDIF
Spero sia sufficientemente chiaro.