![自動化トレーディングシステムの作成](https://c.mql5.com/i/articles/overlay.png)
自動化トレーディングシステムの作成
はじめに
これはおそらく魅力的にうつるでしょう - 数分間で利益を生む自動トレーディングシステム(ATC)を作成するプログラムの所有者になれるのです。望ましいインプットを入れ、Enterを押すのみです。そして、テストされたATCを取得し、期待される結果を得ることができます。ユニークなATCの開発に数千時間もかけているところ、これらの内容は浅はかに聞こえます。
一方で、これはとても印象的でもあります。しかし、この問題は解決することができるのです。マーケットの変動の本質は常に変わり、トレーダーに使用されるツールは、変化する条件に対してあまり順応しません。何に対して順応すべきかということについて明確な考えを持っている必要があります。多くの場合、適切な行動パターンを決定する上で取り囲む環境を明確に定義することはできません。
不確実な中でのアルゴリズムの作成について言及すれば、盲目な人がどうやってその他の盲目な人に行き先を示すことができるでしょうか?一方で、すべて遅かれ早かれ繰り返され、過去に起こった状況は未来でも発生します。これは、多くのATSの根底にある事実です。マーケットの変化する条件への順応について言及していません。統計的に過去の受容できる結果をもたらす瞬間が帰ってくるまで待つ辛抱強さと能力について強調すべきでしょう。
自動化トレーディングシステムは何のために存在するのでしょうか?
ATSは、マーケットでどの処理を実行すべきかわからないトレーダーのため、であると答えたくなります。もしトレーダーが何をすべきかわかっていれば、ATSを用いる必要はありません。しかし、これはこの記事の範囲外です。同時に人間は常に何をすべきか知っていれば、それは人間ではありません。
これはもちろんジョークです。しかし、このため真っ暗の中で盲目になるような気がします。そのため、不確実な状況のために周期が存在しています。明確なサイクルとして昼夜の変化を考察できます。夜は昼の後に続き、逆もまたしかりであることは常識です。昼が終わり、暗くなることもまたわかります。おおよそマーケットでも同じ常用です。もし古典的なフラットな動きを見れば、確実にトレンドが続きます。そして、もしチャートでトレンドを見れば、フラットな動きか、正反対の弱りトレンドが続きます。
言い換えれば、未来のための適切な市場行動パターンを決定するために、マーケットの現在の状況を定義し、分類する必要があります。それは、チャレンジとなるポイントです。すべてのトレーダーはマーケットが現在どういう状況かについて考えがあります。これは、それぞれが独自でチャートを監視しているためです。同時に、もしすべての株をトレーダーで分ければ、大半の資金が半年かそれ以上の期間にて投資してきたトレーダーの間に降ってくるだろう。
もし異なれば、数年ものトレンドを見ることはありません。金融市場の特異性はこのスケールを示します。もしオープンポジションに対する投資時間を劇的に減らし、巨額な投資を短期間で行えば、マーケットは死ぬか、かなり非流動的になり、そのような市場で投資するのは一種の募金になります。大規模なオペレーターは数週間や数ヶ月でポジションの形成期間を伸ばさなければなりません。大きいポジションは1時間でクローズできません。
Forexは、1日で3-4兆ドルの額で取引する一方、これらの量はレバレッジが用いられています。つまり、オープンポジションはクロージングにてスワップされ、運転されている資金はずっと小さいものです。もしダイレクトコンバージョンで通過を変換すれば、この処理は逆のスワップではカバーできません。そのため、増加する効果に帰結するこのリスクをカバーする人を探す必要があります。
数十億ドルでのオープンポジションの形成はマーケットを「動かす」ことになるでしょう。そのような額は差について考慮しないヘッジファンドや巨額な年金にとっては普通のことです。特定の通貨にてより利益を生む利率のツールを探し、見つけると一年間かそれ以上の期間で投資します。その通貨の差は、ボーナスとして考えられます。
これらをようやくすると、フラットな動きの間での予測できない変動は大きいダイレクトコンバージョンの処理結果として始まります。そのトレンド自体はこれらの処理から生まれます。マーケット参加者は取得したリスクをカバーし、同じ方向でポジションをオープンするためです。より長くフラットな値動きがあれば、より次のトレンドが強くなります。
市場のパターン
大規模なオペレーターがコンバージョン処理に関するアクションを隠すように、後者は遅かれ早かれ明らかになります。異なる問題は、一般のトレーダーがマーケットで何が起こっているか理解した時でうs。完了するまで彼らの行動を隠すことが、彼らの利益になります。そのようなアクションをできる限り早く認知し、前もって利益を生むポジションを取得すれば、個人投資家の利益になります。とにかく、大きいポジションを形成することは、複雑で長期的なプロセスであり、詳細まで計算され、前もって評価される必要があります。
大きいポジションの形成の規制は、依然存在し、これらのアクションの実行段階で認知できる法則と一致します。これはすべてのマーケットパターンの基礎となるものです。特定のアクションは価格チャートでの特定のパターンとして反映されます。マーケットパターンの詳しい分析を始めるために、それらが何を示し、何を得るべきなのかを知ること妥当です。最初の例として、テクニカル分析に関する古典的な本で記載されているマーケットパターンを詳しく見ていきます。
例えば、「Double Top/Bottom」、「Head and Shoulders」、「Triangle」などのチャートパターンは、チャートで形成されたのち特定の価格の動きが続くため、マーケットパターンとして認識されています。従って、そのマーケットパターンは、以下の通り定義されています:
大半の統計的なケースにて以下を追加します。
もし価格チャートを考察するのであれば、様々なマーケットパターンが既存のエラーにも関わらず視覚的に認識できます。しかし、コンピューターは正確性を好み、不確実性に耐えられないため数学的なメソッドを使用する必要があります。
マーケットパターンのクリーン性と予想可能性
いかなるマーケットパターンも何らかの数学的用語で記載できます。マーケットパターンの記載でより多くのパラメーターが使用されれば、より明確になり、将来より簡単に認識できます。一方で、数学的にマーケットモデルを記述し始める前に、期待される結果を提供するものを選択するべきです。しかし、ここでいくらかの問題があります。
これらのパターンをどのように定義し選択するべきでしょうか?これを考えてみると、その他のトピックとの関連性を見つけました。例えば、純血の馬を育てる飼育員を考えてみましょう。以前の経験から勝負に強い馬を育てる必要な条件を理解していました。例えば、馬の親や祖先が純血のレーサーである必要があります。住処の条件、餌、トレーニングもまた特別な必要条件です。もし飼育員がすべての必要項目を満たせば、期待に応える若い馬を得ることができます。
マーケットの用語では、これらの条件は将来の期待に応えるマーケットパターンです。唯一の違いは、トレーダーがこれらの条件を作り出すことができず、条件が満たされるのを待つことしかできないということです。上記に関して、どのようなパターンが数学的に記述されるために選択されるべきか、そして、どのようにそれらを早い段階で認識するか定義する必要があります。反対に動くことが妥当でしょう。つまり、まず期待される結果を定義し、それから過去にそのような結果を提供する条件を分析することです。
例えば、1トレードにつき100ポイント取得しようとします。従って、これらの100ポイント +スプレッド +コンティジェンシー株 (30-35%)を超える価格の動きが必要です。これらの価格の動きが一瞬で到達し、いかなる訂正も含まないことが望ましいです。トレーダーによって利用される数学的なツールを用いてマーケットパターンを記述するために妥当です。インジケータやインプとは前もって定義される必要があります。さらなるアクションは以下の通りです:
- チャートにて必要な条件を満たすエリア、つまり130-140ポイントで移動する動きを選択し、印をつける;
- 開始したエリア/ポイントを定義する;
- 数学的な用語にて開始したエリア/ポイントを記述する;
- 取得された記述にて共通のパラメーター値を見つける.
もし共通のパラメーターが見つけられれば、マーケットパターンにおける基礎としてこれらを用いることができます。もしすべての状況が独特のように見えれば、パターンを記述するためにインジケーターを変更するか、既存のもののためにより良いパラメーターを探すことが妥当です。
次のステージは、取得されたマーケットパターンのテストです。この段階で、その価格は同条件では常に130-140ポイントにならず、到達しない場合や、超える場合もあるということがわかります。そのため、あなたのパターンが期待される結果を提供するケースや、統計的エラーと考えられるケースの量を考察する必要があります。もし特定のレベルよりも統計エラーが超えてしまうのであれば、再定義するためにパターンを記述する追加のパラメーターを入力する必要があります。これが特定の目的のためにマーケットパターンを記述する方法です。
そのような記述のため、特定のマーケットパターンをの形成を修復し新しいトレードを始めるためのシグナルを出すATSを作成します。私の意見では、最も難しいことは、すべてのパターンが履歴データに基づいて構築され、将来の行動を誰も推測できないという点です。純血の馬は時折悪い馬を生むことがあります。
最後の頼みはテストを続けることです。つまり、履歴データをもとに満足のいく結果を取得すれば、トレードを始め、生じたメソッドにより統計パラメーターを監視し続けます。結果が満足のいかないものになれば、再度計算し、記述し直す必要があります。
ATSの作成の自動化
ATSの根底にあるパターンの記述や選択を自動化することができるかを考えてみましょう。技術的に言うと、困難なことではありません。以前記載した通り、マーケットパターンの記述は目的の定義から始まります。履歴データベースにてあらかじめセットした基準を満たす状況を選択します。
あまり経験のないプログラマも履歴データにあらかじめセットされた長さの触れ幅を選択し、登録することができます。しかし、選択した状況の記述に関する次のステージは、新鮮なアプローチや経験を必要とします。価格の動きのエリア/ポイントを記述する段階で、パラメーターの多重の組み合わせを持つ膨大な量のインジケーターで探す必要があります。より多くのインジケーターやパラメーターが記述に関われば、そのパターンはより正確に記述され、より容易にその記述を完全に満たさないマーケットの状況をフィルタリングすることができます。
その後、価格移動の始まるポイント/エリアを記述する全く新しい複数のパラメーターから、選択されたケースにてこれらを繰り返し、パターンの記述にて使用します。
まとめ
言い換えれば、このプロセスは自動化できます。問題は、個人的にどれだけの時間消費するかはわからないことです。これは、私が本当のプログラマではないためです。これに興味がある方は、トレーディングシステムの作成を解決し、よい結果を得るために経験や努力を注ぐべきだと思います。
最初の目的として、セットされたパラメーターでのマーケット状況の選択アルゴリズムの作成を狙うことができます。これが解決されれば、マーケットパターンの記述アルゴリズムを開発できます。
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/1426
![RSS フィードによるトレードシグナルの送信](https://c.mql5.com/2/14/389_38.gif)
![人気のトレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート2)](https://c.mql5.com/2/15/576_89.gif)
![外為市場は予測可能なのか?自分独自のトレーディング戦略を作成する方法は?](https://c.mql5.com/2/14/372_19.png)
![MQL5 - MetaTrader 5クライアントターミナルにビルトインされたトレードストラテジーの言語](https://c.mql5.com/i/registerlandings/logo-2.png)
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索