代碼編寫的問題,請老師指點 [MC]
-
MC用戶求助:
還請老師指定一下,問題一大串一大串的來.
在文華中,我使用以下代碼來提取? ?MACD指標中? 當天紅柱堆 的最高值? ?和? 前一個紅柱堆 中的最高值
==========
//MACD
DIF := EMA(CLOSE,12) - EMA(CLOSE,26);//短周期與長周期的收盤價的指數平滑移動平均值做差。
DEA? := EMA(DIF,9);//DIFF的M個周期指數平滑移動平均
MACDSX:=2*(DIF-DEA);//DIFF減DEA的2倍畫柱狀線
?
//價格
本HG:=HHV(H,BARSLAST(CROSS(MACDSX,0))+1),NODRAW;//本紅柱堆
1HG:=REF(HHV(H,BARSLAST(CROSS(MACDSX,0))+1),BARSLAST(CROSS(0,MACDSX))+1),COLORRED,NODRAW;//前紅柱堆
2HG:=REF(REF(HHV(H,BARSLAST(CROSS(MACDSX,0))+1),BARSLAST(CROSS(0,MACDSX))+1),BARSLAST(CROSS(0,MACDSX))+1)
=====我在MC中想寫一個函數,到是能夠直接調用
Input:?
NUM(numericsimple );//輸入第一個可以以此調用
variables:
DIF( 0 ),
DEA( 0 ),?
MACDSX( 0 ),
BHG(0), HG1(0), HG2(0),HG3(0),
?
//MACD ZHIBIAO
DIF =MACD( Close, 12, 26 ) ;
DEA = XAverage(DIF,9);
MACDSX = (DIF-DEA)*2;
//HG-MACD
BHG=NthHighest(1,H,mro( MACDSX CROSS UNDER 0,1000,1));
VAR0=mro( MACDSX CROSS UNDER 0,1000,1);
HG1=BHG[VAR0];
?
=====
但出現錯誤
References to previous values are not allowed in simple functions.
錯誤行 0, 錯誤列 0
?
以前的值的引用是不允許在簡單的功能
==
調用一個數值之前的值? 不是使用[]的嗎?? ?[]不是想相當于文華的REF嗎?
查看論壇中之前的案例? 使用AGO以后 還是不行
BHG=NthHighest(1,H,mro( MACDSX CROSS UNDER 0,1000,1));
VAR0=mro( MACDSX CROSS UNDER 0,1000,1);
HG1=NthHighest(1,H,mro( MACDSX CROSS UNDER 0,1000,1))of VAR0 bar ago;
?
-
MC回復討論一:
看一下這個帖子:“時序類型函數、數值類型函數、自動類型函數”
您可以在公式編譯器的屬性中將函數存儲的類型更改成“自動”或者“數列”,具體原因看上面的帖子您的代碼中出現了語句“HG1=BHG[VAR0];”,而這個在數值類型函數中是不允許的
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容