Ilan 1.6 Dynamic HT - MetaTrader 5向けのシステムトレーディング

Mike 2015.03.26 21:43 28 0 0
添付ファイル

著者: 不明

Ilan 1.6 Dynamic HTのアルゴリズムはシンプルで、価格の平均化に基づいており、各取引のボリュームを徐々に増加させます。

例えば、最初のロングポジションを開いた後に価格が下落し、特定のポイント範囲を超えた場合、より大きなボリュームのロングポジションが新たに開かれます。

このようにして、Ilan Dynamicの平均エントリープライスは現在の市場価格に近づきます。そのため、小さな価格の反発を待ち、全てのオープンポジションをTakeProfitを使用して利益でクローズするだけで済みます。Ilan 1.6 Dynamicによるエントリーの全体像は、以下のMetaTrader 5のストラテジーテスターのスクリーンショットに示されています:

ご覧の通り、価格は3つのバイポジションに逆らって動きましたが、小さな反発の後、全てのポジションが大きな利益でクローズされました。スクリーンショットには、TakeProfitレベル(緑の水平線)とStopLossレベル(赤の水平線)も表示されています。

このエキスパートアドバイザーは、過去の数本のバーの高値と安値の間の価格範囲に応じて、平均化のための価格レベルを動的に計算します。その名前にある「Dynamic」という言葉は、この点を示しています。

さらに、Ilan 1.6 Dynamicでは、TakeProfitの他に、クラシックなStopLoss、トレーリングストップ、時間によるエグジット、CCIインジケーターによるエグジット、全トレードの指定されたエクイティレベルによるエグジットを使用できます。

テスト結果

Ilan 1.6 Dynamicのテスト結果は、選択した時間足、テスト期間、取引対象、ブローカー、および初期条件によって大きく異なる可能性があります。

そのため、このEAは取引を行う市場やパラメータの慎重な選択を必要とします。それでも、デフォルト設定を使用することで、短期間の履歴でも一定の結果を得ることが可能です。以下は、エキスパートアドバイザーによって生成された典型的なエクイティとバランスのチャートです:


警告: Ilan 1.6 Dynamicの浮動利益/損失またはエクイティは、バランスと大きく異なる場合があります。このため、価格が反発なしに動くとエクイティが減少し、この取引戦略はマージンコールを引き起こし、預金を台無しにする可能性があります。 Ilan 1.6 Dynamicを使用する際は、フラットな市場でのみ実施してください。ロットエクスポネントの使用には注意が必要です!


入力とパラメータ

Ilan 1.6 Dynamicはデフォルトで最適に設定されています。このモードではほとんどのパラメータは使用されませんが、オプションをカスタマイズすることができます。

以下の表を使用して、パラメータをお好みに設定してください。

パラメータ名
デフォルト
説明
基本パラメータ
LotExponent  1.4
 次のポジションを開くときのロット乗数。例えば、LotExponent = 1.4およびLots = 0.1の場合、最初に開かれるポジションはロット0.1、次の平均化ポジションはロット0.2(0.1 * 1.4^2)、3つ目は0.3(0.1 * 1.4^3)、7つ目は1.0(0.1 * 1.4^7)となります。このパラメータは慎重に変更する必要があります。値は1.0(超保守的な取引)から2.0(超攻撃的な取引)までの範囲です。
MaxTrades 10  一方向に開くことができるポジションの数。ポジションの制限が超えられると、新しいポジションは開かれません。古いポジションは設定に応じた適切なエグジット条件でクローズされます。
DynamicPips  true  動的な価格範囲が使用される場合はtrue。
DefaultPips  120  価格チャンネルのデフォルトレベル(pips)。
Glubina 24   Ilan 1.6 Dynamicは、過去の数本のバーの高値と安値の間の価格範囲を計算します。このパラメータは、計算に使用するバーの数を示します。
DEL  次のBuyまたはSellレベルを定義するために使用する価格範囲の一部を示す比率。
Lots  0.1   最初の取引のロットサイズ。
lotdecimal   ロット計算の小数点以下の桁数。  0 - 通常のロット (1.0)、1 - ミニロット (0.1)、2 - マイクロロット (0.01)
TakeProfit 100   全てのオープンポジションがクローズされる現在の価格からのポイントにおけるTake Profitレベル。
slippage 30  ポイントにおける最大許容スリッページレベル。
MagicNumber  2222   エキスパートアドバイザーのマジックナンバー。
市場エントリー信号を定義するパラメータ
RsiPeriod 14  RSIインジケーターの期間。
RsiMinimum 30.0  RSIが現在のレベルを下回っている場合、Buyトレードは行われません。
RsiMaximum  70.0  RSIが現在のレベルを上回っている場合、Sellトレードは行われません。
クラシックなStopLossレベルの使用と設定
UseStopLoss false  デフォルトではStopLossレベルは使用されませんが、この変数の値をtrueに設定することで有効にできます。
StopLoss 500.0  ポイントにおけるStopLossレベル(デフォルト値は5桁のクォートに設定されています)。
エクイティストップの使用と設定
UseEquityStop false  すべてのポジションの合計損失が最大利益の一定割合に達した場合にポジションをクローズする場合はtrue。
EquityPercent 1.0  現在の口座エクイティに対するすべてのオープンポジションの利益の割合。この割合が超えた場合、すべてのポジションに対してエクイティストップがアクティブ化されます。
TotalEquityRisk 20.0  EAがすべての既存ポジションから退出する際の最大利益に対する損失の割合。
トレーリングストップの使用と設定
UseTrailingStop false  デフォルトではトレーリングストップは使用されませんが、この変数の値をtrueに設定することで有効にできます。
TrailStart 100.0  すべてのポジションの加重平均利益のポイントレベル。このレベルを超えると、トレーリングストップがアクティブ化されます。
TrailStop 100.0  現在の価格とStopLossの間のポイントレベルで、トレーリングされるべきもの。
CCIベースのストップの使用と設定
UseCCIStop false  デフォルトではCCIベースのストップは使用されませんが、この変数の値をtrueに設定することで有効にできます。
CCIPeriod 55  CCIの期間。
CCILevel 500  CCIの値がCCILevel(デフォルトは500)を超える場合、すべてのショートポジションがクローズされます。CCIが-500(デフォルト)未満の場合、すべてのロングポジションがクローズされます。
時間によるエグジットの使用と設定
UseCloseByTime  false  デフォルトでは時間によるエグジットは使用されませんが、この変数の値をtrueに設定することで有効にできます。
MaxTradeOpenHours  48  最初のポジションが開かれてからの時間数で、すべてのポジションがクローズされるまでの時間。取引時間のみが考慮されます。週末や祝日の時間は無視されます。

テストモード。最適な銘柄と時間足。

Ilan 1.6 Dynamicは主に短期的な価格変動から利益を得るために作られました。最適な時間足は15分足(M15)です。デフォルト設定は5桁のクォートで使用する必要があります。EAは以下のモードでのテストをサポートしています:

  • Every Tick. トレーリングストップを使用している場合や、TakeProfit、CCIストップ、エクイティストップの正確なエグジットを望む場合にこのモードでEAをテストします。
  • 1 minute OHLC. このモードは、高速なテスト速度とシグナルの正確性を兼ね備えた妥協案です。
  • Open prices only. これは最も速いモードです。このモードでは、バーチャル化により、バーのオープニング時にのみTakeProfitがトリガーされます。CCIストップとエクイティストップも同様の方法でトリガーされます。しかし、多くの場合、この人工的な近似は「Every tick」モードでのテストよりも良い結果をもたらします。

Ilan 1.6 Dynamicのアルゴリズムは、通常モードとランダムディレイモードの両方で成功裏にテストされています。

推奨銘柄

Ilan 1.6 Dynamicは、長いフラット(トレンドのない)期間を持つすべての通貨ペアで使用することをお勧めします。良いペアとしては、EURUSD、USDJPY、GBPUSD、USDCHF、EURCHFなどのメジャー通貨があります。EAの設定は5桁のクォートに最適化されています。4桁のペアでEAを使用したい場合は、以下のパラメータを最初に10分の1に減らしてください:

  • DefaultPips - 12;
  • TakeProfit - 10;
  • slippage - 3;
  • StopLoss - 50。

EAをコンパイルして動作させる方法(重要!)

Ilan 1.6 Dynamicは、注文のグリッドと個別のポジション管理を積極的に使用します。

そのため、MetaTrader 5環境でMetaTrader 4に似た動作を可能にする特別なバーチャライゼーションが必要です。これを行うため、ライブラリが提供する環境で動作するHedgeTerminalAPIライブラリの関数を呼び出します。このライブラリの使い方については、記事「MetaTrader 5におけるポジションの双方向取引とヘッジの使用、パート1」をお読みください。EAの取引ロジックを変更したい場合は、EAのコードがどのように機能するかを理解するためにこの記事をお読みください。

始める前に、コンピュータにHedgeTerminalAPIライブラリをダウンロードする必要があります。その後、エキスパートアドバイザーで使用されるソフトウェアモジュールをコンピュータにコピーします(この資料に添付されています)。これらのモジュールの詳細は以下の通りです。

  • ilan_1.6_dynamic_ht.mq5 - 基本モジュール。EAの取引ロジックが含まれています。「HT」というタグは、このエキスパートアドバイザーがHedgeTerminalAPIライブラリを必要とすることを示します。このファイルはterminal_data_folde\MQL5\Experts\フォルダーに保存する必要があり、他のすべてのモジュールはterminal_data_folder\MQL5\Include\に保存する必要があります。
  • prototypes.mqh - ライブラリとの相互作用に必要なプロトタイプのファイル。
  • drawhedgeposition.mqh - EAの取引をMetaTrader 4のようにトレース(描画)します(最初のスクリーンショットを参照)。双方向ポジションは、MetaTrader 5のように一つ一つ追従するのではなく、並行して開かれます。
  • environment.mqh - エキスパートアドバイザーの取引環境のモジュール。EAに必要な取引情報を集めます。EAが開いているポジションの数、利益/損失など、他の多くの便利な詳細を知ることができます。
  • testertable.mqh - ストラテジーテスターでのエキスパートアドバイザーのすべてのオープンポジションの簡単なテーブルを表示します。EAのポジションがリアルタイムで表示されるようにするには、HedgeTerminalパネルを使用してください。
  • indicators.mqh - インジケーターのモジュール。インジケーターのデータにアクセスするための簡単なインターフェースを提供します。
  • tradestate.mqh - エキスパートアドバイザーの取引状態のモジュール。MetaTrader 5では、実行された注文が注文履歴に追加されるまでに時間がかかる場合があり、そこから分析できます。このモジュールは、注文が履歴に追加されるのを正しく待つのに役立ちます。

エキスパートアドバイザーの動作を視覚化し、手動操作を通じてその動作を制御する方法

Ilan 1.6 Dynamicは、同時に複数の一方向ポジションを管理します。これらすべてのポジションは、MetaTrader 5では1つのネットポジションとして表示されます。EAのポジション管理を簡単にアクセスし、各時点での取引状態を把握するためには、デモパネルHedgeTerminalをインストールすることをお勧めします。これを起動すると、エキスパートアドバイザーのポジションが以下のように表示されます:

詳細については、記事MetaTrader 5におけるポジションの双方向取引とヘッジの使用、パート1をお読みください。

リスト
コメント 0