大家好!今天我想和大家分享一个非常实用的交易指标——iMFISignAlert。这款基于经典资金流动指数(Money Flow Index)的信号指示器,能够有效识别超买和超卖区域,并且提供提醒功能,包括发送邮件和移动设备推送通知,让您不错过任何重要信号。
功能改进
为了实现提醒、邮件和推送通知功能,开发者对指标的代码进行了如下改进:
- 新增输入参数:
input uint NumberofBar=1;// 信号所需的K线数量 input bool SoundON=true; // 启用声音提醒 input uint NumberofAlerts=2;// 提醒次数 input bool EMailON=false; // 启用邮件提醒 input bool PushON=false; // 启用推送通知
- 在指标代码末尾新增了三个函数:BuySignal()、SellSignal()和GetStringTimeframe()。
//+------------------------------------------------------------------+ //| 买入信号函数 | //+------------------------------------------------------------------+ void BuySignal(string SignalSirname, // 邮件和推送消息的指标名称 double &BuyArrow[], // 买入信号的指标缓冲区 const int Rates_total, // 当前K线数量 const int Prev_calculated,// 上一根K线的数量 const double &Close[], // 收盘价 const int &Spread[]) // 点差 {// 省略具体实现 }
- 在OnCalculate()块中添加了BuySignal()和SellSignal()函数的调用:
BuySignal("iWPRSign",BuyBuffer,rates_total,prev_calculated,close,spread); SellSignal("iWPRSign",SellBuffer,rates_total,prev_calculated,close,spread);
其中,BuyBuffer和SellBuffer是用于存储买入和卖出信号的指标缓冲区,必须设置为EMPTY_VALUE或零。
在指标代码的OnCalculate()块中只需调用一次BuySignal()和SellSignal()函数。

图1:iMFISignAlert指标在图表上的表现

图2:iMFISignAlert指标生成提醒