發(fā)現(xiàn)個(gè)goto 很奇怪的問題 [金字塔]
- 咨詢內(nèi)容:
if 金叉=0 then goto 沒金叉@;
if 金叉>0 && h>h[金叉時(shí)間] then 金叉:=0;
if 金叉>0 && l<if(barslast(破頂)>5,l[金叉時(shí)間+1],l[金叉時(shí)間+1]-2*MINDIFF) && 突破>0 then begin 突破:=-1; 金叉:=0; end沒金叉@;
上面的程序,沒注釋掉第一句goto時(shí),當(dāng)全局變量“金叉=1”時(shí),第3行里的“if(barslast(破頂)>5”執(zhí)行效果大于號反過來了;注釋掉第一行后,執(zhí)行效果是正確的。也就是說,有用goto時(shí),把第2行里改成“if(barslast(破頂)<5”執(zhí)行就恢復(fù)為沒用goto時(shí)的正確結(jié)果。
于是我用DRAWNUMBER顯示barslast(破頂)數(shù)值,發(fā)現(xiàn)也是對的,就是大于號的邏輯出錯(cuò)。
- 金字塔客服:
大于號肯定是沒問題的,樓主可以不可以發(fā)一個(gè)完整的能夠重現(xiàn)你認(rèn)為的問題的代碼出來讓我們看看
- 用戶回復(fù):
不應(yīng)該是goto語句導(dǎo)致的,goto只能起到跳轉(zhuǎn)作用。還請樓主詳細(xì)檢查一下自己的代碼。
- 網(wǎng)友回復(fù):
問題主要出在下面這句話上,因?yàn)槟惆阉旁诹薌OTO語句的后面,會因?yàn)榍懊娴奶D(zhuǎn)語句影響到后面的統(tǒng)計(jì),如果你在逐K線模式下運(yùn)行,那么你必須要進(jìn)行改進(jìn)
barslast(破頂)>5
改進(jìn)如下:
AA:=barslast(破頂)>5;
if 金叉=0 then goto 沒金叉@;
if 金叉>0 && h>h[金叉時(shí)間] then 金叉:=0;
if 金叉>0 && l<if(AA,l[金叉時(shí)間+1],l[金叉時(shí)間+1]-2*MINDIFF) && 突破>0 then begin 突破:=-1; 金叉:=0; end沒金叉@;
保證含有統(tǒng)計(jì)類的函數(shù)在條件跳轉(zhuǎn)語句之前能夠正常計(jì)算即可
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
- 上一篇:實(shí)際持倉問題
- 下一篇:怎么表示5日內(nèi)成交量的最大值
相關(guān)文章
-
指定的模型還沒有相關(guān)內(nèi)容!