FennEdge Learn · 编程

DAS Trader Advanced Hotkey Script Course

读懂代码,检查状态,验证结果。 从语言与数据结构,到订单对象、事件工作流和完整项目,系统学习 Advanced Script 编程。

按约 1046 分钟安排,已包含阅读、算例和每课练习;实际用时因人而异。

36节课程≈1046预计分钟—登录后保存进度
06
第 6/36 课 · 约 26 分钟

DAS 脚本单位、精度与舍入

用可手算的例子讲清 Round、单位换算与数量约束。

数值必须带单位

前置知识:表达式与条件。美元/股、美分/股、股数、美元和百分比是不同单位。算术正确并不保证单位正确。给配置写清单位。本课使用假设数值,只做计算,不写 Montage 字段。

Round 不是通用 Floor

2025 年 6 月手册规定 precision 1–6 表示小数位,100 向下舍入到整手,101 舍入到最近整手。整手模式不是通用整数向下取整,不要由其他语言推断 precision=0。将结果用于数量之前,应确认本环境标的对应的整手规则。

可以手算核对的工作表

$feModelBudget = 42;
$feDistanceCents = 35;
$feDistanceDollars = $feDistanceCents / 100;
$feRawQuantity = $feModelBudget / $feDistanceDollars;
$feDisplayDistance = Round($feDistanceDollars, 2);
$feLotQuantity = Round($feRawQuantity, 100);
$feModelExposure = $feLotQuantity * $feDistanceDollars;
MsgBox($feRawQuantity, $feLotQuantity, $feModelExposure);

解释每一步转换

35 美分换为 0.35 美元/股,42/0.35 得到未按整手处理的 120 股。在已确认每手 100 股的约定下,模式 100 得到 100 股,模型敞口为 35 美元。这些是模型输出,不是损失上限。展示用距离单独保存,不能为了显示两位小数而悄悄改变计算分母。

边界与约束顺序

先验证分母,再做除法。数量上限应参与最终整手处理,并在处理后重新计算名义金额或模型敞口。上限 150 与每手 100 股组合,不能得到 200 股。测试整手边界两侧、小数和不足一手。归整后为零表示该规则下没有有效模型数量,不应自动补成最小数量。

练习与参考解答

预算 63 美元、距离 0.35 美元/股、数量上限 150、每手 100 股。参考解答:原始 180 → 上限 150 → 向下整手 100 → 模型敞口 35 美元。距离为零时在除法前停止;距离 0.004 不能因为显示精度而在计算中被改成零。