皆さん、こんにちは!今日は「ユーロサージ」というエキスパートアドバイザー(EA)のシンプルなバージョンをご紹介します。このEAはMetaTrader 4(MT4)で動作し、複数のテクニカル指標を活用してトレードシグナルを生成します。
デフォルト設定は、EURUSDの5分足チャートでの運用に最適化されています。
2020年以降の最適化に基づいた設定です。
入力パラメーター
-
トレードサイズの計算:
- このEAでは、3つの異なるトレードサイズの計算方法が利用できます:
- 固定ロットサイズ。
- 残高のパーセンテージ(アカウント残高の何%をロットサイズに使用するか)。
- エクイティのパーセンテージ(アカウントエクイティの何%をロットサイズに使用するか)。
- FixedLotSize、TradeSizePercent、MagicNumberなどの入力パラメーターでロットサイズを設定し、トレードを一意に識別します。
-
インジケーター設定:
- このEAは、売買シグナルを生成するためにさまざまなインジケーターを利用しています:
- 移動平均線(MA) - 設定可能な期間。
- 相対力指数(RSI) - 設定可能な過熱/過冷却レベル。
- MACD - 調整可能なEMAとシグナルラインの設定。
- ボリンジャーバンド - 調整可能な期間と偏差設定。
- ストキャスティクスオシレーター - 設定可能な%K、%D、スロウパラメーター。
- 各インジケーターは、UseMA、UseRSIなどの入力パラメーターを使ってオンオフを切り替えられます。
シグナル検出
-
IsBuySignal(): この関数は、選択したインジケーターに基づいて全ての買い条件が満たされているかをチェックします。例えば:
- MA条件:短期MAが長期MAの上にあるかを確認。
- RSI条件:RSIが50未満(30の過剰売却レベルから緩和)であること。
- MACD条件:MACDラインとシグナルラインを比較。
- ボリンジャーバンド条件:価格が下のバンドを下回っているか。
- ストキャスティクス条件:%Kと%Dの値が50未満(20から緩和)であること。
-
IsSellSignal(): IsBuySignal()と似ていますが、売り条件のために逆のチェックを行います。例えば:
- MA短期 < MA長期。
- RSI > 50(70の過剰買いから緩和)。
- MACDライン < シグナルライン。
- 価格が上のボリンジャーバンドを上回っていること。
トレード実行
- 買いまたは売りの条件が満たされると、EAは計算されたストップロス(SL)とテイクプロフィット(TP)を設定し、トレードを実行します(SL_Multiplier、TP_Multiplierに基づく)。
- ロットサイズはCalculateLotSize()関数を用いて計算され、選択されたTradeSizeTypeに応じて調整されます。
- 発注はOrderSend()関数を使用して行われ、トレードの実行に問題がないかエラーハンドリングが行われます。