您現(xiàn)在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識(shí)>>正文內(nèi)容

幫忙改一下VB函數(shù) [金字塔]

  • 咨詢內(nèi)容: 我需要做一個(gè)實(shí)現(xiàn)EMA函數(shù)的VBA程序。在金字塔中做個(gè)自定義函數(shù)。 請(qǐng)問哪位高手指教一下。 下面是網(wǎng)上找的,但好像有點(diǎn)問題:EMA需要2個(gè)參數(shù),但2個(gè)參數(shù)中沒有收盤價(jià)呀? 最近有用到EMA函數(shù)便自己實(shí)現(xiàn)了一個(gè),EMA表示的是指數(shù)平滑移動(dòng)平均,其函數(shù)的定義為,Y = [2 * X + (N - 1) * LY] / (N + 1),LY 上一個(gè)周期的Y值,其定義比較難以理解,不少人是用遞歸去實(shí)現(xiàn)的,把一個(gè)簡(jiǎn)單的問題搞的忒復(fù)雜了,其實(shí)根本不需要使用遞歸。下面給出偶的實(shí)現(xiàn)方式: 一 分析家接口實(shí)現(xiàn) 這個(gè)是使用分析家接口實(shí)現(xiàn)系統(tǒng)EMA函數(shù)的功能 __declspec(dllexport) int WINAPI EMA(CALCINFO* pData) { float f; const float* pValue; int nPeriod,nFirst; if(NULL != pData && pData->m_pfParam1 && pData->m_pfParam2 //參數(shù)1,2有效 && pData->m_nParam1Start>=0 //參數(shù)1為序列數(shù) && pData->m_pfParam3==NULL) //有2個(gè)參數(shù) { pValue = pData->m_pfParam1; //參數(shù)1 nFirst = pData->m_nParam1Start; //有效值 f = *pData->m_pfParam2; nPeriod = (int)f; //參數(shù)2 int nLen = pData->m_nNumData; if(nFirst>=0 && nPeriod>0 && nLen > 0) { if(nPeriod > nLen) nPeriod = nLen; pData->m_pResultBuf[0] = pValue[0]; // 第一個(gè)值 for(int i=1; i < nLen; i++) { // Y = [2 * X + (N - 1) * LY] / (N + 1) pData->m_pResultBuf[i] = (2 * pValue[i] + (nPeriod - 1) * pData->m_pResultBuf[i - 1]) / (nPeriod + 1); } return 0; } } return -1; } // 使用方式 "chanlun@EMA"(C,5); 參數(shù)和系統(tǒng)自帶的EMA函數(shù)一樣 二 純C++實(shí)現(xiàn) 這個(gè)是EMA算法實(shí)現(xiàn),供在后臺(tái)調(diào)用股票價(jià)格數(shù)據(jù)計(jì)算EMA值 std::vector ChanlunTools::Ema(std::vector &X, int N) { std::vector vec; int nLen = X.size(); if(nLen >= 1) { if(N > nLen) N = nLen; vec.resize(nLen); //vec.reserve(nLen); vec[0] = X[0]; for(int i = 1; i < nLen; i++) { vec[i] = (2 * X[i] + (N - 1) * vec[i - 1]) / (N + 1); } } return vec; }

     

  • 金字塔客服:

    已經(jīng)安排工作人員制作EMA自定義函數(shù)范例,請(qǐng)耐心等待

     

  • 用戶回復(fù):

    CYC是表示取第周期的值, N是EMA函數(shù)里的N

    Function EMA3(Formula,CYC,N)

        Set History=Formula.ParentGrid.GetHistoryData()

     Y=History.Close(0)

     For i=1 To CYC

      Y=(2*History.Close(i)+(N-1)*Y)/(N+1)

     Next

     Ema3=Y

    End Function

     

    如果創(chuàng)建一個(gè)自定義函數(shù)EMA2

    Function EMA2(Formula,N)

        EMA2 = EMA3(formula,formula.indexdata,n)

    End Function

     

    公式里這些調(diào)用測(cè)試

    aa:ema(close,30);

    bb:ema2(30);

     

    與系統(tǒng)EMA結(jié)果完全一致

     

     

     

    論壇上的,我試過是一樣的;

    <!--EndFragment-->

 

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

可聯(lián)系技術(shù)人員 QQ: 1145508240  點(diǎn)擊這里給我發(fā)消息進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 男人j放进女人j网站免费| 1000部夫妻午夜免费| 日韩在线观看免费完整版视频| 人妻大战黑人白浆狂泄| 草草浮力影院第一页入口| 国产精品日韩欧美| 一区二区网站在线观看| 日韩在线观看视频网站| 亚洲男人电影天堂| 精品欧美一区二区三区久久久| 国产成人av区一区二区三| 91精品欧美综合在线观看| 成人区视频爽爽爽爽爽| 久久青草亚洲AV无码麻豆| 永久免费视频网站在线观看| 啊灬啊灬用力灬再用力岳| 另类视频区第一页| 在线播放一区二区| 一级片在线播放| 日韩乱码人妻无码中文字幕久久 | 久久久久久久久久国产精品免费| 欧美成人在线网站| 你懂的网址免费国产| 老子午夜精品无码| 国产成人A亚洲精V品无码| 2021麻豆剧果冻传媒影视| 天天舔天天操天天干| 久久99国产精品| 日韩精品无码人妻一区二区三区| 亚洲欧美在线观看视频| 精品伊人久久久久7777人| 国产三级在线观看a| 国产1000部成人免费视频| 国产精品理论电影| 99热这里只有精品国产动漫| 性做久久久久久免费观看| 久久久综合久久| 日韩色在线观看| 亚洲国产午夜电影在线入口| 波多野结衣在线中文| 免费人成网站在线观看不卡|