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