求助帖:用了循環(huán)語(yǔ)句,應(yīng)用之后發(fā)生死機(jī) [開(kāi)拓者 TB]
- 咨詢內(nèi)容:
本帖最后由 ly_w1989 于 2016-3-9 23:51 編輯
TBL新手一枚,想寫(xiě)一個(gè)MACD指標(biāo)面積公式,實(shí)際寫(xiě)的過(guò)程中發(fā)生死機(jī)現(xiàn)象 - TB技術(shù)人員:
MACD的面積公式的實(shí)際目標(biāo)樣子如圖所示,這是我在通達(dá)信上實(shí)現(xiàn)后的樣子
這是我寫(xiě)的半成品,沒(méi)想到應(yīng)用時(shí)直接發(fā)生了死機(jī)
- TB客服:
本帖最后由 ly_w1989 于 2016-3-9 23:48 編輯
- Params
- Numeric M1(12);
- Numeric M2(26);
- Numeric M3(9);
- Vars
- NumericSeries MACD;
- NumericSeries DIF;
- NumericSeries DEA;
- NumericSeries AREA;
- Numeric NUM;
- String STR;
- Begin
- DIF = EMA( Close, M1 ) - EMA( Close, M2 ) ;
- DEA = EMA(DIF,M3);
- MACD = (DIF-DEA)*2;
- PlotNumeric("DIF",DIF);
- PlotNumeric("DEA",DEA);
- If (MACD >= 0)
- PlotNumeric("MACD",MACD,0,Red);
- Else
- PlotNumeric("MACD",MACD,0,Green);
- PlotNumeric("零線",0);
- AREA=0;
- NUM=1;
- If(MACD[0]<=0 And MACD[1]>0)
- {
- While(MACD[NUM]>0)
- {
- AREA=AREA+MACD[NUM];
- NUM=NUM+1;
- }
- }
- STR=Text(AREA);
- PlotString ("面積",STR,MACD*1.3,Green);
- End
- Params
- 網(wǎng)友回復(fù):
本帖最后由 ly_w1989 于 2016-3-9 23:59 編輯
上述代碼用到了自定義函數(shù)EMA用法,參考的是同花順和通達(dá)信的函數(shù)設(shè)定
前面22行代碼是描述MACD公式的,經(jīng)過(guò)測(cè)試沒(méi)問(wèn)題,后面是開(kāi)始計(jì)算MACD面積的,用到了循環(huán)判斷,編譯時(shí)沒(méi)問(wèn)題,但一旦加載就會(huì)死機(jī)- //------------------------------------------------------------------------
- // 簡(jiǎn)稱: EMA
- // 名稱: 平滑移動(dòng)平均
- // 類別: 用戶函數(shù)
- // 類型: 用戶函數(shù)
- // 輸出: 數(shù)值型
- //------------------------------------------------------------------------
- Params
- Numeric X;
- Numeric N;
- Vars
- NumericSeries Num;
- Begin
- Num = (2*X+(N-1)*NUM[1])/(N+1);
- Return Num;
- End
- //------------------------------------------------------------------------
- 網(wǎng)友回復(fù):
已經(jīng)想了很久了,也切換了別的寫(xiě)法試過(guò),但還是不行,希望大家?guī)蛶臀遥萃辛?/td> 有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198
進(jìn)行 有償 編寫(xiě)!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容