このコードは、MetaTrader 4(MT4)用の「EuroSurge」Expert Advisor(EA)の簡略版を表しています。このEAは、取引シグナル生成のために複数のテクニカル指標を実装し、設定可能なロットサイズを提供し、特定の条件に基づいてトレードを管理します。
デフォルト設定は、EURUSDの5分足に最適化されています。
2020年以降の最適化に基づいた設定です。
入力パラメータ
-
取引サイズの計算:
- EAは、3種類の取引サイズ計算を許可します:
- 固定ロットサイズ。
- 残高のパーセンテージ(アカウント残高の割合を使用してロットサイズを計算)。
- エクイティのパーセンテージ(アカウントエクイティの割合を使用してロットサイズを計算)。
- FixedLotSize、TradeSizePercent、MagicNumberなどの入力により、ロットサイズを設定し、トレードを一意に識別します。
- EAは、3種類の取引サイズ計算を許可します:
-
指標設定:
- EAは、買いと売りのシグナルを生成するために様々な指標を使用します:
- 期間を設定可能な移動平均(MA)。
- 設定可能な過剰・過小評価レベルを持つ相対力指数(RSI)。
- 調整可能なEMAとシグナルライン設定を持つMACD。
- 期間と偏差設定を調整可能なボリンジャーバンド。
- %K、%D、およびスローイングパラメータを設定可能なストキャスティクスオシレーター。
- 各指標は、UseMAやUseRSIなどの入力パラメータを使用して、オンまたはオフに切り替えることができます。
- EAは、買いと売りのシグナルを生成するために様々な指標を使用します:
シグナル検出
-
IsBuySignal(): この関数は、選択した指標に基づいてすべての買い条件が満たされているかを確認します。例えば:
- MA条件: 短期MAが長期MAの上にあるかを確認します。
- RSI条件: RSIが50未満(30から緩和)であるかを確認します。
- MACD条件: MACDラインとシグナルラインを比較します。
- ボリンジャーバンド条件: 価格が下部バンドの下にあるかを確認します。
- ストキャスティクス条件: %Kと%Dの値が50未満(20から緩和)であるかを確認します。
-
IsSellSignal(): IsBuySignal() に似ていますが、売り条件のために逆になります。例えば:
- MA短期 < MA長期、
- RSI > 50(70から緩和)、
- MACDライン < シグナルライン、
- 価格が上部ボリンジャーバンドの上にあるなど。
取引実行
- 買いまたは売りの条件が満たされると、EAは、SL_MultiplierやTP_Multiplierに基づいて計算されたストップロス(SL)とテイクプロフィット(TP)を持つ取引を行います。
- ロットサイズは、選択したTradeSizeTypeに基づいて調整されるCalculateLotSize()関数を使用して計算されます。
- オーダーは、取引の問題をチェックするためのエラーハンドリングを伴ってOrderSend()関数を使用して実行されます。