計算平均振幅,數(shù)據(jù)起始的數(shù)天計算不對,該如何處理 - TradeBlazer公式 [開拓者 TB]
- 咨詢內容:
本帖最后由 xiaoye51888 于 2012-4-16 11:59 編輯
例如在5min的圖上,計算HighD(1)-LowD(1)到HighD(5)-LowD(5)的均值,那么需要圖表上現(xiàn)在有前5天的數(shù)據(jù),否則會出錯。這個可以理解,TB的操作都是基于圖表的。那就想跳過開頭那幾天,等所有要計算的數(shù)據(jù)齊了,再開始運算,再進行信號運算開平倉。
加上了過濾,直到所有要計算的數(shù)據(jù)齊了,再開始運算。
Numeric RANGE_LENGTH(5);
if(highD(RANGE_LENGTH+2)==InvalidNumeric())
{
return;
}
sumRange = 0;
For i=1 To RANGE_LENGTH
{
sumRange = sumRange+(HighD(i)-LowD(i));
}
PlotString("sumRange",Text(sumRange),upperband,Red);
PlotString("HighD1",Text(HighD(1)-LowD(1)),upperband,Red);
PlotString("HighD2",Text(HighD(2)-LowD(2)),upperband,Red);
PlotString("HighD3",Text(HighD(3)-LowD(3)),upperband,Red);
PlotString("HighD4",Text(HighD(4)-LowD(4)),upperband,Red);
PlotString("HighD5",Text(HighD(5)-LowD(5)),upperband,Red);
進行檢測的時候發(fā)現(xiàn),所有計算需要的HIGHD LOWD的確已有數(shù)據(jù),而且對比日線數(shù)據(jù)HIGHD()-LOWD()都是正確的,但開始幾天的sumRange計算結果不對,從數(shù)據(jù)齊全開始計算起,第一天sumRange為0,第二天sumRange只計算了前一天的振幅,第三天只計算了前2天的振幅,以此類推,直到過了5天才計算正確,可是我已經(jīng)試了好幾種方法,終于能夠跳過前面數(shù)據(jù)不齊又可能導致計算錯誤的RANGE_LENGTH+2天。為何還會出錯??? - TB技術人員:
我也發(fā)現(xiàn)了這個問題,用openD,closeD,highD,lowD計算出來的數(shù)據(jù)都是前三天的,不知道為什么不能返回當天的值,用openD[1]也是返回三天前的數(shù)據(jù),感覺很莫名其妙,用openD[5]
- TB客服:
我也發(fā)現(xiàn)了這個問題,用openD,closeD,highD,lowD計算出來的數(shù)據(jù)都是前三天的,不知道為什么不能返回當天的值,用openD[1]也是返回三天前的數(shù)據(jù),感覺很莫名其妙,用openD[5]返回的數(shù)據(jù)也是3天前的,
在openD的F1幫助里面是這樣說的:
OpenD
說明 求N天前的開盤價
語法 Numeric OpenD(Numeric daysAgo)
參數(shù) daysAgo 最近N天,0為當天,1為昨天,依次類推。
備注 該函數(shù)計算N天前的開盤價,返回值為浮點數(shù)。
示例 OpenD(3);計算3天前的開盤價。
我懷疑是不是軟件出差錯了,示例里面的openD返回值讓整個值都默認返回3天前的數(shù)據(jù)。 - 網(wǎng)友回復:
openD,closeD,highD,lowD等應該使用圓括號(),如: OpenD(3)
- 網(wǎng)友回復:
help
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態(tài)個股的話,
- 上一篇:[轉貼]漫談交易模型
- 下一篇:沒有了!
相關文章
-
沒有相關內容