ホーム システムトレード 投稿

SerialMA_EA - MetaTrader 5のための優れた自動売買システム

添付ファイル
20089.zip (7.9 KB, ダウンロード 0回)

このエキスパートアドバイザー(EA)は、SerialMAインジケーターに基づいています。

インジケーターの計算期間は、価格との交差点から始まり、次の交差点まで常に増加します。交差点が発生するたびに、インジケーターの計算は最小値から再スタートします。

このEAは、以下のインジケーター特性を利用しています:

  • シグナルバーのローソク足の終値がインジケーターラインの上にあり、前のバーのインジケーターポイントがそのライン上にある場合、ロングポジションを開くシグナルです。
  • シグナルバーのローソク足の終値がインジケーターラインの下にあり、前のバーのインジケーターポイントがそのライン上にある場合、ショートポジションを開くシグナルです。

ポジションオープニングモードは2つ選択できます:

  • 各シグナルで適切なポジションを一つ開き、逆のポジションはクローズします。
  • 同じ方向に一つのポジションのみ開けるモード。最初のシグナルでポジションを開き、逆のポジションはこのシグナルでクローズします。同じ方向のさらなるシグナルは無視され、逆のシグナルが出た場合にポジションが切り替わります(スイング)。
このEAはヘッジング口座での運用を目的としています。ネットトレード口座でEAを起動すると、警告メッセージが表示され、EAがアンロードされます。

正しくEAを運用するためには、コンパイル済みインジケーターファイルSerialMA.ex5をターミナルディレクトリの標準インジケーターフォルダー(Your terminal directory\MQL5\Indicators)に保存してください。

このEAでは、ロング/ショートポジションの有効/無効化や、インジケーターシグナルを逆転させて売りではなく買いをオープンすることも可能です。また、ストップロスとテイクプロフィットをポイントで設定できます。不正なストップロスやテイクプロフィットの値が指定された場合、EAはシンボルに対して許可されている最小StopLevelに値を調整します。

EAは、指定されたロットが不正な場合もロットを調整します。ロットが大きすぎる場合、EAはポジションを開けるように調整します。最低ロットを開くための資金がない場合、シグナルはスキップされます。

このEAはトレーニング目的で設計されていることに注意してください。

EAには12の入力パラメータがあります:

  • エキスパートマジックナンバー - EAのポジションのユニークな識別子;
  • ポジションオープニングモード - ポジションオープニングモード(各シグナルまたは一つのポジションのみ許可);
  • ロングポジションが有効 - ロングポジションのオープンを有効化;
  • ショートポジションが有効 - ショートポジションのオープンを有効化;
  • 逆トレード - 逆モードの選択(はい、いいえ):はいの場合、ロングシグナルに対してショートポジションがオープンされ、逆も同様;
  • ロット数 - オープンするポジションのボリューム;
  • ストップロス(ポイント) - ポジションのストップロス(ポイント単位);
  • テイクプロフィット(ポイント) - ポジションのテイクプロフィット(ポイント単位);
  • 価格スリッページ - ポジションオープン時の最大許容スリッページ;
  • ストップのためのスプレッド倍数 - ストップオーダーの適切な距離を計算するために適用されるスプレッド倍数(*)。
  • 環境更新待機時間(秒) - トレーディング環境の更新を待機する秒数(**);
  • 環境の状態を取得する試行回数 - 正確なトレーディング環境を取得するための試行回数(***)。
* ストップロスおよびテイクプロフィットオーダー(および保留オーダー)には、これらのオーダーを配置するための最小許容距離であるStopLevelがあります。つまり、ストップロスおよびテイクプロフィット(および保留オーダー)は、価格に対してこの距離よりも近くには配置できません。StopLevelがゼロである場合、それは存在しないことを意味するのではなく、浮動的であることを意味します。この場合、最小距離は通常スプレッドに等しいですが、時にはダブルスプレッドでも不十分です。このパラメータは、ストップオーダーを配置するための最小距離を計算するために使用するカスタムスプレッド倍数を指定することを許可します。
** トレーディングオーダーがサーバーに送信されると、実行の遅延が発生することがあり、マーケットポジションの数を正確にカウントできないことがあります。「未定義」の状態が検出された場合、EAは指定された秒数待機し、再度環境を読み取ります。
*** 一つのティック内の待機期間の数はEAパラメータで設定されています。正確な環境を取得するために許可されたすべての試行を行った後、EAは処理を終了し、次のティックを待ちます。この時点でトレーディング環境が更新されなかった場合、EAはこの新しいティックで再度試行を行います。

この戦略は、2017年1月4日から2018年2月9日までのデータを使用してデフォルト設定でテストされました。残念ながら、デフォルト設定では良好な結果は得られませんでした。したがって、逆モードでテストされ、逆モードでの結果は良好でした。このEAは動的に計算された移動平均からシグナルを受け取るため、最適化のためのパラメータはありません。しかし、EAに何を追加できるかを考えることはできます。たとえば、オープンポジションにトレーリングストップを適用することができます。

図1,2 テスト結果。

関連記事

コメント (0)