howard2c 發表於 17-6-15 12:00

擾人的BUG

昨天晚上, 我跑了四個程式, 每一個程式裡當只會下一口單.結果第一個程式一開始就瞬間重複下單, 一直下到我的帳戶金額不足才停止.當那一分鐘結束後, 我手上的多單已經賠了四千元美金.根據BACKTEST, 我昨晚應當要賺三千元美金的.但因為這個BUG及後續的處理不良, 昨天晚上的半小時我總共賠了九千美金.

到底是什麼BUG造成的?下多單的程式碼比下空單的程式碼少了一行.漏掉的那行簡簡單單的程式碼 stage = 1 就是罪魁禍首.少了這行, 我的程式讓我在半小時陪九千美元.我偶而會用這個程式.就上周也是賺錢的.但上周這個程式是下空單, 而空單是沒有BUG的, 所以沒發現.原來這個BUG在2016年就存在了, 只是很巧每次跑都是下空單.

這是我目前碰過金額最大的BUG.金額第二大的BUG發生在開發新卷商的下單機, 導致七千美元的損失.也是下多單跟下空單 COPY and PASTE 漏了程式碼造成的.我當然生氣在半小時輸掉22K的年薪.是不是我每開發一個平台都必須付出七八千美元的學費?希望不要.但或許我該慶幸現在發現.這種BUG越晚發現, 損失就可能越大.我還是會想抱怨運氣怎麼這麼差, 為甚麼不是大漲時發現這個BUG, 那我就不用虧錢了.然而程式開發是公平的.別人的程式沒寫好, 一樣是要付出代價的.想要玩這麼危險的遊戲, 自己就要小心翼翼, 不然就要付的起學費.

Anonymous 發表於 17-6-17 14:58

本帖最後由 swsead 於 17-6-17 15:41 編輯

想到了有次赴美受訓,美國同事說寫軟體最幹的就是 :“One bit screwed up everything!(原話) ”
我是做硬體的不寫 code,但多年後這句話到現在還是印象深刻,因為感同身受。

現在需要 copy and paste 再小改的部分,如做多與做空或進場與出場,都用 Beyond Compare 比對再比對;需要 serach and replace 的,不管改的地方有多少,即使只有兩三處,一定不會自己用眼睛一個一個找,寧願相信編輯器的搜尋也不相信自己。

多年的經驗告訴我,搞程式交易,人(自己)才是最大的風險……在金融市場,錯誤要付出的是真金白銀的沉痛ˊ代價!

howard2c 發表於 17-6-15 14:18

寫這篇的用意是給自己一個提醒, 同時也希望大家可以互相分享自己犯的錯誤!

shunyulu 發表於 17-6-15 16:13

我有設定最大部位數, 超過了就下不出去
我也是自己寫IB下單機
給您參考
好痛.

blueways 發表於 17-6-17 13:08

好痛的經驗,謝謝大大的分享。

TrendRover 發表於 17-6-19 17:47

當工程師多年:就算老闆叫我 prototype直接量產跳過 alpha test 和 beta test (pilot run )
我也會當場回絕.
你是自己的老闆---你工程量產的素養不足要賠的還多的,因為還沒想到該要的procedure .
頁: [1]
查看完整版本: 擾人的BUG