Support Board
Date/Time: Thu, 31 Oct 2024 16:17:35 +0000
Post From: Flatten trades at specific time - Market Replay
[2024-05-29 12:58:58] |
emmanuel - Posts: 57 |
Here's an example, however don't use it blindly. Make sure you understand it well. In short, it means when there's an open position outside of the trading hours, automatically close it. SCDateTime startTime;
SCDateTime endTime; SCDateTime barTime = sc.BaseDateTimeIn[sc.Index].GetTime(); startTime.SetDate(barTime); startTime.SetTimeHMS_MS(9, 30, 0, 0); endTime.SetDate(barTime); endTime.SetTimeHMS_MS(15, 58, 0, 0); // barTime is at the start of the bar, so you may need to adjust the minutes according to the chart's timeframe. bool isTradingSession = barTime >= startTime && barTime < endTime; s_SCPositionData positionData; sc.GetTradePosition(positionData); if(!sc.IsFullRecalculation && !isTradingSession && positionData.PositionQuantity != 0) { sc.FlattenAndCancelAllOrders(); } |