我要装在mt4上使用,mql4语言的,功能与东方财富的macd一样的
3条回答 默认 最新
关注让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!
要在MT4平台上实现类似于东方财富的MACD指标功能,可以自己编写一个自定义指标。以下是一个示例mql4代码,实现了MACD指标的计算和显示:#property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 Lime double ExtMacdMainBuffer[]; double ExtMacdSignalBuffer[]; double ExtMacdHistBuffer[]; int OnInit() { SetIndexBuffer(0, ExtMacdMainBuffer); SetIndexBuffer(1, ExtMacdSignalBuffer); SetIndexBuffer(2, ExtMacdHistBuffer); IndicatorBuffers(3); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int begin = rates_total - prev_calculated; ArraySetAsSeries(close, true); int ema1 = 12; int ema2 = 26; int signal = 9; for (int i = begin; i >= 0; i--) { ExtMacdMainBuffer[i] = iMA(NULL, 0, ema1, 0, MODE_EMA, PRICE_CLOSE, i) - iMA(NULL, 0, ema2, 0, MODE_EMA, PRICE_CLOSE, i); ExtMacdSignalBuffer[i] = iMAOnArray(ExtMacdMainBuffer, rates_total, signal, 0, MODE_SMA, i); ExtMacdHistBuffer[i] = ExtMacdMainBuffer[i] - ExtMacdSignalBuffer[i]; } return(rates_total); }将以上代码放置到自定义指标的.mq4文件中,并编译即可在MT4平台上使用。在启用该指标后,将会在图表上显示MACD指标线、信号线和直方图。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报