Almost every trader loves selecting trading hours and trading days.
The most common way is to use:
TimeCond = OpenTime >= HHMMSS and OpenTime <= HHMMSS
DayCond = OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5
IF MyConditions AND Not OnMarket AND TimeCond AND DayCond THEN
.
.
ENDIF
Selecting different days and custom different hours each day is a bit longer, I suggest:
ONCE startT = 000000 //Starting TIME
ONCE endT = 240000 //Ending TIME
td0 = 0 AND OpenDayOfWeek = 0 AND OpenTime >= startT AND OpenTime <= endT //Sunday
td1 = 1 AND OpenDayOfWeek = 1 AND OpenTime >= startT AND OpenTime <= endT //Monday
td2 = 1 AND OpenDayOfWeek = 2 AND OpenTime >= startT AND OpenTime <= endT //Tuesday
td3 = 1 AND OpenDayOfWeek = 3 AND OpenTime >= startT AND OpenTime <= endT //Wednesday
td4 = 1 AND OpenDayOfWeek = 4 AND OpenTime >= startT AND OpenTime <= endT //Thursday
td5 = 1 AND OpenDayOfWeek = 5 AND OpenTime >= startT AND OpenTime <= endT //Friday
td6 = 0 AND OpenDayOfWeek = 6 AND OpenTime >= startT AND OpenTime <= endT //Saturday
td7 = 0 AND OpenDayOfWeek > 6 AND OpenTime >= startT AND OpenTime <= endT //unpredictable :)
td8 = 0 AND OpenDayOfWeek < 0 AND OpenTime >= startT AND OpenTime <= endT //very unpredictable :) :)
tdCond = td0 OR td1 OR td2 OR td3 OR td4 OR td5 OR td6 OR td7 OR td8
so you can select DAYS by simply setting 0 or 1 after “=”, as you can select custom hours by changing starting and ending hours, such as starting later on Monday morning or Ending earlier on Friday night or not trading at all on Wednesday.
You may want to use TIME instead of OPENTIME or DAYOFWEEK instead of OPENDAYOFWEEK as best suits your needs.
You can use tdCond to (not) enter a trade:
IF MyConditions AND Not OnMarket AND tdCond THEN
.
.
ENDIF