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

avatar
· Views 12,383

运行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,都是有惊无险没有造成严重后果,帮我完成了版本迭代。吾之大幸。

คำชี้แจง (Disclaimer) : เนื้อหาข้างต้นเป็นเพียงมุมมองของผู้เขียนแต่เพียงผู้เดียว และไม่ได้แสดงหรือสะท้อนถึงจุดยืนอย่างเป็นทางการของ Followme แต่อย่างใด Followme ไม่รับผิดชอบต่อความถูกต้อง ความครบถ้วน หรือความน่าเชื่อถือของข้อมูลที่ปรากฏ และจะไม่รับผิดชอบต่อการดำเนินการใด ๆ ที่เกิดขึ้นจากเนื้อหานั้น เว้นแต่จะมีการระบุไว้เป็นลายลักษณ์อักษรอย่างชัดเจน

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

-จบ-

  • tradingContest