Fix preload candles
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user