test_tradesohlcv.jl
1 using Test 2 3 function _test_tradesohlcv_1() 4 @eval begin 5 using .Planar.Misc.JSON 6 using .Planar.Misc.TimeTicks 7 using .Planar.Engine.Processing 8 using .Planar.Engine.LiveMode.Watchers 9 if !(isdefined(Main, :wi)) 10 wi = Watchers.WatchersImpls 11 end 12 if !(isdefined(Main, :pro)) 13 pro = Processing 14 end 15 end 16 trades = JSON.parsefile(joinpath(PROJECT_PATH, "test", "stubs", "trades.json")) 17 trades = wi.fromdict.(CcxtTrade, String, trades) 18 (df, _, _) = pro.TradesOHLCV.trades_to_ohlcv(trades, tf"1m") 19 @views begin 20 @test NamedTuple(df[1, :]) == (; 21 timestamp=DateTime("2023-02-11T18:37:00"), 22 open=21658.0, 23 high=21658.0, 24 low=21657.9, 25 close=21658.0, 26 volume=15.135999999999994, 27 ) 28 @test NamedTuple(df[2, :]) == (; 29 timestamp=DateTime("2023-02-11T18:38:00"), 30 open=21657.9, 31 high=21670.0, 32 low=21657.9, 33 close=21670.0, 34 volume=58.114999999999945, 35 ) 36 @test NamedTuple(df[3, :]) == (; 37 timestamp=DateTime("2023-02-11T18:39:00"), 38 open=21670.0, 39 high=21671.7, 40 low=21665.7, 41 close=21665.7, 42 volume=52.07599999999998, 43 ) 44 @test NamedTuple(df[4, :]) == (; 45 timestamp=DateTime("2023-02-11T18:40:00"), 46 open=21665.7, 47 high=21665.8, 48 low=21661.5, 49 close=21661.5, 50 volume=28.878000000000004, 51 ) 52 end 53 end 54 55 test_tradesohlcv() = @testset "tradesohlcv" begin 56 _test_tradesohlcv_1() 57 end