如何在1分鐘周期上取日線40日ATR值? - TradeBlazer公式 [開拓者 TB]
- 咨詢內(nèi)容:
如何在1分鐘K線上取日K線40日ATR值呢?
請高手賜教!!! - TB技術(shù)人員:
如果要實(shí)現(xiàn)這個系統(tǒng),首先需要至少41天的分鐘數(shù)據(jù),大概10000多一點(diǎn)。
然后通過HighD(),LowD,CloseD等函數(shù)計算ATR,不能直接用Average進(jìn)行計算,需要自行計算平均值。
理論上是可以實(shí)現(xiàn)的,但是還是比較復(fù)雜的,我覺得比較簡單的方法就是每天開盤前,把ATR作為參數(shù)輸入。感謝NOPAIN先生回復(fù).
- TB客服:
感謝NOPAIN先生回復(fù).
我整理一下我的思路,您看看對不對.
首先從大的思路來講,
一、先求昨ATR的函數(shù),用到HighD\LowD\CloseD,
二、求平均ATR的函數(shù),與跨周期情況下的均線計算這個案例類似,用FOR i=Lentgh to 0來順序抽取對應(yīng)ATR值求出平均數(shù)!!
不知道是不是以上這樣!!
求1分鐘K線上取日K線40日ATR值主要是用來做歷史測試,實(shí)盤不需要這樣,直接算出值代入就行,不用如此復(fù)雜!!
[ 本帖最后由 samwjwj 于 2008-10-28 20:46 編輯 ]編了一個,好象有點(diǎn)問題,NOPAIN先生幫助看看!!
- 網(wǎng)友回復(fù):
一、 先求昨ATR
//------------------------------------------------------------------------
// 簡稱: MyATR
// 名稱:
// 類別: 用戶函數(shù)
// 類型: 用戶函數(shù)
// 輸出: 數(shù)值型
//------------------------------------------------------------------------
Params
Numeric Lentgh(1);
Vars
Numeric HH;
Numeric LL;
Numeric CC;
Numeric MyATR
Begin
HH=HighD(Lentgh);
LL=LowD(Lentgh);
CC=CloseD(Lentgh+1);
MyATR= Max(Max(HH-LL,ABS(CC-LL)),ABS(HH-CC));
If(Day<>Day[1])
{
Return HH - LL;
}
Else
{
Return MyATR
}
End
二、 再求平均ATR
//------------------------------------------------------------------------
// 簡稱: AvgMyTrueRange
// 名稱: 平均真實(shí)幅度用于一分鐘
// 類別: 用戶函數(shù)
// 類型: 用戶函數(shù)
// 輸出: 數(shù)值型
//------------------------------------------------------------------------
Params
Numeric Length(22);
Vars
Numeric i;
Numeric Value1;
Numeric SumValue(0);
Numeric AvgATR;
Begin
//以下求昨ATR的移動平均
For i = Length DownTo 1//循環(huán),從現(xiàn)循環(huán)到前,length的長度
{
Value1 =MyATR(i);
SumValue = SumValue + Value1;
}
return AvgATR=SumValue/Length;
End
[ 本帖最后由 samwjwj 于 2008-10-28 22:17 編輯 ] - 網(wǎng)友回復(fù):
我估計也應(yīng)該是有問題, For循環(huán)里面的跨周期調(diào)用應(yīng)該是不行的。
用笨辦法看看行不行。先求5日的平均ATR,直接寫5個試試,不用For語句。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價格!)
- 上一篇:新人求助MACD編寫的問題。 - TradeBlazer…
- 下一篇:沒有了!
相關(guān)文章
-
指定的模型還沒有相關(guān)內(nèi)容!