關于參數傳遞的問題
作者:開拓者 TB 來源:cxh99.com 發布時間:2016年02月21日
- 咨詢內容:
Params
Numeric N(10);
Vars
Numeric Price;
Numeric Price1;
Numeric AvgVal;
Begin
Price = Close; //關鍵價格
AvgVal = Average(Price,N);
Price1=Average(Close,N);
PlotNumeric("AvgVal",AvgVal);
PlotNumeric("Price1",Price1,0,red);
End
上面畫出的兩條線是一樣的,為什么啊
close好理解本身就是序列變量,但是Price是簡單變量啊,它在計算average函數的時候如何回溯呢,不能被回溯的啊。還有這兩種調用方法哪種更適合呢。
- TB技術人員:
average的第一個參數里,price的值與close的值一樣,第二個參數都是N。
二個參數都 一樣,計算結果自然相同。
price雖聲明的是簡單變量,但是給其賦的值是close,也是第一個bar都會存在的值 ,是可以滿足計算需求了。
如果你要計算average(price[1],N)時,price就一定要聲明為numericseries了。。
- TB客服:
小米 發表于 2015-12-25 10:32
average的第一個參數里,price的值與close的值一樣,第二個參數都是N。
二個參數都 一樣,計算結果自然相同 ...
謝謝小米版主的回答。
我還是找到答案了,主要還是tb的傳參機制不同造成的,對于java之類編程語言來說有很大不同。公式指導書里面也是一筆帶過。
另外小米版主能否提供些tb語言與其他語言不同機制的介紹呢。
- 網友回復:
netbread 發表于 2015-12-25 11:58
謝謝小米版主的回答。
我還是找到答案了,主要還是tb的傳參機制不同造成的,對于java之類編程語言來說有 ...
抱歉啊。。
不太懂其它語言的機制分別是什么樣的,所以也沒法就相互之間的不同做對比與介紹。
可能需要交易者多看TB幫助文檔,以慢慢了解TB語言呢。