九月,惊魂还是奇遇,连续修复两个陈年bug

avatar
· Views 12,847

运行6年半的老ea陆道天演,9月初遭遇惊魂时刻,

bug一

无限开仓(价格跳一次下一单)这大概是做ea的人最最恐怖的bug,虽然我千防万防,但是6年多里,加这次一共发生两次。加回测时发生一次,在今年九月这次之前一直找不到根本原因。所以只做了补救措施就是用另一个ea专门去检测无限下单,在超过一定数量时,就平仓。只留指定数量订单。在今年早些时候,学习AI写策略,把这个补救逻辑又加强了,让他能够暂停主ea。本来以为这样会万无一失。谁知道我自己犯了低级错误,我不小心把这个拦截的ea,放在双开的同账号的另一个mt4客户端下了,和主ea所在客户端分离了,这样最重要的关停主ea的功能就失效了。当天为什么说是惊魂时刻。当时我在儿童医院买完药准备去拿药。楼梯走到一半,突然邮件响个不停,我这个邮件只有才开仓时才会发出特定的铃声。我顿时冷汗直冒,手也发抖,邮件在轰炸十多次后,陷入短暂冻结。周围都是人,但是我完全听不到外面的声音了,我颤抖着先打开手机mt4,发现持仓订单以一秒两三个的速度增加,同时平仓也基本是这个速度,净值在快速的缩水。预期中的暂停ea并没有出现。不然也绝对能把损失控制的非常少的。更可怕的是挂单,一次开仓对应6个挂单,短时间删除速度根本跟不上挂单速度。挂单迅速积压。万一成交后果将不堪设想。我赶忙打开vps,先关掉了自动交易按钮。然后切回手机mt4,把持仓给处理掉,把挂单全部删除。就是以下这一串。我在半分多钟里紧急干预了。还有这么多。然后回测时,发现这个数量会是这个的三倍。直到两分多钟以后,越过止盈价,才会彻底结束这场灾难。而为什么对于我来说又是不幸中的万幸呢。因为他不是在我来回开车的时候出现,因为量级更大的挂单没有进场。否则保证金都不一定撑得住。

九月,惊魂还是奇遇,连续修复两个陈年bug

在这之后我把这个bug讲给AI,在他的帮助下,我从根本上修复了这个无限开仓bug,原先写的工具中的拦截逻辑估计永远也用不上了。

BUG二,核心条件不满足开仓,但bug导致他绕过核心条件。并打乱附加条件,并靠被打乱的附加条件拦截开仓。并发邮件给我,之前遇到过大概三次,虽然最终结果是不开仓。但是我没搞清楚过为什么。甚至以为核心条件真的满足了,而每一次进行复盘发现又都会走向止盈而不是止损。所以这一次,我有点急躁。在ea拦截掉开仓以后,我自己寻找有利位置,手动开了仓。就是周五的美瑞多单。这个多单叠满了所有的buff每一个都足以致命。听我一一道来。①长时间低收益,耐心不足


②周五晚非农后,已震荡为主,不适合追单


③发烧头昏脑胀


④ea拦截开仓,手动开(未回测清楚,而想当然,忽略了bug)


⑤离止盈差一点,犹豫再三没有止盈。


⑥跌下去不少,反弹一波回本,没有出。


⑦加上9.4日(谐音就死)

周末给了我大量的时间揣摩这个订单,揣摩出以上几点,觉得有点心灰意冷。于是我再次求师傅保佑。但是我骨子里是谨慎的,我必须去确保我完全按照系统去开仓才能寄希望于师傅。所以我又耐心的去人工复盘一遍,果然发现了纰漏,原来核心条件根本不满足。那为什么还会开仓呢。我进行仔细回测。包括问AI,由于过于复杂,牵涉到的变量可能有好几个,遗憾,无法真正定位问题源头。但是还好到了更稳妥的拦截方法,就是在开仓之前再把被绕过的那条核心条件再判断一次。


九月,惊魂还是奇遇,连续修复两个陈年bug

做完bug修改,迭代好版本后。我下定决心,对于错误的开仓绝不再抱有幻想,把止损定死,放在早年的小止损位置。止损的话会损失百分之8的资金。而止盈我周末时是想随机应变,而不是保本就出这是人的劣根性。到了周一。我发现上涨有点遇阻,算出阻力0.81120,但是我看到上了0.81095以后,我果断大幅平仓,了结这单,因为原止盈是0.81200,周五最高0.81178,差22点。这次不能重蹈复撤。结果短时间的最高点就是那里0.81097(谐音你就弃),让我放弃呢。

九月,惊魂还是奇遇,连续修复两个陈年bug



周二晚,经历过不少震荡下跌的过程,终于还是来到了原止盈0.81200,从哪涨起来的呢,0.80775,整个上涨过程堪称一气呵成。0.80775(谐音气气我),但是我没有气到,这个在我原止损之下的位置。如果我之前没有提前了结,那真是要气的不轻。可是我没有让贪念再次支配。这给我带来了相对好的结果

九月,惊魂还是奇遇,连续修复两个陈年bug

纵观这两次bug,都是有惊无险没有造成严重后果,帮我完成了版本迭代。吾之大幸。

Penafian: Pandangan yang dinyatakan adalah semata-mata dari pengarang dan tidak mewakili kedudukan rasmi Followme. Followme tidak bertanggungjawab ke atas ketepatan, kesempurnaan, atau kebolehpercayaan maklumat yang diberikan dan tidak bertanggungjawab untuk sebarang tindakan yang diambil berdasarkan kandungan, melainkan dinyatakan secara bertulis secara jelas.

Dihargai oleh pembaca — Menerima sejumlah 150 dalam petua.
Balas 26
avatar
该分享已获得创作者基础奖励金:150 Points (可提现),更多详情可点击创作者计划 >>了解!
avatar
在源码里增加一个挂单数量统计与成交单数量统计,作为开单的判断条件之一,就完全可以避免频繁开单的问题。
avatar
陆道
Pengarang
现在双保险
avatar
陆道
Pengarang
统计订单怕卡盘滞后,变量不滞后,但是怕状态机混乱。
avatar
@陆道
运算逻辑,尽量少用多组同步循环的架构,一旦服务器数据传输卡顿,EA容易出现运算溢出与宕机事件。
avatar
直接写到开仓的子函数中去,然后引用外部参数(默认直接赋值为0)来启动,加时间戳来限定,无论什么异常数值都不会频繁开。 按照你说的情况,推断你的编程风格,写的东西应该很碎,不够一体化,你复查下有没有其他BUG存在。
avatar
陆道
Pengarang
的确少一个时间戳。对于复杂逻辑,bug这个东西,AI读不出来的。我的ea都是等实盘出现bug,才能知道哪里有bug
avatar
@陆道
😬
avatar
倔金姐原来也是技术咖啊😯 能理解并与与陆道老师聊
avatar
文章情节很精彩。作为码农无法想象运行6年半的ea,还有这种bug。持仓或者挂单总数限制,加仓间隔,满足平仓条件时不开仓,几个条件限制什么bug也靠边😎
avatar
陆道
Pengarang
开仓条件可以用苛刻来形容,那这个bug的触发的条件就是极端苛刻。所以不修复,也可以正常跑那么久。我不是码农,写这个ea时全靠反复咀嚼查漏补缺,上实盘前大概改了800到900次
avatar
这是券商看你一直盈利眼红了,后台给你做手脚😂
avatar
WeTrade是自2015年起运营的全球信赖的经纪商,总部位于澳大利亚,持有ASIC、CySEC等金融顶尖监管牌照,是巴黎圣日耳曼俱乐部、NBA火箭队、联合国儿童基金会、PCCA魅影环球车队的官方合作伙伴,可为您申请总部最高返佣政策😃
avatar
ea不错,佩服能自己写ea
avatar
确实很厉害了
avatar
陆道
Pengarang
能不能点一下关注
avatar
陆道
Pengarang
把止盈,入场做好以后,内在胜率就提高了,这就是世人追求的胜率提高方式
avatar
厉害啊,这也算是科技改变生活了👍
avatar
陆道
Pengarang
缝缝补补又十年
avatar
陆道
Pengarang
文笔不好,但都是如实记录,真情实感

- AKHIR -

  • tradingContest