最近在寫外匯MT4的網格交易,會頻繁用到for迴圈,我發現一個很妙的現象,for迴圈由小到大與由大到小,理論上對結果不是應該一樣的意思嗎?還是我個人知識不足認知有誤?for迴圈由小到大與由大到小來處理訂單的結果竟會有些會漏掉沒處理到!
由小至大的for迴圈:
for (int u = grid_amount; u >= 1; u–)
由大至小的for迴圈:
for (int u = 1; u <= grid_amount; u++)
以上兩種寫法,其最終結果應是一樣,但是由大至小的for迴圈,會發生有些「u」沒被處理到,觀察盤中多次,它真的也發生多次,實在想不透,只好乖乖用小至大的方式來寫,然後在迴圈中再做加值的處理了。
目前寫出來的EA跑的還不賴,下週會轉成MT5的來跑一下群益外匯,就不知在MT5是否會有一樣的情況,到時再觀察看看。