オシレーター系指標で、移動平均の乖離を見やすくしたやつってことですかね。

MACDの計算式は割愛。

【使う関数】
double iMACD(string symbol, int timeframe, int fast_ema_period,
   int slow_ema_period, int signal_period, int applied_price, int mode, int shift)


【関数に渡す値】
1)ペア:実行するウィンドウで表示しているペア(symbol 0)
2)時間足:実行するウィンドウで表示している時間足(timeframe 0)
3)周期1:12(fast_ema_period 12)
4)周期2:26(slow_ema_period 26)
5)シグナル:9(signal_period 9)
6)終値で判断する(applied_price PRICE_CLOSE)
7)モード:基本線か、シグナルか(mode MODE_MAIN/MODE_SIGNAL)
7)前の足が確定した時点で判断(shift 1)

以下の3つの条件でそれぞれアラートが鳴るようにしてみた。
ダウンロード macd1.ex4

パラメータの説明(Expert Propertiesで設定してください)
prmMacdF:短い周期の値(デフォルト12)
prmMacdS:長い周期の値(デフォルト26)
prmMacdI:シグナルの周期(デフォルト9)
sigCase :シグナル判断方法
  0:シグナルとのクロス
  1:0以下でシグナル線を突き抜けたか、0以上でシグナル線を下抜けた
  2:MACD線が0ラインをクロスした時
eaOn =0:バックテストをする時は1

最近(今年)のデータに限ってはバックテストの結果がプラスになるようだ。
sigCaseを2にして、0以上の時Longポジション、0以下の時Shortポジション
と言う設定にすると結果がプラスに。
macd2_15op

prmMacdF=10,prmMacdS=39,prmMacI=9(Optimizationの結果から引用)
期間は2013/01/02から

2000年からテストをするとずーーーーーと右肩下がり。
おかしい。。。2013年からのテストではプラスと言う結果になっているのに。