C# 交易时段间隔时间
我很难弄清楚哪个交易时段在哪个时段 从ForexFactory.com拍摄的这张照片中可以看到四个可能的会话 我有这个方法,我需要检查当前时间是否在指定的交易时段内C# 交易时段间隔时间,c#,session,datetime,C#,Session,Datetime,我很难弄清楚哪个交易时段在哪个时段 从ForexFactory.com拍摄的这张照片中可以看到四个可能的会话 我有这个方法,我需要检查当前时间是否在指定的交易时段内 public bool IsTradingSession(TradingSession tradingSession, DateTime currentTime) { //Regular session is 5PM - next day 5PM, this is the session in the picture.
public bool IsTradingSession(TradingSession tradingSession, DateTime currentTime)
{
//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.CurrentSessionOpen;
DateTime sessionEnd = 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;
}
使用:
感谢您的帮助首先,您需要每个市场的日期时间(开始和结束)数据源。那么, 根据参数
currentTime
,您可以通过执行以下简单检查来检查它是否位于:
if (currentTime.Ticks >= marketOpen.Ticks && currentTime.Ticks <= marketClose.Ticks)
{
//Market is open!
}
if(currentTime.Ticks>=marketOpen.Ticks&¤tTime.Ticks您不能使用其中一种吗?“可以使用IsSamePeriod、HasInside、OverlapsWith或IntersectsWith等方法,以方便查询此类期间关系的特殊、常用变体。”别担心,你并没有真正使用那个库,这让我很失望。谢谢你,但我觉得这段代码和我自己尝试的代码一样,似乎很容易解释所有的情况。我在方法的开头添加了一些代码,以便更清楚地了解所有可能的情况。
if (currentTime.Ticks >= marketOpen.Ticks && currentTime.Ticks <= marketClose.Ticks)
{
//Market is open!
}