Time zone handling

Time and date functions and variables are normally based on UTC time. For using market hours, time stamps, or time frames in a local time zone, the following variables are available:

BarZone

Time zone of bars (default: UTC). Daily bars will start and end at midnight plus BarOffset in this time zone. For using asset-dependent time zones, see AssetZone and AssetMarket

HistoryZone

Time zone of the historical data files (default: UTC). Normally, timestamps in historical data files should be in UTC; otherwise set this variable to their time zone. The time stamps in historical data files and dataset files are then automatically converted to UTC on file loading or parsing.

BrokerZone

Time zone of the broker plugin (default: UTC). Normally, broker plugins should return historical timestamps in UTC; otherwise set this variable to the used time zone. The time stamps of price history are then automatically converted to UTC on import.
 

AssetZone

Time zone of the current asset, used for setting AssetFrame to a daily TimeFrame that begins at FrameOffset in local time. When your strategy contains a portfolio of different assets that you want to trade daily at different times, use this parameter to define the time frames of individual assets.

AssetMarket

Time zone of the current asset, used for setting AssetFrame to a non-daily TimeFrame that skips all bars outside market hours in local time, but follows the BarPeriod inside market hours. Market hours are determined by StartMarket and EndMarket in the AssetMarket time zone. AssetMarket is mutually exclusive to AssetZone, and is used for intraday trading.

Type:

int, UTC for UTC time (default), EST for New York, WET for London, CET for Frankfurt, AEST for Sydney, JST for Tokyo, or any number from -23..+24 that gives the time zone offset in hours to UTC. Daylight saving time is used except for UTC and JST.
 

AssetFrame

Asset specific time frame, automatically set by AssetZone or AssetMarket. 0 when the current asset had no price quotes in the current bar or when its market is closed; the negative number of skipped bars when the market opens; 1 otherwise. Normally used to set TimeFrame = AssetFrame for skipping bars outside market hours, or for trading on different time zones (see example). 

Type:

int, read/only

Remarks:

Example:

// trade two assets with different time zones
BarPeriod = 60;
FrameOffset = 9; // trade both assets at 9:00 of their local time
while(asset(loop("EUR/USD","USD/JPY")))
{
  if(strstr(Asset,"EUR"))
    AssetZone = WET;
  else if(strstr(Asset,"JPY"))
    AssetZone = JST;
  TimeFrame = AssetFrame; // use a daily time frame changing at 9:00 local time
  ...
}

See also:

TimeFrame, StartMarket, LookBack, asset

 

► latest version online