大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者公式>>正文內(nèi)容

飛狐DMA涵數(shù)改開拓者用戶涵數(shù)[開拓者公式]

原文出自這里:
 

請編飛狐DMA函數(shù).

函數(shù): DMA(X,N)
別名: 動態(tài)移動平均

參數(shù): X為數(shù)組,N為計算周期

返回: 返回數(shù)組
說明: 求X的動態(tài)移動平均。  
算法: 若Y=DMA(X,N) 則 Y=N*X+(1-N)*Y',其中Y'表示上一周期Y值,A必須小于1。
示例: DMA(CLOSE,(HIGH-LOW)/CLOSE)
表示求以該周期震幅為平滑因子的平均價



他上面的描述有點錯誤,應(yīng)該是N必須小于1;
且N不是計算周期,我們還是看看文華的關(guān)于DMA的描述吧,這樣清楚點:

很簡單,我們可以看出,如果要寫這個用戶函數(shù),則我們必須要先定義兩個參數(shù),
一個是上面的X,代表價格,我們用Price來表示,一個是N,代表動態(tài)因子,我們用Length來表示
當然,您可以用任意你喜歡的名字來表示;
好的,開始吧!
我們先新建一個用戶函數(shù),簡稱寫DMA,名稱寫:求動態(tài)移動平均,分類選用戶函數(shù),模板任意(我選bool),然后確定;
出來如下東西:
Params
        Numeric Num(10);
Vars
        Bool Con1;
Begin
        Con1 = Close > Num;
        Return Con1;
End
我們把那些沒用的東西刪除,僅留下下面的內(nèi)容
Params
       
Vars
       
Begin
       
End
在定義參數(shù)的時候我們首先考慮下參數(shù)的數(shù)據(jù)類型
我們先看價格參數(shù),很明顯我們應(yīng)該把它定義為數(shù)值序列型,因為Close啊,Open...啊,都是數(shù)值序列型的
對于動態(tài)因子,同樣簡單,應(yīng)該是數(shù)值型,于是,我們在Params關(guān)鍵字后面寫定義參數(shù)的代碼,如下:
Params
    NumericSeries Price(100);
    Numeric Length(0.5);
Vars
       
Begin
       
End
我們首先應(yīng)該明白,我們寫函數(shù)的目的是要他幫我們做點事情并且返回個什么東西給我們,所以我們
再定義一個變量ReturnValue,代表這個函數(shù)要返回的數(shù)據(jù),到時候當這個函數(shù)執(zhí)行完的時候我們就把這個東西返回給調(diào)用者 ( www.weiqiv.net.cn )
于是我們再在Vars后面定義一個變量ReturnVlaue,數(shù)據(jù)類型是數(shù)值序列型,因為每根K線上都有的,所以定義成序列型,代碼如下:
Params
    NumericSeries Price(100);
    Numeric Length(0.5);
Vars
    NumericSeries ReturnValue(0);
Begin
       
End
好拉,現(xiàn)在我們開始寫這個函數(shù)的工作代碼了;
看看這個函數(shù)的意思,我們就很明白,今日的動態(tài)移動平均=昨日的動態(tài)移動平均*(1-動態(tài)因子)+今日的價格*動態(tài)因子;然后再把這個值Return返回就Ok了;
于是我們在Begin后面寫代碼:
Params
    NumericSeries Price(100);
    Numeric Length(0.5);
Vars
    NumericSeries ReturnValue(0);
Begin
    ReturnValue = ReturnValue[1]*(1-Length)+Price*Length;
    Return ReturnValue;
End

好了,這個函數(shù)就寫好了啊,是不是very very 簡單啊?
呵呵
但是細心的朋友可能會發(fā)現(xiàn),這個函數(shù)還有點小問題,就是如果是第一根K線,那么這根K線的昨日的動態(tài)移動平均沒有啊?
這樣做是不是會出錯啊?
對,非常對,會出錯的啊,所以我們要先判斷一下這根K線是不是第一根K線,用什么來判斷是不是第一根K線呢?請看這個函數(shù):
Integer BarStatus()
當前公式應(yīng)用商品當前Bar的狀態(tài)值,返回值0表示為第一個Bar,返回值為1表示為中間的普通Bar,返回值為2表示最后一個Bar。
呵呵,就用BarStatus這個函數(shù),如果他返回0,就代表第一根K線啊
于是我們再改寫完善上面的代碼為:
//------------------------------------------------------------------------
// 簡稱: DMA
// 名稱: 求動態(tài)移動平均
// 類別: 用戶函數(shù) QQ 1145508240
// 類型: 用戶函數(shù)
// 輸出: 數(shù)值型
//------------------------------------------------------------------------

Params
        NumericSeries Price(100);
    Numeric Length(0.5);
Vars
        NumericSeries ReturnValue(0);
Begin
    If(BarStatus==0)
    {
       ReturnValue = Price;//如果是第一根K線就直接把Price賦值
    }
    Else
    {
       ReturnValue = ReturnValue[1]*(1-Length)+Price*Length;
    }
    Return ReturnValue;
End

//------------------------------------------------------------------------
// 編譯版本        GS2004.06.12
// 用戶版本        2007/11/03 11:57
// 版權(quán)所有        www.weiqiv.net.cn
// 更改聲明        TradeBlazer Software保留對TradeBlazer平臺
//                        每一版本的TrabeBlazer公式修改和重寫的權(quán)利
//------------------------------------------------------------------------
 

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請點擊這里留言?。?!不貴!點擊查看價格!

 


【字體: 】【打印文章】【查看評論

相關(guān)文章

    沒有相關(guān)內(nèi)容
  主站蜘蛛池模板: 天天干天天干天天插 | 免费永久国产在线视频 | 亚洲精品久久99久久一 | 超碰在线小说 | 亚洲综合狠狠99婷婷 | 日韩欧美在线看 | 黄视频福利 | 欧美男女爱爱视频 | 欧美日韩国产成人高清视频 | 欧美成人精品在线 | 亚洲国产第一 | 欧美videossex精品4k | 久久草视频在线 | 欧美三区在线 | 国产成人免费高清在线观看 | 亚洲国产欧美国产综合一区 | 999精品视频在线 | 一级色 | 国产手机在线精品 | 亚洲偷图色综合色就色 | 色播五月婷婷 | 夜色91| 精品久久久久久久中文字幕 | 2019偷偷狠狠的日日 | 国产欧美日韩精品第二区 | 日韩高清性爽一级毛片免费 | 五月综合视频 | 日韩色区 | 永久黄网站色视频免费观看 | 九九热热九九 | 亚洲一区二区三区香蕉 | 国产最新在线视频 | 日本大片免a费观看在线 | 国产精品久久久久久久小唯西川 | 图片区亚洲 | 国产骚b | 亚洲精品国产综合久久一线 | 人人澡人人干 | 99视频精品国在线视频艾草 | 青青热久免费精品视频精品 | 国产特级毛片aaaaaaa高清 |