Meta Trader5がもたらす新たな機会

7 10月 2015, 15:06
MetaQuotes
0
275

小史

Meta Trader4ターミナルの公式発表はわずか5年前のことで、既存の、そしてすでに人気のあった MetaQuotes Software Corpの第3世代ターミナルに代わるバージョンとして、まったくのゼロから記述されました。Meta Trader4は急速にトレーダーの好評を博し、その結果、後に何百ものブローカーがMeta Trader4プラットフォーム上でサービスを提供するようになりました。

この成功にもかかわらず、3年前、開発者らは、新世代の情報提供型トレーディングプラットフォームを作成することを決め、2009年11月には、Meta Trader5の公開検証が始まりました。われわれは皆、良く知られてなじみ深いものには強い関心を持ち、その変化に着目しています。トレーダーもこの行動に関しては、例外ではありません。したがって、われわれは皆望んで、よく知られているMeta Trader4と比較した、Meta Trader5プラットフォームの違いや長所を理解する手助けをすることを決めました。


新しいマーケットと手段

当初Meta Traderは、Forexマーケット上のトレーディング用の、便利でユーザフレンドリーなプラットフォームであることを目的としていました。今日、数年前にはほとんどすべての他のターミナルで、トレードはオンデマンドで実行され、独自のテクニカルインディケータやトレーディングロボットを作成することは不可能で、またテクニカル分析には実際のアクションよりも言葉がより用いられていた、ということを、想像することさえ難しいほどです。そして、他のフィナンシャルマーケットで売買していたトレーダーが、Meta Traderで売買したいと表明し始めました。

新たなトレーディングプラットフォームであるMeta Trader5は、まさにそのような機会-すなわち株、先物、オプション、また他の株式取引手段のトレードを行うこと、を提供するために設計されています。これによりトレーダーは、使い慣れたユーザフレンドリーなインターフェースを他のマーケットでも用いることができるだけでなく、異なるブローカーを通して取引できるようにもなります。トレーダーはまた、あらかじめ用意されたテクニカル手段のみならず、ユーザのコミュニティであるMQL5.communityによって記述された手段を提供するサービスにもアクセスすることができます。


MQL5言語

新世代の各ターミナルは、ビジュアルだけでなくプログラミング言語においても改良されました。この言語を使うと、独自のインディケータ、トレーディングロボット、そして多くのスクリプト形式でのMQL5サポートプログラムを記述することができます。新たな言語であるMQL5は旧バージョンとは異なり、より良いパフォーマンスを提供します。開発者は、ありふれた、汎用的かつ高レベルの言語で現在提供されるプログラム実行スピードと同等のパフォーマンスを、MQL5プラットフォーム上で達成することをゴールとして定めています。

加えて、MQL5言語では今や、オブジェクト指向アプローチ(OOP)を用いてプログラムを作成することができます。これにより、他のトレーダーやプログラマーによって書かれた、作成済みプログラムのより膨大なデータベースをも、ついに与えられることになるのです。MQL4のコードライブラリは、現在、世界最大であり、他のいかなるトレーディングプラットフォームよりも多くの作成済みサンプルを提供しています。

OOPを用いることはより大きな可能性を内包し、MQL5.comのコードベースセクションが当初から、MQL4では実装が難しいプログラムサンプルを蓄積し始めていたことは、偶然ではありません。同時に、MQL5言語を使うと、PLOが要求されていないか未調査である場合に、プロシージャ的アプローチにもとづいてプログラムを書くことができます。


ターミナルのイベント

クラスの登場によりMQL5言語が新たに改良されたのに加えて、このMQLの新言語を際立せているのが、もう1つの重要なディテール-イベントモデル、です。すなわち、プログラム内で、イベント、マウス、キーボード、プロパティの挙動や変更、そしてグラフィックを追跡することができるのです。かつてはタイマーイベント処理の追加を行いましたが-今や、スクリプトを書いて永続的に追跡する必要はありません。

そして、最も重要なことは-トレードイベントの処理、です。ストップロスの実行、ペンディングオーダーからの撤退、新たなポジションのオープン、すでにオープンしているポジションの追加-これらは、トレードイベントのすべての例です。加えて、今やすべてのトレード操作は非同期的に実行されます。Meta Trader4の操作とは異なり、トレードリクエストの送信後、トレードサーバからの応答を待つことなくすぐにプログラムによる作業を続けることができます。

したがって、MQL5によるプログラムの実行速度向上、クラスの使用、イベントハンドリング、そして非同期のトレードリクエストによって、MQL4では用いることができなかった新たなタイプのトレーディングロボットを実装することができます。


メタエディターにおけるコードデバッグ

最新のプログラミング言語では、高い抽象レベルでプログラムを記述することができ、この点においては、MQL5も例外ではありません。複雑なプログラムには、特別なデバッグツールの助けなしには発見が非常に難しい潜在的エラーがとてつもなく多く含まれます。そこで、メタエディターが提供するデバッガが、プログラマーにとって必要不可欠となります。

これにより、プログラムを順を追って追跡し、与えられた時点における変数の値を調べて、適切な場所にサポートポイントを設定することができます。この言語には今や、コードに問題がある領域を特定するプロセスを容易にするための、特別な特徴が追加されているのです。開発者らは、デバッグに必要とされる、そして最新の開発環境でプログラムを開発してきた誰もにとってなじみのあるすべての機能を、実装しようと試みました。


ポートフォリオ検証

さらに、Meta Trader3のクライアントターミナルは、履歴データ上で自動トレーディングシステムを検証することができるストラテジーテスターを含んでいました。Meta Trader4ではこれが徹底的に改良されて、ティックによる検証やビジュアルな検証が追加されました。オプションのすべてを網羅するだけでなく、高速最適化を実現するジェネリックアルゴリズムを用いることで、入力パラメータを最適化することができるようになったのです。

Meta Trader5ターミナルには、ティックごとのストラテジーテスターが用いられ、またティック生成のアルゴリズムを実装することで、最も正確な検証結果が得られるようになりました。しかし、この新アイテムの主な長所の1つは、手段のセットに関するプログラムを検証することができること、いわゆるポートフォリオ検証です。このタイプの検証では、ひとたびポートフォリオ検証を起動すると、ターミナルが、必要とされる各手段の履歴を自動でダウンロードするため、履歴の再ダウンロードは必要ありません。


マルチスレッド最適化

最新のコンピュータが計算処理のために2コアから8コアで構築され、また、オペレーティングシステムが適切なソフトウェアを使って、コア内のロードを分散することができるようになってから、ずいぶん経ちます。Meta Trader5ターミナルのテスターは、当初、すべての利用可能なコンピュータコアを活用して、エキスパートアドバイザーの入力パラメータを最適化するよう設計されていました。ターミナルは、利用可能な各コアにローカル検証エージェント1つを自動的に作成し、ユーザがどのコアを用いるかを選択することができます。

したがって、マルチコアコンピュータにおける最適化の時間は大幅に減少します;テスターは自動的に、各エージェントに検証パラメータと、次のパッセージへのインターバルを割り当てます。しかし、これですべてではありません-ローカルネットワーク上でも、インターネット経由でも、どのような利用可能なコンピュータをも選択することができるのです。このためには、MetaTester.exeユーティリティを用いて、リモートコンピュータ上に必要数の検証エージェントをインストールする必要があります。

このように、企業のローカルネットワークを巨大なコンピュータネットワークに変えることができ、そして、すべてのコンピュータリソースを100%使うことができるのです。リモートエージェントは、テスターから必要な検証履歴を過去に受け取っているため、サーバへに複数回リクエストする必要がありません。リモートエージェントへのアクセスは、パスワードで安全に保護されています。

エージェント内には、以下の保護メカニズムが実装されています:

  • クライアントターミナルとエージェント間の、暗号化され、かつトラフィックが圧縮されたネットワークプロトコル;
  • パスワードアクセス;
  • クライアントターミナルへの接続を認めるIPアドレスのリストを指定する機能;
  • DLLの使用を、ターミナルで適切に設定されたローカルエージェントのみに限定することができます;
  • 送信されたエキスパートアドバイザーのコードはエージェントのディスクに保存されず、移動可能な状態で転送され、またダンプによってアクセスされません;
  • エージェントはエキスパートアドバイザー名を把握せず、ディスク上の誤計算結果を保存しません(計算完了時に保持される情報量を最小にします);
  • エージェントはセキュリティシールドの開放による偽装や修正から保護されています。

したがって、Meta Trader5ターミナルのテスターは、トレーダーが、スーパーコンピュータにアクセスしなくとも解決できるなどとは夢にも思わないような、エキスパートアドバイザー最適化のためのそうした複雑な問題へのソリューションを提供します。


エキスパートアドバイザーを用いない場合には

自動トレーディングは年々人気が高まっていますが、エキスパートアドバイザーを持たない、あるいは手動トレーディングのみを実行するトレーダーに対して、Meta Trader5ターミナルはどのような新しいメリットを提供しているのでしょうか?インディケータやトレーディングロボットを書いた経験がない場合は、それらを次のウェブサイトからオンラインで注文することができます:MQL5.communityのトピック「ワーク」。このサービスは企画されたばかりで、もうすぐアクセス可能になる予定です。カスタムエキスパートアドバイザーを書くプログラマーにとっては、これは、サービスを提供するための大変良いプラットフォームとなります。

加えて、トレーダーは往々にして、トレーディングシグナルを有料で入手したり、公開したりする機会を探しています。これは、トレーディングストラテジーのいくつかは形式化できないこと、また、すべての操作を手動で行う必要によるのかもしれません。シグナルを有償頒布することができれば、プロフェッショナルにとっては、追加的な賞金として役立てることができます。初心者にとっては、新しいトレーディングシグナルを購読することは、最初に起こしがちな、避けることのできないエラーから預金を守るのに役立ちます。

しかしこれらのシグナルを購読する前に、シグナルトレーダーによって提供される統計の信頼性に、十分に確信が持てなければなりません。これは、エキスパートアドバイザーの形で実装されていれば、提案されるトレーディングシステムの検証レポートであるかもしれません。しかしこれさえも、将来的なシステムの安定性を十分に保証することはできないため、投資家は、リアルもしくはトレーニングアカウント上で長期間にわたって実行されるトレード操作の統計に、より関心を持っています。特別にこの目的のため、もう1つのサービスがMQL5.comのウェブサイトにまもなく加わる予定で、これにより、Meta Trader5プラットフォームのアカウントをモニターすることができるようになります。

上に述べたすべてにあと1つだけ追加できることとして、開発者らが、この新しいプラットフォームの開発で業績を締めくくる予定はない、という事実があります。ここで述べたサービスのすべてが、近い将来、Meta Trader5やメタエディター5にダイレクトに統合されていくでしょう。MQL5言語もまた、新しいサービスにできるだけシンプルにアクセスできるように、さらに修正されていくでしょう。


トレードの進化

多くのトレーダーが、Meta Trader5ターミナルの誕生後、視覚的にはMeta Trader4とそれほど変わっていないことに気が付きました。快適さや恩恵に通じるすべてのことは、MetaQuotes Software Corpのターミナルをつねに特別なものとしてきたことですが、新ターミナルの開発中、これらは、受け継がれました。他のターミナルから。したがって、2つのトレーディングプラットフォームのアーキテクチャは多くの点で異なっていながらも、新プラットフォームへの移行が、トレーダーやブローカーに困難をもたらすことはありません。

新しいMeta Trader5プラットフォームの公式リリースによって、Meta Trader4ターミナルがテクニカルサポートを終了するのではないかと恐れることなく、これを使い続けることができます。Meta Trader4のメリットは、蓄積されたコードや記事の膨大なデータベースの存在で、これらはMQL4.communityというウェブサイトで見つけることができます。同時に、Meta Trader5プラットフォームで提供されている新たな特徴は倍増する一方で、その新たなサービス、MQL5.communityをより多く使うための方法を、自然に覚えることができるでしょう。

したがって、上記のレビューをまとめて結論できることとして、新たなトレーディングプラットフォームとMeta Trader5は、一方では間違いなく、トレーダーにとっての新たな地平を切り開くことにより自動トレーディングの世界的な革命を実証しています。しかし他方では、新しいレベルのトレーディングへのこの質的躍進を、新たなリソースの開発にともなうストレスなしに、進化的な方法で、克服することができるのです。

MetaQuotes Software Corp.によりロシア語から翻訳された
元の記事: https://www.mql5.com/ru/articles/84

William Blauの指数MQL5におけるトレーディングシステムパート 1:インディケータ William Blauの指数MQL5におけるトレーディングシステムパート 1:インディケータ

本稿はWilliam Blau著"Momentum, Direction, and Divergence"に述べられるインディケータを紹介します。William Blau氏の手法により迅速に正確に価格曲線の変動を概算し、価格変動の傾向と変換点を判断し、価格ノイズを除去することができるようになりました。一方でまた、トレンドの終了と価格変動の逆転を示しながらマーケットの買いすぎ/売りすぎ状態、シグナルを検出することができます。

スペクトラム分析の構築 スペクトラム分析の構築

本稿は、MQL5言語のグラフィカルオブジェクト使用が可能なバリアントを知っていただくのが目的です。それはグラフィカルオブジェクトを使用し、シンプルなスペクトラム分析を管理するパネルの実装を行うインディケータを分析します。読者のみなさんには本稿をとおしてMQL5の基本を知っていただきたいと思います。

MQL5でトレンドを見つけるいくつかの方法 MQL5でトレンドを見つけるいくつかの方法

あらゆるトレーダーが、所定の時点におけるトレンドを正確に見つけるための多くの機会を提供することができます。これはおそらく、誰もが探している聖杯です。本稿では、トレンドを見つけるいくつかの方法を検討していきます。それはより正確に言えば-MQL5を用いてトレンドを見つけるいくつかの伝統的な方法をプログラムする方法、です。

カスタムグラフィックコントロールパート2コントロールライブラリ カスタムグラフィックコントロールパート2コントロールライブラリ

「カスタムグラフィックコントロール」シリーズ第2弾となる本稿では、プログラム(エキスパートアドバイザ、スクリプト、インディケータ)とユーザ間のインタラクションにおいて起こる主要な問題を処理するコントロールライブラリを紹介します。このライブラリにはたいへん多くのクラス(CInputBox、CSpinInputBox、CCheckBox、CRadioGroup、CVSсrollBar、CHSсrollBar、CList、CListMS、 CComBox、CHMenu、CVMenu、CHProgress、CDialer、CDialerInputBox、CTable)と、それらの使用例が含まれています。