PSC daily candle history and pixel candlestick chart
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7b5080984a
commit
b8308e1010
10 files changed
+271
-4
No files matched your search
@@ -1408,6 +1408,32 @@ internal static class Program
|
||||
Check(f2 == 0, "小额内幕卖出安全");
|
||||
});
|
||||
|
||||
Test("日 K:开盘、日内高低、成交量、收盘、均线、保留天数", () =>
|
||||
{
|
||||
var cb = new CandleBook();
|
||||
cb.Open(Assets.PSC, 5, 100);
|
||||
cb.Tick(Assets.PSC, 5, 120, 3000);
|
||||
cb.Tick(Assets.PSC, 5, 90, 500, true);
|
||||
cb.Close(Assets.PSC, 5, 105);
|
||||
var k = cb.Of(Assets.PSC)[0];
|
||||
Check(k.O == 100 && k.H == 120 && k.L == 90 && k.C == 105 && k.Closed, "开高低收");
|
||||
Check(k.VolNpc == 3000 && k.VolPlayer == 500, "成交量分大户和玩家");
|
||||
cb.Tick(Assets.PSC, 5, 200);
|
||||
Check(k.H == 120 && k.C == 105, "收盘后不再变");
|
||||
cb.Tick(Assets.PSC, 6, 110);
|
||||
Check(cb.Of(Assets.PSC).Count == 2 && cb.Of(Assets.PSC)[1].O == 110, "读档时没有当天的蜡烛就按现价开一根");
|
||||
var cb2 = new CandleBook();
|
||||
cb2.Open(Assets.PSC, 5, 100); cb2.Close(Assets.PSC, 5, 105);
|
||||
cb2.Open(Assets.PSC, 6, 98);
|
||||
var k6 = cb2.Of(Assets.PSC)[1];
|
||||
Check(k6.O == 105 && k6.H == 105 && k6.L == 98 && k6.C == 98, "开盘接昨天收盘,夜间变动算进今天这根");
|
||||
for (int d = 7; d < 7 + CandleBook.Keep + 10; d++) { cb.Open(Assets.PSC, d, d); cb.Close(Assets.PSC, d, d); }
|
||||
Check(cb.Of(Assets.PSC).Count == CandleBook.Keep, "只保留最近若干天");
|
||||
var ma = CandleBook.Ma(new List<Candle> { new Candle { C = 1 }, new Candle { C = 3 }, new Candle { C = 5 } }, 2);
|
||||
Check(ma[0] == 1 && ma[1] == 2 && ma[2] == 4, "均线");
|
||||
Check(cb.Of("SPARK").Count == 0, "没有的币种是空的");
|
||||
});
|
||||
|
||||
Test("预测市场:先验概率", () =>
|
||||
{
|
||||
Check(Math.Abs(PredictMath.PurityAtLeast(8500, 8000, 8999) - 0.5) < 1e-9, "纯度 8500 以上一半");
|
||||
|
||||
Reference in new issue
Block a user