MA_Mirror EA - MetaTrader 4向けのシステムトレーディング

Mike 2010.10.13 17:41 17 0 0
添付ファイル

こんにちは、トレーダーの皆さん!今日は、私が開発したシンプルなエキスパートアドバイザー「MA_Mirror EA」についてご紹介します。このEAは、トレンド相場で利益を上げることができ、特にM1やM5のような短い時間足でも効果を発揮します。

このEAの機能は、こちらのインジケーターを基にしており、すべてのエキスパートアドバイザーで共通して使用するために、`ea.mqh`というインクルードファイルに複雑な機能を組み込んでいます。

具体的には、`start()`関数が注文をチェックし、トレーリングストップやシグナルの処理を行います。シグナル関数`Signal()`は、EAのインジケーター部分が何をしたいのかを判断し、そのシグナルに応じて売買のアクションを実行します。`Signal()`は、売りたい場合は`OP_SELL`、買いたい場合は`OP_BUY`を返します。

int Signal()
{
int i=1;
int signal = -1;
double ma1, ma2;
ma1=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,i)-iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_OPEN,i);
ma2=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_OPEN,i)-iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,i);
if (ma1 > ma2) signal = OP_BUY;
if (ma1 < ma2) signal = OP_SELL;
return (signal);
}

この`Signal()`関数は簡単に変更できるので、別のインジケーターを使ったり、常に買うまたは売るようにしたり、ランダムナンバー生成器を使ってみたりすることも可能です。私もいくつかのバリエーションを試してみて、エキスパートが単にトレンドに従って売買するよりも優れているかどうかを検証しています。

------------------------------------------------------------

さて、`ea.mqh`の更新版がありますので、名前を`ea.mqh`に変更してください。

なお、`FindOrders`にエラーがあり、1行を誤って削除してしまいました。新しい機能として、指標が20ピップスの利益を超えた場合に、ストップロスを0に設定するブレークイーブン機能を追加しました。

リスト
コメント 0