我写的"利润锁"公式,参数差了一位小数点:错在哪、怎么改、怎么避免|通达信源码

认错复盘 · 自研整理 · 策略思路仅供学习交流

先认个错:我以前写过的一个"利润锁"公式,参数差了一位小数点,把0.02写成了0.2,而且错了挺久。

今天把这个错误原原本本摆出来,一是给自己长个记性,二是给同样可能踩坑的你提个醒。

我写错的那个版本(示意)

OB:=0.2;

获利盘线:=MA(C,9)*(1+OB);

成本线:=MA(C,20)*(1+OB);

XG:CROSS(获利盘线,成本线);

注意 OB 我写成了 0.2(20%),正确应该是 0.02(2%),多打了一个0,整个信号全变了。

你看出问题了吗?"利润锁"的逻辑是:9日线贴着成本上方2%的位置(获利盘线),20日线贴着成本上方2%(成本线),当获利盘线上穿成本线时,说明短期成本开始领先中期成本,是"利润锁住"的信号。我把OB写成0.2,等于两条线都被人为抬高了20%,金叉的位置和时机全乱了,筛出来的信号根本不是那么回事。

这种错误特别隐蔽,因为公式能跑通、不报错,就是信号全偏。你不细看,根本发现不了。

正确的写法

{成本上浮比例|参数|无未来} OB:=0.02;

{短均线周期|参数|无未来} S:=9;

{长均线周期|参数|无未来} L:=20;

 

获利盘线:=MA(C,S)*(1+OB);

成本线:=MA(C,L)*(1+OB);

 

XG:CROSS(获利盘线,成本线);

Ctrl+A 全选复制

怎么避免这种"不报错但参数错"的坑
自查方式怎么做
小数点逐位核0.02 还是 0.2、0.002 还是 0.02,逐位数清楚,别凭手感
用肉眼验证一次随机抽1–2个信号,打开K线看这两条线离价格多远,跟你的本意对得上吗
反向推一遍把参数代进公式心算一遍,问自己:这条线应该在价格上方多少?

这是我那次错误之后养成的习惯:写完公式先拿"明知道答案"的样本验一遍,再谈上线。公式语法没错,不代表逻辑和参数没错。

本文为个人通达信公式学习记录,仅供技术交流,不构成任何投资建议,不承诺收益。文中参数带主观性,未做严格量化回测,历史表现不代表未来。入市有风险,操作请独立判断。

说出来也不怕丢人,参数差一位小数点这事,我估计不止我一个人干过。你写过哪些"看着没错、其实参数错了"的公式?说出来大家一起避坑。


相关阅读

最近发表
在线客服
QQ:332879389
联系电话
13605084160