關于求當日K線根數的問題
作者:開拓者 TB 來源:cxh99.com 發布時間:2016年07月22日
- 咨詢內容:
老師,以下這個公式求的是當日的第一根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技術人員:
上面這個問題想明白了,我自問自答,每根K線TodayBars=0;都會重新計算一遍,但是此公式如果加載到有夜盤的品種,會把晚間的K線算到當日中來,所以我把它改為:
- TB客服:
Vars
Numeric TodayBars;
Begin
{
TodayBars=0;
While(currentBar>TodayBars and TrueDate[TodayBars]==TrueDate[TodayBars+1])
{
TodayBars=TodayBars+1;
}
Commentary("todaybars="+text(todaybars));
}
End
- 網友回復:
可是修改后并不能如愿返回當日K線根數啊,二是如currentbar一樣計算K線根數,郁悶,哪位大仙給解釋下?