關于while循環的理解 [開拓者 TB]
- 咨詢內容:
老師,以下這個公式求的是當日的第一根K線到現在的Bar數,用的是while循環,如果加載到豆粕小時線上,在currentbar=0的第一根K線上,由于不滿足while循環條件,直接跳出,Todaybars=0;在currentbar=1的第二根K線上,由于currentbar>0并且date[0]==date[1],滿足循環條件,所以todaybars=0+1=1;在currentbar=2的第三根K線上,由于currentbar>1并且date[1]==date[2],滿足循環條件,所以todaybars=1+1=2;依次類推,在currentbar=8的第9根K線上(由于有夜盤,實際上是第二天的第一根K線),由于currentbar>7并且date[7]==date[8],滿足循環條件,所以todaybars=7+1=8,但此時公式返回的卻是0值,這個邏輯我想知道我是哪里理解錯了?
Vars
Numeric TodayBars;
Begin
{
TodayBars=0;
While(currentBar>TodayBars and Date[TodayBars]==Date[TodayBars+1])
{
TodayBars=TodayBars+1;
}
Commentary("todaybars="+text(todaybars));
}
End
- TB技術人員:
barssincetoday這個函數就已經可以取得當天第1根線到當前的bar數。。
沒有必要用這個函數再加循環啊。 - TB客服:
我知道,我就是看到這個公式,發現無法理解他的邏輯,但是加載到圖表上運行還是正確的,不知道自己的理解差在哪里了
- 網友回復:
pb830806clone 發表于 2016-3-15 16:08
我知道,我就是看到這個公式,發現無法理解他的邏輯,但是加載到圖表上運行還是正確的,不知道自己的理解差 ...
這個邏輯,可能需要找一下該函數的作者來給你講解了。抱歉,這個我沒法解決。
有興趣可以看一下軟件自帶的函數barssincetoday的代碼 ,學習那個應該更容易理解。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容