1- using Backtest . Net . Engines ;
1+ using Backtest . Net . Candlesticks ;
2+ using Backtest . Net . Engines ;
23using Backtest . Net . Enums ;
34using Backtest . Net . Interfaces ;
45using Backtest . Net . SymbolDataSplitters ;
56using Backtest . Net . SymbolsData ;
7+ using Backtest . Net . Timeframes ;
68using Backtest . Tests . EngineTests ;
79
810namespace Backtest . Net . Tests . EngineTests ;
@@ -23,12 +25,12 @@ public class EngineTestsV2 : EngineTestsBase
2325 /// </summary>
2426 public EngineTestsV2 ( )
2527 {
28+ WarmupCandlesCount = 2 ;
2629 EngineV2 = new EngineV8 ( WarmupCandlesCount , false )
2730 {
2831 OnTick = OnTickMethodV2
2932 } ;
3033
31- WarmupCandlesCount = 2 ;
3234 Trade = new TestTrade ( ) ;
3335 Strategy = new TestStrategyV2 ( ) ;
3436 }
@@ -122,19 +124,19 @@ public async Task TestWarmupCandlesResultCount()
122124 {
123125 var tokenSource = new CancellationTokenSource ( ) ;
124126
125- var allWarmupCandlesResultsAreCorrect = true ;
127+ bool allWarmupCandlesResultsAreCorrect = true ;
126128
127129 Strategy . ExecuteStrategyDelegateV2 = symbols =>
128130 {
129131 // --- Checking candles order
130132 var symbolsList = symbols . ToList ( ) ;
131133 if ( symbolsList . Count != 0 )
132134 {
133- foreach ( var symbol in symbolsList )
135+ foreach ( SymbolDataV2 symbol in symbolsList )
134136 {
135- foreach ( var timeframe in symbol . Timeframes )
137+ foreach ( TimeframeV2 timeframe in symbol . Timeframes )
136138 {
137- var candlesCount = timeframe . Candlesticks . Count ( ) ;
139+ int candlesCount = timeframe . Candlesticks . Count ;
138140
139141 allWarmupCandlesResultsAreCorrect = allWarmupCandlesResultsAreCorrect && candlesCount == WarmupCandlesCount + 1 ;
140142 }
@@ -145,7 +147,7 @@ public async Task TestWarmupCandlesResultCount()
145147 } ;
146148
147149 // --- Generate fake SymbolData splitter
148- var data = GenerateSymbolDataList ( new DateTime ( 2023 , 1 , 1 ) , 500 , 1 , WarmupCandlesCount ) ;
150+ List < List < SymbolDataV2 > > data = GenerateSymbolDataList ( new DateTime ( 2023 , 1 , 1 ) , 500 , 0 , WarmupCandlesCount ) ;
149151
150152 await EngineV2 . RunAsync ( data , tokenSource . Token ) ;
151153
@@ -158,7 +160,7 @@ public async Task TestFirstCandleEqualToStartBacktestingDate()
158160 var tokenSource = new CancellationTokenSource ( ) ;
159161
160162 var backtestingStartingDate = new DateTime ( 2023 , 1 , 1 ) ;
161- var allStartingDatesAreCorrect = true ;
163+ bool allStartingDatesAreCorrect = true ;
162164
163165 Strategy . ExecuteStrategyDelegateV2 = symbols =>
164166 {
@@ -194,12 +196,12 @@ public async Task TestFirstCandleEqualToStartBacktestingDate()
194196 public virtual async Task TestIfAllIndexesReachedTheEndIndex ( )
195197 {
196198 // --- Generate fake SymbolData splitter
197- var data = GenerateSymbolDataList ( new DateTime ( 2023 , 1 , 1 ) , 500 , 0 , WarmupCandlesCount ) ;
199+ List < List < SymbolDataV2 > > data = GenerateSymbolDataList ( new DateTime ( 2023 , 1 , 1 ) , 500 , 0 , WarmupCandlesCount ) ;
198200
199201 // --- Checking that before the EngineRun all the data aren't reached the EndIndex
200202 var dataList = data . ToList ( ) ;
201203
202- var allNotReachedEndIndex = dataList . All (
204+ bool allNotReachedEndIndex = dataList . All (
203205 x => x . All (
204206 y => y . Timeframes . All (
205207 k => k . Index < k . EndIndex && k . Index == k . StartIndex + WarmupCandlesCount ) ) ) ;
@@ -234,7 +236,7 @@ public virtual async Task TestCurrentCandleOhlcAreEqual()
234236 {
235237 var tokenSource = new CancellationTokenSource ( ) ;
236238
237- var allCurrentCandleOhlcAreEqual = true ;
239+ bool allCurrentCandleOhlcAreEqual = true ;
238240
239241 Strategy . ExecuteStrategyDelegateV2 = symbols =>
240242 {
@@ -243,16 +245,16 @@ public virtual async Task TestCurrentCandleOhlcAreEqual()
243245
244246 if ( symbolsList . Count == 0 ) Assert . Fail ( "There is no symbols exist in test data" ) ;
245247
246- foreach ( var symbol in symbolsList )
248+ foreach ( SymbolDataV2 symbol in symbolsList )
247249 {
248- var firstTimeframe = symbol . Timeframes . FirstOrDefault ( ) ;
249- var firstCandle = firstTimeframe ? . Candlesticks . FirstOrDefault ( ) ;
250+ TimeframeV2 ? firstTimeframe = symbol . Timeframes . FirstOrDefault ( ) ;
251+ CandlestickV2 ? firstCandle = firstTimeframe ? . Candlesticks . FirstOrDefault ( ) ;
250252 if ( firstCandle == null ) continue ;
251253
252- var openPrice = firstCandle . Open ;
253- var openTime = firstCandle . OpenTime ;
254+ decimal openPrice = firstCandle . Open ;
255+ DateTime openTime = firstCandle . OpenTime ;
254256
255- var areOhlcEqual = symbol . Timeframes . All (
257+ bool areOhlcEqual = symbol . Timeframes . All (
256258 y => y . Candlesticks . First ( ) . Close == openPrice &&
257259 y . Candlesticks . First ( ) . High == openPrice &&
258260 y . Candlesticks . First ( ) . Low == openPrice &&
@@ -269,7 +271,7 @@ public virtual async Task TestCurrentCandleOhlcAreEqual()
269271 } ;
270272
271273 // --- Generate fake SymbolData splitter
272- var data = GenerateSymbolDataList ( new DateTime ( 2023 , 1 , 1 ) , 500 , 1 , WarmupCandlesCount ) ;
274+ List < List < SymbolDataV2 > > data = GenerateSymbolDataList ( new DateTime ( 2023 , 1 , 1 ) , 500 , 1 , WarmupCandlesCount ) ;
273275
274276 await EngineV2 . RunAsync ( data , tokenSource . Token ) ;
275277
0 commit comments