Fix preload candles

This commit is contained in:
2025-07-06 16:35:43 +07:00
parent 344d0b9b12
commit 3f0d5d5eda
2 changed files with 21 additions and 3 deletions

View File

@@ -286,9 +286,17 @@ public class TradingBot : Bot, ITradingBot
var haveSignal = Signals.Any(); var haveSignal = Signals.Any();
if (haveSignal) if (haveSignal)
{ {
if (Signals.Count > 10)
PreloadSince = Signals.TakeLast(10).First().Date;
else
PreloadSince = Signals.First().Date; PreloadSince = Signals.First().Date;
} }
if (Positions.Any() && Positions.First().Open.Date < PreloadSince)
{
PreloadSince = Positions.First().Open.Date;
}
var candles = var candles =
await ExchangeService.GetCandlesInflux(Account.Exchange, Config.Ticker, PreloadSince, Config.Timeframe); await ExchangeService.GetCandlesInflux(Account.Exchange, Config.Ticker, PreloadSince, Config.Timeframe);

View File

@@ -345,8 +345,18 @@ const TradeChart = ({
const markers: SeriesMarker<Time>[] = [] const markers: SeriesMarker<Time>[] = []
if (signals) { if (signals && candles.length > 0) {
const signalMarkers = signals.map((s) => // Get the time range of candles
const firstCandleTime = moment(candles[0].date).unix()
const lastCandleTime = moment(candles[candles.length - 1].date).unix()
// Filter signals that are within the candle range
const filteredSignals = signals.filter((s) => {
const signalTime = moment(s.date).unix()
return signalTime >= firstCandleTime && signalTime <= lastCandleTime
})
const signalMarkers = filteredSignals.map((s) =>
buildMarker( buildMarker(
'circle', 'circle',
s.direction == TradeDirection.Long ? theme.success : theme.error, s.direction == TradeDirection.Long ? theme.success : theme.error,