我無法找出哪些人交易會話任何特定時間在不在。確定是否多時間之間當前的時間跨度
有四種可能的會議,顯示在這張照片從ForexFactory.com
採取
我有這個方法,我需要檢查的是currentTime是在指定的交易時段。
public bool IsTradingSession(TradingSession tradingSession, DateTime currentTime)
{
//currentTime is in local time.
//Regular session is 5PM - next day 5PM, this is the session in the picture.
//Irregular sessions also occur for example late open (3AM - same day 5PM) or early close (5PM - next day 11AM)
DateTime sessionStart = Exchange.ToLocalTime(Exchange.CurrentSessionOpen);
DateTime sessionEnd = Exchange.ToLocalTime(Exchange.CurrentSessionClose);
if(tradingSession == TradingSession.Sydney)
return ....... ? true : false;
if(tradingSession == TradingSession.Tokyo)
return ....... ? true : false;
if(tradingSession == TradingSession.London)
return ....... ? true : false;
if (tradingSession == TradingSession.NewYork)
return ....... ? true : false;
return false;
}
用途:
bool isSydneySession = IsTradingSession(TradingSession.Sydney, CurrentTime);
bool isTokyoSession = IsTradingSession(TradingSession.Tokyo, CurrentTime);
bool isLondonSession = IsTradingSession(TradingSession.London, CurrentTime);
bool isNewYorkSession = IsTradingSession(TradingSession.NewYork, CurrentTime);
謝謝
.NET日期時間是非常困難的正確使用,尤其是在不同的時區。如果您可以影響使用標準日期時間的決定,請考慮查看http://code.google.com/p/noda-time/。 – 2012-07-11 03:06:45
如果'currentTime'始終處於一致的時區,那麼UTC不是必需的;堅持當地時間爲了簡單不會傷害。 – 2012-07-11 03:58:06
@Kirk Broadhurst是的,這是我的問題與dthorpe的答案,因爲我在我的評論中提到 – parliament 2012-07-11 03:59:52