操纵检出:免查线 15%,斜率 3;测试按相对值
This commit is contained in:
1 parent
96cadfa411
commit
cc3b74e044
3 files changed
+7
-6
No files matched your search
@@ -5,6 +5,7 @@
|
|||||||
- 浏览器:转出、转入分成两列,按列宽显示完整地址和名称,放不下时先去名称、再用缩写,鼠标悬停显示完整地址和名称。
|
- 浏览器:转出、转入分成两列,按列宽显示完整地址和名称,放不下时先去名称、再用缩写,鼠标悬停显示完整地址和名称。
|
||||||
- RatDigg 矿机的状态面板加了算力(GH/s)、耗电和成色(烧毁显示“已烧毁”),和矿架一致。
|
- RatDigg 矿机的状态面板加了算力(GH/s)、耗电和成色(烧毁显示“已烧毁”),和矿架一致。
|
||||||
- 矿机、矿架状态面板里的收款地址在读档、睡觉之后会按标签重新读取,不再显示成“未设置”(地址本来就保存在物品标签里)。
|
- 矿机、矿架状态面板里的收款地址在读档、睡觉之后会按标签重新读取,不再显示成“未设置”(地址本来就保存在物品标签里)。
|
||||||
|
- 操纵检出:免查线 2% → 15%,斜率 6 → 3。池加深之后,推价幅度 15% 约对应第 0 天 7,000 信用点的现货单(深度随天数增长,免查额度也跟着涨);超线后被查概率 = 25% + 3 × (幅度 − 15%),推价约 30%(现货约 14,000)时约 70%。
|
||||||
- 市场深度:现货池基础深度 50,000 → 120,000,永续成交深度倍数 3 → 5。大额现货单和永续单的滑点明显变小(永续 20,000 名义价值的单边滑点约 3%,原来约 12%;现货买 20,000 价格约涨 36%,原来约 83%)。
|
- 市场深度:现货池基础深度 50,000 → 120,000,永续成交深度倍数 3 → 5。大额现货单和永续单的滑点明显变小(永续 20,000 名义价值的单边滑点约 3%,原来约 12%;现货买 20,000 价格约涨 36%,原来约 83%)。
|
||||||
|
|
||||||
## 1.0.0-rc9
|
## 1.0.0-rc9
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ namespace Decentralized.Domain
|
|||||||
public const int IntelRep = 20;
|
public const int IntelRep = 20;
|
||||||
/// <summary>操纵检出:玩家自己的大单把价格推离"没有你时的水平"的对数幅度(取绝对值)低于 ManipFree 不查;
|
/// <summary>操纵检出:玩家自己的大单把价格推离"没有你时的水平"的对数幅度(取绝对值)低于 ManipFree 不查;
|
||||||
/// 超过后被查概率 = ManipBase + ManipSlope × (幅度 − ManipFree),封顶 ManipMax;被查后永续账户冻结几天。</summary>
|
/// 超过后被查概率 = ManipBase + ManipSlope × (幅度 − ManipFree),封顶 ManipMax;被查后永续账户冻结几天。</summary>
|
||||||
public const double ManipFree = 0.02, ManipBase = 0.25, ManipSlope = 6, ManipMax = 0.95;
|
public const double ManipFree = 0.15, ManipBase = 0.25, ManipSlope = 3, ManipMax = 0.95;
|
||||||
public const int ManipFreezeDays = 3;
|
public const int ManipFreezeDays = 3;
|
||||||
|
|
||||||
/// <summary>高息理财(庞氏):第几天起开放、开张的宣传费(CRC)、可选日息、每晚新存入的基数(随天数)和对日息的敏感指数、
|
/// <summary>高息理财(庞氏):第几天起开放、开张的宣传费(CRC)、可选日息、每晚新存入的基数(随天数)和对日息的敏感指数、
|
||||||
|
|||||||
@@ -1478,8 +1478,8 @@ internal static class Program
|
|||||||
|
|
||||||
Test("操纵检出:被查概率随推价幅度升高,推价每晚衰减,行情盘押中按方向被判", () =>
|
Test("操纵检出:被查概率随推价幅度升高,推价每晚衰减,行情盘押中按方向被判", () =>
|
||||||
{
|
{
|
||||||
Check(Market.ManipChance(0.01) == 0 && Market.ManipChance(-0.01) == 0, "幅度低于免查线不查");
|
Check(Market.ManipChance(Tuning.ManipFree / 2) == 0 && Market.ManipChance(-Tuning.ManipFree / 2) == 0, "幅度低于免查线不查");
|
||||||
Check(Market.ManipChance(0.05) > Market.ManipChance(0.03) && Market.ManipChance(-0.05) == Market.ManipChance(0.05), "幅度越大越容易被查,方向无关");
|
Check(Market.ManipChance(Tuning.ManipFree + 0.05) > Market.ManipChance(Tuning.ManipFree + 0.03) && Market.ManipChance(-(Tuning.ManipFree + 0.05)) == Market.ManipChance(Tuning.ManipFree + 0.05), "幅度越大越容易被查,方向无关");
|
||||||
Check(Market.ManipChance(5) == Tuning.ManipMax, "封顶");
|
Check(Market.ManipChance(5) == Tuning.ManipMax, "封顶");
|
||||||
var mk = Market.CreateDefault(5); double p0 = mk.Price;
|
var mk = Market.CreateDefault(5); double p0 = mk.Price;
|
||||||
mk.PlayerPush += Math.Log(1.1);
|
mk.PlayerPush += Math.Log(1.1);
|
||||||
@@ -1490,7 +1490,7 @@ internal static class Program
|
|||||||
int manip = 0, win = 0, noPush = 0;
|
int manip = 0, win = 0, noPush = 0;
|
||||||
for (ulong sd = 1; sd <= 200; sd++)
|
for (ulong sd = 1; sd <= 200; sd++)
|
||||||
{
|
{
|
||||||
foreach (var (yes, push, outcome) in new[] { (true, 0.06, true), (false, 0.06, false), (true, 0.0, true) })
|
foreach (var (yes, push, outcome) in new[] { (true, Tuning.ManipFree + 0.06, true), (false, Tuning.ManipFree + 0.06, false), (true, 0.0, true) })
|
||||||
{
|
{
|
||||||
var bk = new PredictBook(); var w = new Wallet { Address = "w" }; w.Add(Assets.CRC, 1e5);
|
var bk = new PredictBook(); var w = new Wallet { Address = "w" }; w.Add(Assets.CRC, 1e5);
|
||||||
var m = PredictMarket.Create(++bk.Seq, PredictKind.Price, "PSC", "PSC", 100, 4, 5, 5, 0.3); bk.Markets.Add(m);
|
var m = PredictMarket.Create(++bk.Seq, PredictKind.Price, "PSC", "PSC", 100, 4, 5, 5, 0.3); bk.Markets.Add(m);
|
||||||
@@ -1500,8 +1500,8 @@ internal static class Program
|
|||||||
else if (yes && push > 0) win++; else if (push == 0) noPush++;
|
else if (yes && push > 0) win++; else if (push == 0) noPush++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
double expect = Market.ManipChance(0.06) * 200;
|
double expect = Market.ManipChance(Tuning.ManipFree + 0.06) * 200;
|
||||||
Check(Math.Abs(manip - expect) < 40 && manip + win == 200 && noPush == 200, $"推价 6% 约 {expect:0} 次被判,被判 {manip},没被判 {win}");
|
Check(Math.Abs(manip - expect) < 40 && manip + win == 200 && noPush == 200, $"推价超线 6% 约 {expect:0} 次被判,被判 {manip},没被判 {win}");
|
||||||
});
|
});
|
||||||
|
|
||||||
Test("高息理财:开张条件、每晚存入与利息、崩盘、被举报、卷走", () =>
|
Test("高息理财:开张条件、每晚存入与利息、崩盘、被举报、卷走", () =>
|
||||||
|
|||||||
Reference in new issue
Block a user