Skip to content

Commit 54c3d3e

Browse files
committed
CandleCsvSerializer. Removed time based aggregation.
1 parent 277dd53 commit 54c3d3e

2 files changed

Lines changed: 3 additions & 25 deletions

File tree

Algo/Storages/Csv/CandleCsvSerializer.cs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,7 @@ public class CandleCsvSerializer<TCandleMessage>(SecurityId securityId, DataType
1414
where TCandleMessage : CandleMessage, new()
1515
{
1616
private class CandleCsvMetaInfo(CandleCsvSerializer<TCandleMessage> serializer, DateTime date) : MetaInfo(date)
17-
//where TCandleMessage : CandleMessage, new()
1817
{
19-
private readonly Dictionary<DateTime, TCandleMessage> _items = [];
20-
21-
private bool _isOverride;
22-
23-
public override bool IsOverride => _isOverride;
24-
2518
public override object LastId { get; set; }
2619

2720
public override void Write(Stream stream)
@@ -43,8 +36,6 @@ public override void Read(Stream stream)
4336

4437
var openTime = message.OpenTime.UtcDateTime;
4538

46-
_items[openTime] = message;
47-
4839
if (!firstTimeRead)
4940
{
5041
FirstTime = openTime;
@@ -66,22 +57,14 @@ public IEnumerable<TCandleMessage> Process(IEnumerable<TCandleMessage> messages)
6657
{
6758
messages = [.. messages];
6859

69-
if (messages.IsEmpty())
70-
return [];
71-
7260
foreach (var message in messages)
7361
{
7462
var openTime = message.OpenTime.UtcDateTime;
7563

76-
if (!_isOverride)
77-
_isOverride = _items.ContainsKey(openTime) || openTime <= LastTime;
78-
79-
_items[openTime] = message;
80-
8164
LastTime = openTime;
8265
}
8366

84-
return _isOverride ? _items.Values : messages;
67+
return messages;
8568
}
8669
}
8770

Tests/StorageTests.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1946,9 +1946,7 @@ private static void CandlesRandom(ExecutionMessage[] trades,
19461946

19471947
var storage = GetStorageRegistry();
19481948

1949-
var onlyBinary = new[] { StorageFormats.Binary };
1950-
var allFormats = Enumerator.GetValues<StorageFormats>().ToArray();
1951-
var formats = isCalcVolumeProfile ? onlyBinary : allFormats;
1949+
var formats = isCalcVolumeProfile ? [StorageFormats.Binary] : Enumerator.GetValues<StorageFormats>().ToArray();
19521950

19531951
if (resetPriceStep)
19541952
security.PriceStep = 1;
@@ -1959,10 +1957,7 @@ private static void CandlesRandom(ExecutionMessage[] trades,
19591957
CheckCandles<VolumeCandleMessage, decimal>(storage, secId, candles, volumeRange, formats, diffOffset);
19601958
CheckCandles<TickCandleMessage, int>(storage, secId, candles, ticksArg, formats, diffOffset);
19611959
CheckCandles<RangeCandleMessage, Unit>(storage, secId, candles, rangeArg, formats, diffOffset);
1962-
1963-
// renko candles cannot be saved to CSV https://stocksharp.myjetbrains.com/youtrack/issue/SS-136
1964-
CheckCandles<RenkoCandleMessage, Unit>(storage, secId, candles, renkoArg, onlyBinary, diffOffset);
1965-
1960+
CheckCandles<RenkoCandleMessage, Unit>(storage, secId, candles, renkoArg, formats, diffOffset);
19661961
CheckCandles<PnFCandleMessage, PnFArg>(storage, secId, candles, pnfArg, formats, diffOffset);
19671962
}
19681963

0 commit comments

Comments
 (0)