エキスパートアドバイザーの基本クラス
このセクションには、取引ストラテジーを作成とテストするクラスの操作に関する技術的な詳細と関連するMQL5 標準ライブラリコンポーネントの説明が含まれています。
これらのクラスの使用は、取引ストラテジーの作成時に時間を節約します。
MQL5 標準ライブラリの取引ストラテジーに関連したファイルは、端末ディレクトリの IncludeExpertフォルダ内に配置されています。
Class | 説明 |
CExpertBase | 全ての取引ストラテジークラスの基本クラス |
CExpert | エキスパートアドバイザーの基本クラス |
CExpertSignal | 売買シグナルの基本クラス |
CExpertTrailing | トレール注文の基本クラス |
CExpertMoney | 資金管理の基本クラス |
売買シグナルのモジュール
クライアント端末の標準パッケージは「MQL5 Wizard」のための売買シグナルの既製モジュールのセットを含んでいます。MQL5 Wizard でのエキスパートアドバイザー作成の際に、売買シグナルモジュールの(64 までの)組み合わせを使用することが出来ます。取引操作の最終決定は、含まれたモジュールの全てから取得されたシグナルの複雑な分析に基づいて行われます。取引意思決定の仕組みの詳細な説明は下記で与えられています。
標準パッケージは以下のシグナルモジュールを含みます。
- AC オシレーター( Accelerator Oscillator )指標のシグナル
- 適応型移動平均( Adaptive Moving Average )指標のシグナル
- オーサムオシレーター( Awesome Oscillator )指標のシグナル
- ベアパワー( Bears Power )オシレーター指標のシグナル
- ブルパワー( Bulls Power )オシレーター指標のシグナル
- CCI( Commodity Channel Index、コモディティチャンネルインデックス)指標のシグナル
- デマーカー( DeMarker )オシレーター指標のシグナル
- 2 重指数移動平均( Double Exponential Moving Average )指標のシグナル
- エンベロープ( Envelopes )指標のシグナル
- フラクタル適応型移動平均( Fractal Adaptive Moving Average )指標のシグナル
- 日中時間フィルタのシグナル
- MACD オシレーターのシグナル
- 移動平均( Moving Average )指標のシグナル
- パラボリック SAR( Parabolic SAR ) 指標のシグナル
- 相対力指数( Relative Strength Index )オシレーターのシグナル
- 相対力指数( Relative Vigor Index )オシレーターのシグナル
- ストキャスティックス( Stochastic )のシグナル
- 3 重指数平均( Triple Exponential Average )オシレーターのシグナル
- 3 重指数移動平均( Triple Exponential Moving Average )指標のシグナル
- ウィリアムパーセントレンジ( Williams Percent Range )オシレーターのシグナル
シグナルモジュールに基づいて取引決定を下すメカニズム #
取引意思決定のメカニズムの基本原理は、以下のリストとして表すことが出来ます。
- シグナルの各モジュールは、マーケットモジュールのセット(価格及び指標の値の特定の組み合わせ)を有します。
- 各マーケットモデルは、1〜100の範囲の意義を持っています。意義が高いほど、モデルは強くなります。
- それぞれのモデルは、価格の動きの方向の予測を生成します。
- モジュールの予測は、埋め込まれたモデルの検索の結果で、-100〜100の範囲内の数として出力されます。符号は予測された動きの方向を決定します。(負の符号は価格の下降、正の符号は価格の上昇を意味します。)。絶対値が見つかった最良モデルの強度に対応しています。
- 各モジュールの予測は、設定で指定された 0~1 の範囲を持つ係数(「重さ」)とともに最後の 「投票」に送信されます。
- 投票の結果は、符号が予測移動方向を決定する-100〜100 の範囲内の数であり、絶対値は、信号の強さを特徴付けます。これは、全てのシグナルモジュールの重み付きの予測の算術平均として計算されます。
生成されたエキスパートアドバイザーにはそれぞれ 2 つの調整可能設定があります。それは 0〜100 の範囲を持つ、注文を出す及び決済する際のしきい値レベルです(ThresholdOpen とThresholdClose)。最終のシグナル強度がしきい値レベルを超えた場合、シグナルの符号に対応する取引操作が行われます。
例
ThresholdOpen=20 及び ThresholdClose=90 のしきい値を持つエキスパートアドバイザーを見てみましょう。「重さ」0.4 のMA シグナルモジュールと「重さ」0.8 の ストキャスティックス シグナルモジュールの 2 つが取引操作の決定に参加するとします。収得された売買シグナルの 2 つのバージョン体を分析してみましょう。
バージョン1
価格が上昇中のMAを上向きに交差しました。これはMA モジュールに実装されているマーケットモデルの 1 つに対応します。このモデルは価格上昇を暗示します。その意義は、100 に等しいです。同時に、ストキャスティックスーーが拒否して価格との乖離を形成しました。これはストキャスティックスモジュールに実装されているモデルの 1 つに対応します。このもでるは価格下降を暗示します。このモデルの「重み」は 80 です。
ここで「投票」の結果を計算しましょう。MA モジュールから取得された値は 0.4 * 100 = 40 として算出されます。ストキャスティックスモジュールから取得された値は 0.8 * (-80) = -64 として算出されます。最終的な値は、これら 2 つの値の算術平均として (4 – 64)/2 = -30 で計算されます 。投票の結果は 12 に等しい相対的な強さを持つ売りシグナルです。20 のしきい値には届きません。従って、個の取引操作は行われません。
バージョン 2
価格が上昇中のMAを下向きに交差しました。これはMA モジュールに実装されているモデルの 1 つに対応し、価格上昇を暗示します。その意義は、10 に等しいです。同時に、ストキャスティックスーーが拒否して価格との乖離を形成しました。これはストキャスティックスモジュールに実装されているモデルの 1 つに対応します。このもでるは価格下降を暗示します。このモデルの「重み」は 80 です。
ここで「投票」の結果を計算しましょう。MA モジュールから取得された値は 0.4 * 10 = 4 として算出されます。ストキャスティックスモジュールから取得された値は 0.8 * (-80) = -64 として算出されます。最終値は、これら 2 つの値の算術平均として (4 – 64)/2 = -30 で計算されます 。投票の結果は 30 に等しい相対的な強さを持つ売りシグナルです。これは20 のしきい値を超えます。よって、ショート(売り)注文を出すシグナルが結果となります。
a) 価格のストキャスティックスーの発散(変種1及び2)。
b) 価格が MA を上向きに交差しました(変種 1)。
c) 価格が MA を下向きに交差しました(変種 2)。
トレール注文のクラス
このセクションには、トレール注文のクラスの操作に関する技術的な詳細と関連するMQL5 標準ライブラリコンポーネントの説明が含まれています。
これらのクラスの使用は、取引ストラテジーの作成時(及びテスト時)に時間を節約します。
MQL5 標準ライブラリのトレール注文に関連したファイルは、端末ディレクトリの IncludeExpertTrailing フォルダ内に配置されています
Class | 説明 |
CTrailingFixedPips | このクラスは、固定点に基づいたトレール注文のアルゴリズムを実装します。 |
CTrailingMA | このクラスは、移動平均指標の値に基づいたトレール注文のアルゴリズムを実装します。 |
CTrailingNone | スタブクラスで、トレール注文のアルゴリズムを使用しません。 |
CTrailingPSAR | このクラスは、パラボリック SAR 指標の値に基づいたトレール注文のアルゴリズムを実装します。 |
資金管理のクラス
このセクションには、資金及びリスク管理のクラスの操作に関する技術的な詳細と関連するMQL5 標準ライブラリコンポーネントの説明が含まれています。
これらのクラスの使用は、取引ストラテジーの作成時(及びテスト時)に時間を節約します。
MQL5 標準ライブラリの資金及びリスク管理に関連したファイルは、端末ディレクトリの IncludeExpertMoney フォルダ内に配置されています。
Class | 説明 |
CMoneyFixedLot | このクラスは、事前に定義された固定ロットサイズでの取引に基づく資金管理アルゴリズムを実装します。 |
CMoneyFixedMargin | このクラスは、事前に定義された固定証拠金での取引に基づく資金管理アルゴリズムを実装します。 |
CMoneyFixedRisk | このクラスは、事前に定義されたリスクでの取引に基づく資金管理アルゴリズムを実装します。<77/84/88% > |
CMoneyNone | このクラスは、事前に定義された最小限のロットサイズでの取引に基づく資金管理アルゴリズムを実装します。 |
CMoneySizeOptimized | このクラスは、前の取引の結果に応じて変更されたロットサイズでの取引に基づく資金管理アルゴリズムを実装します。 |
Originally posted 2019-07-30 10:17:42.