Ciao Roberto, ho trovato questo codice da te fatto per poter operare e decidere quali giorni e mese utilizzare.
Mi chiedevo se fosse possibile il mese dividerlo in due.
Dal 1 al 15 e dal 16 a fine mese.
Ti ringrazio
Paolo
ONCE startT = 000000
ONCE endT = 240000
TimeRef = OpenTime
DayRef = OpenDayOfWeek
MonthRef = OpenMonth
td0 = 1 AND DayRef = 0 AND TimeRef >= startT AND TimeRef <= endT
td1 = 1 AND DayRef = 1 AND TimeRef >= startT AND TimeRef <= endT
td2 = 1 AND DayRef = 2 AND TimeRef >= startT AND TimeRef <= endT
td3 = 1 AND DayRef = 3 AND TimeRef >= startT AND TimeRef <= endT
td4 = 1 AND DayRef = 4 AND TimeRef >= startT AND TimeRef <= endT
td5 = 1 AND DayRef = 5 AND TimeRef >= startT AND TimeRef <= endT
td6 = 1 AND DayRef = 6 AND TimeRef >= startT AND TimeRef <= endT
tdCond = td0 OR td1 OR td2 OR td3 OR td4 OR td5 OR td6
m1 = 1 AND MonthRef = 1
m2 = 1 AND MonthRef = 2
m3 = 1 AND MonthRef = 3
m4 = 1 AND MonthRef = 4
m5 = 1 AND MonthRef = 5
m6 = 1 AND MonthRef = 6
m7 = 1 AND MonthRef = 7
m8 = 1 AND MonthRef = 8
m9 = 1 AND MonthRef = 9
m10 = 1 AND MonthRef = 10
m11 = 1 AND MonthRef = 11
m12 = 1 AND MonthRef = 12
mCond = m1 OR m2 OR m3 OR m4 OR m5 OR m6 OR m7 OR m8 OR m9 OR m10 OR m11 OR m12
tdmCond = tdCond AND mCond
Ciao, puoi aggiungere questo codice al tuo:
DayOfMonthRef = OpenDay
firstHalfOfMonth = DayOfMonthRef >= 1 AND DayOfMonthRef <= 15
secondHalfOfMonth = DayOfMonthRef >= 16 AND DayOfMonthRef <= 31
tdmCondFirstHalf = tdCond AND mCond AND firstHalfOfMonth
tdmCondSecondHalf = tdCond AND mCond AND secondHalfOfMonth
Grazie ho provato ma non mi apre nessuna operazione, sicuramente ho sbagliato.
ho messo queste due nelle mie condizioni — tdmCondFirstHalf — tdmCondSecondHalf
Ho provato pure io, ma non apre nulla
Grazie
Ciao, non apre alcuna posizione perché non è presente alcun ordine di acquisto o vendita nel codice originale…
questo è un esempio, ma non riesco a farlo funzionare.
DEFPARAM CumulateOrders = False
indicator1 = Average[100](close)
c1 = (close > indicator1)
DayOfMonthRef = OpenDay
firstHalfOfMonth = DayOfMonthRef >= 1 AND DayOfMonthRef <= 15
secondHalfOfMonth = DayOfMonthRef >= 16 AND DayOfMonthRef <= 31
tdmCondFirstHalf = tdCond AND mCond AND firstHalfOfMonth
tdmCondSecondHalf = tdCond AND mCond AND secondHalfOfMonth
ONCE startT = 000000
ONCE endT = 240000
TimeRef = OpenTime
DayRef = OpenDayOfWeek
MonthRef = OpenMonth
td0 = 1 AND DayRef = 0 AND TimeRef >= startT AND TimeRef <= endT
td1 = 1 AND DayRef = 1 AND TimeRef >= startT AND TimeRef <= endT
td2 = 1 AND DayRef = 2 AND TimeRef >= startT AND TimeRef <= endT
td3 = 1 AND DayRef = 3 AND TimeRef >= startT AND TimeRef <= endT
td4 = 1 AND DayRef = 4 AND TimeRef >= startT AND TimeRef <= endT
td5 = 1 AND DayRef = 5 AND TimeRef >= startT AND TimeRef <= endT
td6 = 1 AND DayRef = 6 AND TimeRef >= startT AND TimeRef <= endT
tdCond = td0 OR td1 OR td2 OR td3 OR td4 OR td5 OR td6
m1 = 1 AND MonthRef = 1
m2 = 0 AND MonthRef = 2
m3 = 1 AND MonthRef = 3
m4 = 1 AND MonthRef = 4
m5 = 1 AND MonthRef = 5
m6 = 0 AND MonthRef = 6
m7 = 1 AND MonthRef = 7
m8 = 1 AND MonthRef = 8
m9 = 0 AND MonthRef = 9
m10 = 1 AND MonthRef = 10
m11 = 1 AND MonthRef = 11
m12 = 1 AND MonthRef = 12
mCond = m1 OR m2 OR m3 OR m4 OR m5 OR m6 OR m7 OR m8 OR m9 OR m10 OR m11 OR m12
tdmCond = tdCond AND mCond
IF c1 and tdmCond and tdmCondFirstHalf and tdmCondSecondHalf THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP %LOSS 1
SET TARGET %PROFIT 0.75
Funziona solamente se utilizzo dal 1 al 15 o dal 16 al 31, ma insieme non funziona
Quindi devo solamente utilizzare o — tdmCondFirstHalf — o tdmCondSecondHalf
Grazie
Ciao Ivan, ti ringrazio ho trovato come farlo funzionare.
Perché le due condizioni non possono entrare a mercato, si escludono a vicenda, altrimenti che senso ha avere suddiviso le quindicine, se va bene qualunque giorno?
IF c1 and tdmCond and tdmCondFirstHalf and tdmCondSecondHalf THEN