EAの目的
このEAは、任意のカスタムインジケーターと連携し、売買シグナルを表示するために設計されています。ただし、文字列パラメーターを持つインジケーターには対応していません。
EAのパラメーターには、カスタムインジケーターの名前、売買シグナルを描画するためのバッファの番号、及びその他の設定が含まれます。

文字列パラメーターを使用する際にも、最大5つのパラメーターを最適化することが可能です。iCustomParamの変数リストの代わりに、Opt_1_ValueからOpt_5_Valueのいずれかの値を使用できます。

エキスパートアドバイザーのパラメーター
- TimeFrame - EAが動作する時間足: 0 - チャートの時間足、またはテスターで選択された時間足。1, 5, 15, 30, 60, 240, 1440などの特定の値も指定可能。
- iCustomName - カスタムインジケーターの名前。
- iCustomParam - パラメーターのリスト("/"で区切る)。ブール変数には、trueの代わりに1、falseの代わりに0を使用します。文字列変数が含まれている場合、EAは動作しません。
- iBuyBufIndex - 買いシグナルのバッファインデックス。
- iSellBufIndex - 売りシグナルのバッファインデックス。
- iShift - インジケーターのオフセット。1 - 完成したバーで動作、0 - 形成中のバー(推奨しません)。2, 3, 4...の値も入力可能。
- Opt_1_Use - 最適化する変数1の使用を有効にします。最適化する変数がアクティブな場合、iCustomParamの値の代わりにOpt_X_Valueの値が使用されます。
- Opt_1_Index - パラメーター配列内の最適化する変数2のインデックス(iCustomParam内)。番号はゼロから始まります。
- Opt_1_Value - 最適化する変数1の値。
- Opt_2_Use - 最適化する変数2の使用を有効にします。
- Opt_2_Index - 最適化する変数2のインデックス(iCustomParam内)。番号はゼロから始まります。
- Opt_2_Value - 最適化する変数2の値。
- Opt_3_Use - 最適化する変数3の使用を有効にします。
- Opt_3_Index - 最適化する変数3のインデックス(iCustomParam内)。番号はゼロから始まります。
- Opt_3_Value - 最適化する変数3の値。
- Opt_4_Use - 最適化する変数4の使用を有効にします。
- Opt_4_Index - 最適化する変数4のインデックス(iCustomParam内)。番号はゼロから始まります。
- Opt_4_Value - 最適化する変数4の値。
- Opt_5_Use - 最適化する変数5の使用を有効にします。
- Opt_5_Index - 最適化する変数5のインデックス(iCustomParam内)。番号はゼロから始まります。
- Opt_5_Value - 最適化する変数5の値。
- MMMethod - 資金管理方法: 0-ロット数, 1-自由証拠金の一部 (リスク), 2-平均ステップに正規化された自由証拠金の一部。
- Lots - MMMethod=0のロット数。
- Risk - リスク。FixedLot=falseの場合の資金に基づく値。
- MeansType - ロット計算に使用する資金の種類。1 - バランス, 2 - エクイティ, 3 - フリーマージン。
- MeansStep - 資金のステップ。MMMethod=2で使用。
- LotsDigits - ロット値の小数点以下の桁数。
- Slippage - 要求価格からの許容変動。
- StopLoss - ストップロス。
- TakeProfit - テイクプロフィット。
- Magic_N - マジックナンバー。
- MaxOrdersCount - 開かれた注文の最大総数。-1の場合は制限なし。
- MaxBuyCount - 開かれた買い注文の最大数。-1の場合は制限なし。
- MaxSellCount - 開かれた売り注文の最大数。-1の場合は制限なし。
- SleepBars - 注文を開いた後のバー数のタイムアウト。
- CancelSleeping - 反対方向の注文を開く際のタイムアウトのキャンセルを有効にします。
- CloseOnRev - 注文を開く前に反対方向の注文を閉じます。
- TrailingStop_Use - トレーリングストップ機能を有効にします。
- TrailingStopStart - トレーリングストップを有効にするための注文の利益。
- TrailingStop - トレーリングストップレベル。
- BreakEven_Use - ブレイクイーブン機能を有効にします。
- BreakEvenStart - ブレイクイーブンを有効にするための注文の利益。
- BreakEvenLevel - ブレイクイーブンの発動価格からのストップロスを設定するレベル。
注意
このエキスパートには、ind_Testインジケーター(2つのMAのクロス)を使用するための設定例が含まれるtest_example.setファイルが含まれています。また、最適化する変数も含まれています。ind_Testインジケーターも添付されています。
バージョン2
1. 開閉シグナルに異なるインジケーターを使用できるようになりました。開閉インジケーターのパラメーターは、開くインジケーターには_O_、閉じるインジケーターには_C_という接頭辞が付きます。
開閉インジケーターの使用に関しては、次の3つのモードがあります(_OС_Mode変数で定義):
- モード1 - 閉じるためのインジケーターは使用しません。閉じるのはストップロスとテイクプロフィットのみ。
- モード2 - 閉じるインジケーターは使用しません。ストップロスとテイクプロフィットの他に、反対注文のシグナルで閉じます。ストップロスとテイクプロフィットは無効にできます - StopLossおよび/またはTakeProfitに0を設定します(すべてのモードに適用)。
- モード3 - 閉じるインジケーター(_C_)に基づく別々の閉じるシグナルを使用します。このモードでは、開閉インジケーターのパラメーターをコピーする追加モード(C_UseOpenParam変数)を使用することもでき、インジケーター名とパラメーターがコピーされます。このモードは、開閉シグナルを生成するインジケーターの最適化速度を向上させるために作成されました(最適化されたパラメーターもコピーされます)。
2. 矢印だけでなく、ラインを持つインジケーターも使用可能になりました。2本のライン(主ラインとシグナルラインの交差)や1本のライン(レベルとの交差)を使用できます。インジケーターのタイプを選択するには、_O_Mode変数(閉じるブロックでは_C_Mode)を使用します。
- モード1 - インジケーターが矢印を描きます。_O_M1_iBuyBufIndexおよび_O_M1_iSellBufIndex変数を使用してバッファ番号を指定し、閉じるブロックでは_C_M1_iCloseBuyBufIndexおよび_C_M1_iCloseSellBufIndexを使用します。
- モード2 - インジケーターの主ラインとシグナルラインを使用します。主ラインが下からシグナルラインを交差した場合、買いシグナルまたは売り閉じシグナルとなります。_O_M2_iMainBufIndex、_O_M2_iSignalBufIndexおよび_C_M2_iMainBufIndex、_C_M2_iSignalBufIndex変数を使用してバッファを指定します。
- モード3 - 1本のインジケーターラインを使用します。バッファ番号は_O_M3_iBufIndex変数(または閉じるブロックの_C_M3_iBufIndex)に指定します。_O_M3_BuyLevelと_O_M3_SellLevel(閉じるブロックでは_O_M3_CloseBuyLevelと_C_M3_CloseSellLevel)を使用してレベル値を指定します。買いレベルを下から交差させると買い、売りレベルを上から交差させると売りとなります。
バージョン3
新たに_O_Modeモード(および_S_Mode)が追加されました。
モード4 - 3点によるエクストリーム。1本のインジケーターラインを使用します。バッファ番号は_O_M4_iBufIndex(または閉じるブロックの_C_M4_iBufIndex)変数に指定します。

バージョン4
1. 保留注文の操作が追加されました。
2. プロパティウィンドウにセクション区切りが追加されました(文字列変数から)。
注文タイプの選択は、OrdType変数によって行われます: 0 - マーケット、1 - ストップ、2 - リミット(この変数は「注文」セクションにあります)。
保留注文の操作を管理するための変数セクション:
- PendLevel - 現在の市場価格から保留注文を出すレベル。
- PendPromPrice - 保留注文を出す価格はゼロバーの価格から計算されます。PendPromPrice=0の場合 - クローズ価格から(現在の市場価格に対応)、1 - バットオープン価格から。
- PendNewSigMode - 新しい取引シグナルに対する保留注文の管理方法: 0 - 注文が既に出ている場合、新しい取引シグナルが出ても何も行いません。1 - 新しいシグナルで注文を置き換えます。2 - 新しいシグナルで注文を「より良いレベル」にのみ置き換えます - バイストップは下のみ、バイリミットは上のみ、セルストップは上のみ、セルリミットは下のみ。
- PendPriceFollow - 価格追従モード。PendPromPriceの変化に応じて注文が修正され、注文は「より良い価格」にのみ置き換えられます(PendNewSigMode変数の説明を参照)。
- PendDelete - 反対の取引シグナルで保留注文を削除します。falseの場合、異なる方向の2つの保留注文が同時に存在することが可能です。
- PendExpiration - 注文の有効期限(最小値は11分)。