C# 交易时段间隔时间

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.

我很难弄清楚哪个交易时段在哪个时段

从ForexFactory.com拍摄的这张照片中可以看到四个可能的会话

我有这个方法,我需要检查当前时间是否在指定的交易时段内

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!
}