求各位大仙解答
作者:開拓者 TB 來源:cxh99.com 發布時間:2016年07月23日
- 咨詢內容:
我想求日內K線根數,但是不用函數BARSSINCETODAY,可是按照下面公式寫完后返回并不正確,請問你哪里出現問題?
Vars
Numeric TodayBars;
Begin
{
TodayBars=0;
While(currentBar>TodayBars and TrueDate[TodayBars]==TrueDate[TodayBars+1])
{
TodayBars=TodayBars+1;
}
Commentary("todaybars="+text(todaybars));
}
End
- TB技術人員:
如果你不想使用barssincetoday,還可以用以下的方式來算得日內K線數
- if(truedate(0)!= truedate(1))
- {
- Todaybars = 1;
- }else
- {
- Todaybars = Todaybars+1;
- }
復制代碼個人覺得不明白這里用循環是為何,所以沒法指出問題在哪里。只不過,truedate()的用戶函數,使用時是需要參數的,而非回溯。。
參數用( ) ,回溯才是用[ ]
- TB客服:
謝謝版主回復,我知道我的問題出在哪里了,就是“ TrueDate[TodayBars]==TrueDate[TodayBars+1])”里面不是中括號啊,改為TrueDate(TodayBars)==TrueDate(TodayBars+1))后,上面的公式就表示barssincetoday,并且加載后正確,只是來回循環很費運算時間,但是我只是想弄明白TB運算的某些機制。