@@ -13,9 +13,10 @@ public static class TradingBox
|
||||
HashSet<Signal> previousSignal)
|
||||
{
|
||||
var signalOnCandles = new HashSet<Signal>();
|
||||
var limitedCandles = newCandles.ToList().TakeLast(600).ToList();
|
||||
foreach (var strategy in strategies)
|
||||
{
|
||||
strategy.UpdateCandles(newCandles);
|
||||
strategy.UpdateCandles(limitedCandles.ToHashSet());
|
||||
var signals = strategy.Run();
|
||||
|
||||
if (signals == null || signals.Count == 0) continue;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Managing.Domain.Candles;
|
||||
using Managing.Core;
|
||||
using static Managing.Common.Enums;
|
||||
using Managing.Core.FixedSizedQueue;
|
||||
using Managing.Domain.Candles;
|
||||
using Managing.Domain.Scenarios;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Domain.Strategies
|
||||
{
|
||||
@@ -11,14 +11,14 @@ namespace Managing.Domain.Strategies
|
||||
{
|
||||
Name = name;
|
||||
Timeframe = timeframe;
|
||||
Candles = new List<Candle>();
|
||||
Candles = new FixedSizeQueue<Candle>(600);
|
||||
Type = type;
|
||||
SignalType = ScenarioHelpers.GetSignalType(type);
|
||||
}
|
||||
|
||||
public string Name { get; set; }
|
||||
public Timeframe Timeframe { get; set; }
|
||||
public List<Candle> Candles { get; set; }
|
||||
public FixedSizeQueue<Candle> Candles { get; set; }
|
||||
public StrategyType Type { get; set; }
|
||||
public SignalType SignalType { get; set; }
|
||||
public int MinimumHistory { get; set; }
|
||||
@@ -49,7 +49,7 @@ namespace Managing.Domain.Strategies
|
||||
{
|
||||
if (Candles.All(c => c.Date != item.Date))
|
||||
{
|
||||
Candles.AddItem(item);
|
||||
Candles.Enqueue(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user