メタトレーダー5 - 想像以上の製品です!

MetaQuotes | 2 10月, 2015

はじめに

メタトレーダー5の開発は2007年に開始されました。メタトレーダー5は、Forexを含め、その他複数の金融市場にて稼働する革新的な取引プラットフォームとして認められました。その後も、多くの開発が行われた結果、トレーダーにとって限りない取引機会を提供するプラットフォームが完成しました。この記事では、メタトレーダー 5の重要な特徴を紹介し、旧バージョンとの比較を行いたいと思います。

  1. チャート
  2. ナビゲーター
  3. トレーディング
  4. ツールボックス
  5. テストと最適化
  6. MQL5.communityとの統合
  7. メタエディター
  8. MQL5プログラム言語
  9. トレーダー・開発者向けサービス


1. チャート

メタトレーダー5の特徴的な利点である、分析の部分から紹介を始めます。リアルタイム価格チャートは、メタトレーダー4と比較するとより多くの機能を提供しています。

1.1. カスタマイズと21の時間フレーム メタトレーダーのチャート図は様々な調整を行うことができ、各トレーダーの好みに合わせてカスタマイズすることができます。メタトレーダー5は、折れ線グラフ・バーチャート・日本のロウソク足の3種類のチャート図を提供しています。チャート図では、個々の項目に対して個別の色を指定することができ、長期に及ぶ作業時にも快適な画面にカスタマイズすることができます。旧バージョンと比較して、メタトレーダー5はチャートの期間を二倍以上の種類で行うことができます。新バージョンでは、21のタイムフレームの設定が可能になりました。

カスタマイズ可能チャート

1.2. 1分足の利点 メタトレーダー5は、全く新しい原則に基づいて価格データの保持・送信を行います。旧バージョンでは、それぞれの異なるタイムフレーム上のデータは、別々にターミナルに送られていました。新バージョンにおいては、データは1分足の状態で送信・保存され、クライアントターミナル上にて高いタイムフレームが1分足に基づき構築されます。これにより、履歴データのダウンロードが一回で済むため、多くのトラフィックを削減することができます。価格の履歴データをダウンロードした後は、新規データのみダウンロードします。

チャートの作成がより高速化されており、数秒にて全てのタイムフレームのチャートを作成することができます。作成されたタイムフレームは、ハードディスク上にてキャシュされます。そのため、次回作成したチャート図を開く際は、すぐに展開され、新しいデータのみ追加で処理されます。

全てのタイムフーレムにて1分足データを使用するため、全て1分足のデータを扱うことで、全タイムフレームでのデータの完全な同期を行うことができます。

価格履歴を扱うもうひとつの利点は、圧縮された状態でクライアント側に送信されるため、データ量を削減しダウンロード時間を減らすことができます。比較として、10年分の1分足による1シンボルの価格の履歴データは、圧縮形式にて約10MBほどになります。

1.3. 指標 標準メタトレーダー5では38の テクニカル指標を使用することができます。ナビゲーターウィンドウにて種類に応じ、トレンド系、オシレーター系、ボリューム系、ビルウィリアムスなどに分類されて表示されます。ボリンジャーバンド、エンベロープ、移動平均、パラボリックSAR、標準偏差、一目均衡表、MACD、ブルズパワー、ベアーズパワー、アリゲーター、オーサムオシレーターなど様々な指標を使用することができます。

メタトレーダー5用のサードパーティー製の指標の数は、実際上無制限です。膨大な数のインジケーターは、Code Baseからダウンロードし、購入することも可能です。

1.4. 分析ツール 使用可能な分析ツール数も大幅に拡大されました。メタトレーダー5は エリオット、フィボナッチとガンツール、(MQL5プログラムの対話性向上のためのオブジェクトなどを含めた)グラフィカルオブジェクト、図形、チャンネル、ラインなど46のオブジェクトを提供しています。

それぞれのオブジェクトは、色、線幅、追加レベルなど固有の設定を行うことができ、様々なタイムフレーム上で表示することができます。

1.5. 正確な時間尺度 正確な時間尺度をチャート図にて使用することができます。図表オブジェクトは、必ずしもバーに接着して表示される必要はありません。チャートのバー間のどの位置にもアンカーを置くことができます。さらに、タイムフレームを変更する際、オブジェクトの正確な位置が保持されます。

1.6. 経済カレンダーメタトレーダー5の新機能の一つとして、市場の基本的な分析を手助けする 経済カレンダーがあります。マクロ経済指標は常に更新されています。さらに、経済カレンダーは価格チャートにて簡単に表示することができます。

メタトレーダー5 経済指標カレンダー

1.7. 詳しい市場データ 旧バージョンでは、それぞれのシンボルにおいて、Bid(買値)、Ask(売値)、High(高値)、Low(安値)、Time(時間)の5つの値のみ取得可能でしたが、メタトレーダー5では、取得可能な情報量は数倍にまで増えました。主要な統計データに加えて、現在の取引高や前回の値段の分析を行うことができます。さらに、「マーケットウォッチ(Market Watch)」タブにて、それぞれのシンボルにつき20以上の統計データを閲覧することができ、全てリアルタイムで更新されています。

市場統計

重要な特徴は、履歴データにおける売買高やスプレッドを使用することができることです。これらの数値は、それぞれの1分足に保存されており、メタトレーダー5の複数通貨ストラテジーテスターにおけるエキスパートアドバイザーのテストと最適化に使用することができます。

1.8. オンラインでのチャート図の投稿 チャートのオンラインでの投稿は、メタトレーダー5から組み込まれた機能です。ローカルPC上のスクリーンショット画像を保存するだけではなく、MQL5コミュニティの一部であるMQL5チャートサービスによってその他のトレーダーとシェアすることができます。もしターミナル上にてMQL5コミュニティのアカウントを登録していれば、スクリーンショットはそこに割り当てられますます。画像ギャラリーを作成し、プロフィールから簡単に管理できます。

チャートのオンラインへの投稿

また、人気SNSサイトへの投稿も可能です。


2. ナビゲーター

メタトレーダー5のインターフェースはより便利になりました。ナビゲーターウィンドウにて、新規デモ口座の開設や、エキスパートアドバイザー、インジケーター、やスクリプトをチャートに付けることなどの多くの操作をターミナル上で管理することができます。

2.1. 証券業者名によるサーバーの検索 メタトレーダー5の便利な新機能のうちの一つとして、名前による証券業者のサーバーの検索があります。旧バージョンでは、証券業者に連絡しサーバーのIPアドレスを教えてもらうか、専用のクライアント側ターミナルのダウンロードをする必要がありました。メタトレーダー5では、シンプルに業者名を入力するのみで構いません。システムが自動的にサーバーを検索し、リストに追加してくれます。

業者名でサーバーの検索を行ってください。

その後、アカウントを開設してください。

2.2. プログラムのグループ化 ナビゲーターのもう一つの便利な機能として、プログラムのグループ化があります。標準パックにて使用可能なテクニカル指標は、トレンド系、オシレーター系、ボリューム系、ビルウィリアムス系指標などのグループに分けられています。カスタム指標やエキスパートアドバイザー、スクリプトなどはいくつかの系統に分類されます。さらに、フォルダー構造と似た階層を作成することができます。例えば、カスタム指標をサブフォルダー(/MQL5/Indicators/My/MQL5/Indicators/CodeBase)へ分類することができます。 同じストレージ構造を、ナビゲーターウィンドウにて確認できるようになります。

置かれます購入したMQL5プログラムは、エキスパートアドバイザー、カスタム指標、スクリプトの適切なサブカテゴリー内に自動的に置かれます。

2.3. プログラムのさらなる開発(ソースコードの取得可能な)アプリケーションの修正をする必要がある場合、修正したいアプリケーションを選択しEnterを押してください。アプリケーションのソースコードがMetaEditorに表示されます。.

2.4. Code Baseからのダウンロード メタトレーダー5とMQL5.communityの統合を行うことで、ナビゲーターから直接Code Baseのエキスパートアドバイザーやインジケーター、スクリプトなどをワンクリックでダウンロードすることができます。「more」という特別なコマンドがアプリケーションのそれぞれのカテゴリーにて使用することができます。それにより、ダウンロード可能なインジケーター数を表示することができます。

CodeBaseにて使用可能な他アプリケーション

2.5. 迅速にテストを行う Testコンテキストコマンドを使用し、2クリックでエキスパートアドバイザーやインジケーターのテストを行うことができます。ストラテジーテスターがすぐに立ち上がり、あとは、必要なパラメーターをセットし、テストを開始するのみです。


3. トレーディング

メタトレーダー5では、トレーディングの仕組みが大きく変わりました。その変更は全て、トレーディングプラットフォームの使用を向上させることを目的としています。メタトレーダー5では、ECNを通して全ての株式取引を行うことができます。メタトレーダー5はすでに、SMX、GBOT、CitiBank、Currenex、DGCX、Integralなどでの株式取引のためのパッケージソフトウェア開発企業(ISV)として認められています。また、世界中の主要株式取引所と統合する予定です。

3.1. ネットポジション メタトレーダー5にていわゆるポジションのネッティングが採用されており、あらゆる現代の取引の要求に対応しています。ネッティングとは、一つの金融商品につき、常に一つのポジションがあるという意味です。異なった(買いと売りの)二つのポジションは同時に認められていません。

従って、もし一つの買い・売りポジションの購入・販売を行えば、そのポジションは閉じられます。もし買いポジションの金融商品が一つあり、もう一つ増えれば、二つの買いポジションを持つことになります。この場合、公開価格が再計算され、加重平均による公平価格がそのポジションに割り当てられます。(最初の取引価格 x 量 + 二番目の取引価格 x 量 / 最初の取引量 + 二番目の取引量)

3.2. 6種類の未決注文 メタトレーダー5では、 買い指値・逆指値、売り指値・逆指値の二種類の未決注文がサポートされました。そのような注文がなされると、適切な種類の指値注文が行われます。新しい注文方法は、トレーディングの戦略の可能性を広げることができます。

3.3. ワンクリックトレーディング 取引処理の速度はとても重要なこととされています。メタトレーダー5は、ワンクリックによるトレーディングを提供しています。この機能はマーケットウォッチウィンドウにて使用することができます。

メタトレーダー5のワンクリックトレーディング

加えて、Tradeタブでの損切り・利食いにおけるレベルの設定と同様に、この機能によりポジションをすぐさま閉じたり、未決注文の中止を行うことができます。

ワンクリックトレード

クイックトレーディング機能は、市場深度セクションでも使用可能です。

3.4. チャートからのトレーディング メタトレーダー5は、手動でトレードを行う人のためのチャート図を使用したトレーディングツールを提供しています。各々のチャートは素早い取引を行うための取り外し可能パネルを持っています。

チャート図によるトレーディング

スマートなコンテクストメニューが、チャート上での未決注文のために提供されています。注文を行う上で希望の注文価格をクリックしてください。価格に相対的なマウスの位置によって最も可能性の高い注文のタイプが最初に表示されます。

3.5. チャートでのトレードレベルの修正 メタトレーダー5では、損切り・利食いに加えて、チャートから直接未決注文の値段の設定も行うことができます。市場の状況を見て、マウスをドラッグし、希望のトレードレベルに設定しそしてその値をもっと正確に調整してください。

チャートでのトレードレベルの修正

3.6. 同期化とマルチスレッディング メタトレーダー4と比較して、今回のバージョンでは、トレーダーは複数のトレーディングを同時に実行することができます。前回のバージョンでは、複数のエキスパートアドバイザーを使用すると「Trade context is busy」というエラーが表示されました。メタトレーダー5では、処理結果を待たずに、サーバーに対して16のトレード要求を送ることができます。

3.7. 株式取引の操作の実行 その他のシステムとの統合により、トレーダーは世界中の主要なトレーディングにアクセスすることができます。メタトレーダー5から外部のトレードシステムでの取引を直接行うことができます(ストレート・スルー・プロセッシング)。仲介業者無しで取引を行うことができます(ノン・ディーリング・デスクモード)。

3.8. 市場深度によるトレーディング 株式取引における必須の部分として、市場深度 (DOM)があります。DOM機能では、取引リクエストに加えて、市場で存在するリアルタイムでの取引リクエストを見ることができます。メタトレーダー5では、市場深度機能から直接取引を実行することができます。

メタトレーダー5 市場深度

ワンクリックでのトレーディング機能に加え、市場深度機能は、ワンクリックで注文の実行・削除・修正などを行うことのできる強力なツールです。

3.9. 追加実行条件 個々の取引において、トレーダーは業者や注文執行ストラテジー(Fill or Kill(FOK)や、Immeiate or Cancel(IOC)e4e)などの取引実行条件を規定することができます。FOKモードでは、特定の取引高で実行されるように設定します。有価証券の取引高が取得可能でない場合は、リクエストは実行されません。IOCモードでは、注文で明記された取引高内で市場で可能な最大の量で取引を行うことができます。完全にリクエストが完全に埋められない場合、可能な取引高での注文を行い、残りの残高はキャンセルされます。

3.10. モバイル端末でのトレーディングとプッシュ通知 現在、モバイルでのトレーディングがますます人気になっています。日にトレーダーは世界のどこからでも日に24時間週7日常に口座にアクセスする必要があります。メタトレーダー5のモバイル版では時代の流れに足並みを揃えています。iPhoneAndroid版メタトレーダー5モバイルアプリは無料で使用することができます。

一番の特徴として、プッシュ通知を受け取れるという点があります。プッシュ通知は、PC版のクライアントターミナルやMQL5.communityなど様々なサービスからからモバイル端末に送られるショートメッセージです。アプリが起動しているかにかかわらず、通知は失われることがなく必ず即刻到着するようになっています。

MQL5言語は、SendNotification関数を提供し、プッシュ通知することができます。マーケットのイベントについて警告するシグナルを作成することもできます。イベント通知の一つのタイプにプッシュ通知があります。

プッシュ通知にて、MQL5.communityサイトでの更新情報を取得し、使用することもできます。そのためには、コンタクト(Contacts)タブのユーザープロフィールにてIDを明記する必要があります。

メタトレーダー5 プッシュ通知

プッシュ通知は、コンピューターから離れている際も、トレーダーが市場の変化を察知し反応することを可能にします。


4. ツールボックス

旧バージョンでも使用可能であったツールボックスウィンドウでは、さらに多くの機能を提供しています。

4.1. エクスポージャートレーダーはオープンポジションである資産の状態についての要約的な情報を見ることができます。

ツールボックスウィンドウでのエクスポージャー

4.2. カレンダー 1章にて説明した通り、メタトレーダー5は、経済イヴェントカレンダーを搭載しています。マクロ経済指標は、主要10カ国以上の経済状況を閲覧することができ、リアルタイムで更新されます。全てのイベントは適切な通貨ペア用チャートにて表示することができます。

4.3. マーケット メタトレーダー5は、MQL5.communityサービスと統合されています。マーケットは、MQL5アプリケーションの市場で、ターミナルで使用できる製品を購入することができます。マーケット機能はクライアントターミナルに組み込まれています。

メタトレーダー5に統合されたマーケット機能

ツールボックスウィンドウにて、マーケットでダウンロード可能なすべてのアプリケーションを見ることができます。購入前に、トライアル版をダウンロードし、ストラテジーテスターにてテスト可能です。さらに、無料アプリケーションもあり、ダウンロード可能です。

購入済ダウンロード済みアプリケーションのリストは、「購入(Purchase)」タブにて便利に表示されています。また、ナビゲーターにて種類ごとに自動的に分類されており、ナビゲーターから稼働させることもできます。

4.4. Code Base ツールボックスウィンドウは、MQL5の膨大な無料ソースコードへのアクセスも提供しています。ターミナルから直接コードをダウンロードし、稼働させることができます。エキスパートアドバイザーやインジケーター、スクリプトをチャートにドラッグするのみです。コードは自動的にダウンロードされ、適切なフォルダーへ配置され、コンパイル後、チャート上にて稼働します。

Code Base - 無料ソースコード

ソースコード数は、1500に徐々に近づき、増加し続けています。


5. テストと最適化

メタトレーダー5の中で最も重要であり、期待されていたアップデート内容の一つとして、マルチ通貨戦略テスターがあります。複数の通貨をトレードするエキスパートアドバイザーのテストと最適化における無限の可能性が提供されます。

5.1. 高度なテストレポート メタトレーダー5はEAのテスト結果に関したさらに詳しいレポートを提供します。トレーディング戦略のより良い評価のための追加の統計結果も見ることができます。回復率や、シャープ・レシオ、ポジション保有時間など様々な特性を分析することができるようになりました。テスターレポートでは40以上の項目を見ることができます。

テストレポートの図表部分はさらに向上しました。損益グラフなどに加え、(一時間、一週間、一ヶ月ごとの)利益・損失や、ポジション変更の時間分布をビジュアル化します。

テスト結果における図表

さらに、ポジション保有時間や利益の分布に加え、MAE・MFE、利益配分グラフなどを生成します。

利益、MAE、MFE、ポジション保有時間グラフ

5.2. 精度の増したティック毎のテスト メタトレーダー5のストラテジーテスターは、一分足に基づくティックの生成を行う価格シミュレーション方式のみを使用します。M1タイムフレームをテスターで使用し、より数値の高いタイムフレームで行っていたメタトレーダー4に比べ、最小のエラーで正確な価格変動のシミュレーションを行います。結果として、メタトレーダー5ストラテジーテスターの価格のモデリングにおけるエラーは少なくなり、シミュレーションでの価格と実際の価格の差異は、一分足の規模で済みます。

5.3. さらに多くのテストモード メタトレーダー5は 4つのテストモードがあり、ティック毎のテスト(最も正確な方法)、一分間でのOHLC(バーサポートポイントによるテスト)、公開価格のみでのテスト(高速なテストのための簡単な方法)、数学的計算によるテスト(履歴データやティックの生成なしでの数学的計算処理によるテスト)があります。

5.4. カスタマイズ可能最適化基準 メタトレーダー4では、5つのうちの1つの評価指標によってエキスパートアドバイザーの最適化が可能でした。最新版では、もう一つの評価指標が使用可能です(バランス比やシャープレシオなど)。しかし、 主な新機能はカスタマイズ可能最適化基準の使用です。テスターの設定において、最大値を選択すると、OnTester()により返された最大値によりエキスパートアドバイザーの最適化を行うことができます。

5.5. 最適化結果のキャッシュとXMLレポート テスト結果は、(XMLファイル形式にて)キャッシュに保存され、必要なときにアクセスできるようになります。テスト中、もしくは最適化中、再実行を防ぐために、入力パラメーターに関連する前回稼働時の結果を探索します。もし入力パラメーターに関連する結果がなければ、テストがそのまま実行されます。

最適化結果のキャッシュがXMLファイル形式であるので、(MS Excelなど)外部アプリーケーションでの分析が可能です。

5.6. 履歴の自動ダウンロードとタイムフレームの同期メタトレーダー5ストラテジーテスターでは、すべての履歴データが使用可能です。テストの実行前に、必要なシンボルの履歴データをダウンロードします。これは初めての稼働時のみ行われます。次回からは新規データのみダウンロードされるように設定されています。テスト中に(複数通貨の)エキスパートアドバイザーがその他のシンボルにおけるデータをリクエストした場合、サーバーから自動でダウンロードします。

5.7. フォワードテスト メタトレーダー5は、新しいフォワードテストモードを提供しています。フォワードテストは、異なる時間枠での最適化結果の実行を指します。これにより、履歴データの特定の部分に適合するパラメーターを避けることができます。

5.8. ストレステスト EAによるテスト設定が現実に近いものにするため、メタトレーダー5のランダム遅延モードを使用してください。リクエスト送信時から実行まで価格は変化することがあります。注文の偏差の設定によって、(設定した偏差の範囲内なら)現時点での価格にて実行されるか、再見積りが送信されます。これにより、状況に応じた適切な処理を行うことができます。

5.9. マルチスレッドによる最適化 ストラテジーテスターはマルチスレッドにて実行され、すべての使用可能なCPUの資源を使用します。テストや最適化は、ユーザーのCPUにてインストールされた特別な計算エージェントを使用し実行されます(各コアにつき1エージェント)。CPU内のエージェントが独立的に稼働し、最適化のための並列処理を可能にします。

5.10. クラウド上のリモートエージェントでのテスト 自分のストラテジーテスターに、その他のコンピューターにインストールされた無制限のエージェントを接続することができます。メタテスターの特別なアプリを使用し、ローカルネットワーク上のテスト用コンピューターにエージェントをインストールしてください。そしてそれらを、1クライアントターミナルのストラテジーテスターに接続します。エージェントはネットワーク上にてタスクを受け取り、結果をクライアント側に返します。それにより、並行処理の可能性を拡大することができ、最適化のプロセスを数倍に高速化することができます。

5.11. MQL5クラウドネットワーク MQL5クラウドネットワークは、コンピューター同士で資源の交換を管理します。MQL5クラウドネットワークにより、世界中の数千ものCPUのリソースを使用することが可能になります。一つのコンピューターで数年かかっていた最適化が数時間で実行可能になるのです。

MQL5クラウドネットワーク

クラウドネットワークを使用するためには、ストラテージーテスターを開き、クラウドエージェントの使用を可能にしてください。

MQL5クラウドネットワークの使用に加えて、ネットワーク上にコンピューターの資源を提供することで、お金を得ることも可能です。これを行うために、メタトレーダー5をインストールする必要はありません。コンピューター上のリモートエージェントの管理を行う、メタテスターの簡単で迅速なインストールを可能にするインストーラーをダウンロードしてください。そして簡単なセットアップを行い、MQL5クラウドネットワークに参加し、お金を稼ぎ始めることができます。ネットワークの利用に関する統計データや、CPUの提供によるお支払い額は、MQL5.communityウェブサイトのプロフィールにて確認することができます。最初のタスクを処理したのち、エージェントに関する情報がプロフィール欄にて表示されます。

5.12. エージェント管理の容易性 コンテクストメニューからテスト用エージェントを簡単に管理することができます。数回のクリックにより、ローカル上、MQL5クラウドネットワーク上など、すべてのエージェントのオン/オフの管理を行うことができます。また、エージェントの設定をダウンロード・アップロードすると同時に、接続中のリモートエージェントの管理も行うことができます。

5.13. 数学的計算 MQL5クラウドネットワークを利用したストラテジーテスターの機能は、エキスパートアドバイザーのテストや最適化のみに限られていません。。「数学的計算」テストモードでは、いかなる計算も実行することができます。ストラテジーテスターは、シンボルについての情報や履歴データを使用しませんが、OnInit()やOnDeinit()メソッドを呼び出し、計算を行うことができます。数学的コンピューティングはOnTester()から返される値を持つ数学関数の計算にとって便利なものです。最適化は、関数の最大値を見つけることができます。

5.14. 2D・3D視覚化による最適化の結果表示 百聞は一見にしかずとはこのことを指すと思います。ストラテジーテスターでは、ビュジュアルモードにて最適化の結果を分析することができ、最適化結果の2D表示を行います。緑の影が暗ければ暗いほど、最適化基準が高いことを意味します。

最適化結果の2D表示

ストラテジーテスターでの数学的計算の3Dによる結果が下部に表示されています。f(x,y)= MathSin(x^2 + y^2) + k * MathExp(-p * x^2 - p * y^2) の関数の最大値 の検索結果を表示しています。

最適化結果の3D表示

5.15. ビジュアルテスト ビジュアルテストでは、履歴データを使用した際にエキスパートアドバイザーがいかに正確に稼働しているかを視覚的に表示することができます。メタトレーダー4でも使用可能でしたが、新バージョンでは機能性が大幅にアップデートされました。まず、ターミナルからのみ独立して使用されていましたが、新バージョンにおいては、個別のプロセスとして処理されます。取引処理がテストされたシンボルのチャート上に表示されるだけではなく、「Separate」タブにて、詳細なログの表示に加えて、オープンポジションや現在の注文状況、トレード履歴、現在の残高、注文などを見ることができます。

ストラテジーテスターのビジュアル化

5.16. 最適化中の結果表示 ストラテジーテスターにてエキスパートアドバイザーを起動させるたび、ご自分のデータを作成することができます。このデータは、FrameAdd()関数を利用することで、frameという特別なデータ構造にて保存することができます。エキスパートアドバイザーの最適化中に、それぞれのエージェントがターミナルにframe形式のデータを送信します。受け取ったデータは、terminal_directory/MQL5/Files/Tester というフォルダ内に、.MQDというファイル形式にて保存されます。それらのデータは、エージェントから受け取った順番に保存されていきます。テストエージェントからのターミナルでの受け取りにより、OnTesterPass()関数を使用して扱われるTesterPassを生成します。これにより完了を待たずに最適化の結果を動的に処理することができます。

5.17. OpenCLを利用した高速化 エキスパートアドバイザーにて実行される数多くの計算は、MQL5言語のOpenCLのサポートにより、ビデオカードを利用して実行されます。現在のビデオカートは、受信データの数学的処理を同時に実行することのできる数百もの処理装置を所有しています。

MQL5のアプリケーションであるOpenCLを利用することで、エキスパートアドバイザーのテストと最適化を何百倍も高速化することができます。(ローカル上・リモート・クラウド上の)テストエージェントは、自動的にCPUかビデオカードどちらか最も高速な手段を選択します。

例えば、マンドルブロットの計算においては、CPUを使用するよりもOpenCLを利用したほうが数百倍速く実行されます。


6. MQL5.communityとの統合

メタトレーダー5は、MQL5.communityとシステム統合されています。MQL5.communityは、トレーダーや開発者に様々なサービスを提供しています。

6.1. マーケット ターミナル上から直接MQL5プログラムストアにてアプリケーションの購入ができます。購入前にトライアル版をダウンロードし、ストラテジーテスターにてテストすることができます。

マーケットサービスを利用しプログラムを販売することができます。アプリケーションを投稿するだけで完了です。セラー登録をした後、製品を売り、利益を得ることができます。

6.2. MQL5クラウドネットワーク 強力なクラウド上のコンピューティングにより、ストラテジーテスターにてエキスパートアドバイザーのテスト、最適化を行うことができます。これにより、数分間で実行完了することができます。ネットワークの使用に加えて、ご自身のCPUの資源を提供し、お金を得ることができます。

6.3. MQL5ストレージ. MQL5ストレージは、メタエディターに統合されたソースコード保管用のストレージです。 コードを安全に管理し、世界中のどこからでもアクセスができるようになります。MQL5ストレージは、ファイルの修正記録をすべて保管し、いつでも見ることができます。さらに、旧バージョンのファイルを復元することができます。

6.4. Code Base. MQL5.communityのサイト上のCode Baseページにて、投稿されている全てのコードをワンクリックでダウンロードし、稼働させることができます。エキスパートアドバイザーやインジケーター、スクリプトをチャートにドラッグするのみです。コードは自動的にダウンロードされ、適切なフォルダーへ配置され、コンパイル後、チャート上にて稼働します。

6.5. シグナル プロのトレーダーからのトレード用シグナルをフォローし、クライアントターミナル内に直接導入することができ、そのシグナルに基づき取引を実行することができます。

6.6. 記事. MQL5言語やターミナルについて役に立つ記事 がMQL5.communityにて掲載されています。メタエディターのツールボックスタブ内にて閲覧可能な記事のタイトルや概要のリストを参照し、必要な記事を探してみてください。

MQL5.communityについての記事へのアクセス

6.7. MQL5チャート メタトレーダー5では、MQL5チャートサービスからオンラインにてスクリーンショットを投稿することができます。投稿後、スクリーンショットは自動的にサイトに掲載されます。人気のSNSサイトにて画像を共有できるリンクを得ることができます。

もしターミナル上にてMQL5コミュニティのアカウントを登録していれば、スクリーンショットを投稿することができます。画像ギャラリーを作成し、簡単にプロフィールから管理することができます。


7. メタエディター5

内蔵のプログラミング言語は、メタトレーダーの重要な要素の一つです。アプリケーション開発では、今後利点を紹介するMQL5言語だけではなく、コーディングを行うエディターも提供しています。メタエディター5では、メタトレーダー4で使用不可能だった新しい機能が多く提供されています。

7.1. 新ファイルシステム 旧バージョンでは、メタエディターはターミナル内のMQL5フォルダーであるSandboxというファイルシステム内でしか稼動することができませんでしたが、新バージョンでは、利便性の向上のため、(エキスパート、インジケーター、スクリプトなど)それぞれのファイルが固有のディレクトリを所持しています。(エキスパートアドバイザー、インジケーター、スクリプトなどの)実行可能プログラムを保管するフォルダーやファイル構造をクライアントターミナルのナビゲーターウィンドウにて表示することができます。

便利なファイルシステム

7.2. MQL5ウィザード メタエディター4は、様々なアプリケーションの開発で使用するテンプレートを生成するエキスパートアドバイザーの作成可能なウィザードがあります。メタエディター5では、このウィザードが大幅に再設計されました。そして、新しくMQL5ウィザードという名前になりました。すでに設計されており、必要なイベントハンドラを含んだテンプレートを作成することができます。しかし、主な新しい特徴は、エキスパートアドバイザーを作成することができるという点です。トレーダーは、エキスパートアドバイザーが使用するシグナルや、資産管理戦略、損失を防ぐ方法(追跡停止のタイプ)を選択を行います。

MQL5ウィザード

トレーダーは、MQL5でどのようにプログラムを書くか知らなくても、エキスパートアドバイザーを使用することができます。EAが簡単に数ステップのみで作成することができ、ストラテジーテスターによってEAの最適化を始めることができます。

7.3. MQL5ストレージ MQL5ストレージーにより、MQL5ソースコードを保管することができます。手軽にメタエディターから直接プロジェクト管理や、バージョンごとのファイル管理を行えるように設計されています。

mQL5.communityのアカウントを通して、リポジトリに保管されたコードにアクセスすることができます。ハードディスクの破損時に備え、ストレージからコードを復元することができます。

すべてのコンピューターからストレージへのアクセスが可能です。メタエディターのMQL5.communityアカウントでログインするだけで構いません。ナビゲーターウィンドウのコンテクストメニューからストレージを使用することができます。

The MQL5ストレージ

ストレージ内の修正はすべてログとして記録されます。全バージョンへの復元が可能であると同時に、特別なツールを使用することで、修正部分の全履歴を閲覧し、ファイルのバージョンごとの比較が可能です。

ファイルの比較

MQL5ストレージのオプションは、今後も拡大予定です。MQL5.communityアカウントへの認証を共有し、ストレージを利用した共同でのプロジェクト進行も可能になります。

7.4. C++DLLの高速コンパイル多くの開発者はMQL5での開発の際サードパーティー製のDLLを使用します。メタエディター5により、DLLのコンパイルのためにMS Visual Studioを使用する必要がなくなりました。エディターは、標準のCPP、h-fileをサポートしており、MQL5のソースコードと同じくらい簡単にコンパイルすることが可能になりました。MSのVisual Studioがコンピューターにインストールされているなら、そのコンパイラが使用可能です。さもなければ、ファイルは安全な接続を利用し特別なコンパイル用サーバーに送信されます。そして、コンパイル終了後、DLLファイルは送り返されます。

MQL5のコードと同様に、エラーや警告を含めすべてのコンパイル結果は、ツールボックスウィンドウのエラー(Error)タブにて表示されます。

7.5. スマートなコード管理 メタエディター5は、コーディングのプロセスの最小化を行い、また、ナビゲーションをより簡単にしエラーを防ぐなど様々なツールを提供します。

スニペットコーディングを容易にするため、MQL5言語の部分的な構造を記述したソースコードのテンプレートであるスニペットを挿入することができます。スニペットの挿入はキーワードを入力することで初期化することができます。

関数名の自動置換 内蔵の関数や変数、クラス名、キーワドの名前と異なる名前を見て、コード内に挿入することができます。最初に入力された文字によって異なる名前が決定されます。。

関数のパラメーターに関するコツ この特徴により、開発者はコーディングを行う際に、すべての関数の資料を読む必要はありません。関数を記述する際には、特定のキーを押してください。すると、メタエディターは、関数のパラメーターやパラメーターの型に関するヒントを表示することができます。

関数のリスト メタエディターでは、使用中のファイルにて宣言されているすべての関数のリストを閲覧し、関数の場所に速やかに移動することが可能です。

7.6. コードスタイラー正しい構造にて設計されたソースコードにより、コードをより扱いやすくすることができます。端正にフォーマットに沿って整理されたコードはプロフェッショナルに見えます。メタエディターは、StylerFunctionを提供しています。ワンクリックで、コードを綺麗に整理することが可能です。スタイラーにて使用されるフォーマットルールは、熟練のプログラマーにより作成されました。

7.7. コードのハイライト表示 メタエディター5は旧バージョンと比較して、(キーワード、関数名、変数など)コードの様々な要素を強調して表示することができます。ユーザーはそれぞれのハイライトの表示設定を行うことができます。

7.8. ユニコードへのサポート 旧エディターはユニコードのソースファイルをサポートしていませんでした。これにより、OSにてサポートされていない文字を含むファイルをコンパイルし、表示する際に問題が生じていました。メタエディター5では、この問題を完璧に解決することに成功しました。すべてのソースファイルを標準のエディターを使用してユニコード形式にて保存することができ、OSのどの言語設定にも対応してコンパイルすることができます。

7.9. リソースの挿入 メタエディター5は、プログラミングプロセスの最小化に焦点を当てています。プログラムへのリソースファイルの挿入 などの操作は1コマンドのみで実行することができます。

リソースの挿入

7.10. グローバル検索とMQL5.communityとの統合 プログラムを開発する際、様々な情報にアクセスする必要があります。メタエディターはMQL5.communityとの統合によりこの問題の解決を図りました。mql5.comにて投稿されている記事やコードをツールボックスウィンドウにて表示することができます。しかし、情報の効率的な使用のためには、検索システムの使用が必要です。

メタエディター5は、グローバル検索システムを搭載しています。

メタエディター5検索システム

検索ボックスにて入力し、どこを検索するかを選択し、ツールボックスにて結果を得ることができます。ドキュメントやファイル、記事やCode Base内を個別に検索することに加え、MQL5.communityの検索も可能です。フォーラム、記事、ドキュメンテーション、Code Baseも検索対象です。

7.11. デバッギング 大げさではなくメタエディター4を使用したすべての人がデバッギング機能を望んだことだと想います。新バージョンにおけるデバッガーは、MQL5アプリケーションの開発を新しいレベルへ引き上げることに成功しました。以下の標準機能が、デバッギングにて使用することができます。

ブレークポイントプログラムの動きを観察するために処理を停止させたいコードの行にブレークポイントを挿入してください。

表現式の監視 ツールボックスにてデバッギング中の式の値を監視することができます。

コールスタック デバッギング中にコールスタックを表示することができます。

ステップ-バイ-ステップデバッギングステップイン、ステップオーバー、ステップアウトなどのステップ-バイ-ステップデバッギング実行コマンドを使用することができます。

デバッギング

7.12. プロジェクト メタエディター5における練られた特徴の一つにプロジェクト管理があります。開発者のプログラムの構造化により仕事を円滑化することができます。

/p>

7.13. コードプロファイリング メタエディター5でのデバッギングは、プログラマーの作業を大いに単純化することができました。しかし、メタエディター5では、ソースコードの最適化に関してもう一つ別のツールを使用することができます。それはコードプロファイラーです。コードプロファイラーはすべてのアプリケーションにおけるボトルネックを発見することができます。

コードプロファイラー

アプリケーションにおける個々のソースコードの断片の実行速度を分析することができます。分析結果は、個別の関数や行を印としてプログラマーに送信されます。これにより、コードの最も遅い部分を発見し、MQL5プログラムの処理を最適化することができます。


8. MQL5プログラム言語

8.1. さらなる高速化 MQL4と比較し、MQL5の実行スピードは4から20倍にまで上昇しました。実行速度は、C++ほどのレベルにまでになり、MQL5では計算の処理を高速化するためにサードパーティー製のDLLを使用する必要がなくなります。DLLを使用しないことで安全性を向上させることにもつながります。

8.2. コードプロテクション メタトレーダー5では、MQL5プログラムの実行可能ファイルのより高いレベルでの保護を行うことができます。新しいより複雑な暗号化アルゴリズム、(コンパイル後のファイルの変更などのチェックを行う)ファイルの完全性のチェック、言語の複雑さの向上などによりデコンパイルからのよりよい保護が可能になりました。マーケットサービスにて販売されるプログラムは、暗号化され、ユーザーのハードウェアに備え付けられ、保護が可能になります。

8.3. C++との類似性 MQL5言語は人気なプログラミング言語の一つであるC++にかなり類似しています。従って、簡単に学習し、プログラムのMQL5への書き換えを行うことができます。MQL5はオブジェクト指向でありカプセル化や、継承、多相性、多重定義、仮想関数などのプログラミング手法を利用することができます。

8.4. クラスとストラクチャー MQL5は、ストラクチャーやクラスなど複雑・抽象的なデータ型をサポートしています。オブジェクトを記述するためだけではなく、行動方式を記述するためにも使用されます。オブジェクトが自身の挙動を制御することで、オブジェクトの使用に関する作業を完結にすることができます。

8.5. イベント MQL5は、事前に定義された数多くのイベントの処理を提供しています。MQL4では3つのイベントのみでしたが、新バージョンでは、アプリケーションの初期化や新しいティックの受け取り、価格データの変更、市場深度、タイマーイベント、トレードイベント、テスト、最適化、チャートの管理など13種類のイベントを扱うことができます。

8.6. MQL5からのチャート、オブジェクト、リソースの直接管理 チャートを管理し、MQL5から直接オブジェクトの追加・修正・削除を行うことができます。ユーザーとチャートの対話処理におけるイベントを扱うことができ、複雑なグラフィックパネルを作成することができます。

内蔵のオブジェクトを使用するのに加えて、ご自身の図形や音源を使用することができます。

8.7. 新しいインジケーターの描画スタイル メタトレーダー5では、インジケーターの描画スタイル数は、6から18に増加しました。線やヒストグラムやシンボル、ロウソク足などを描画することができます。こちらがチャートのサブウィンドウにより描画された二線間の塗りつぶし領域におけるインジケーターです。

二線間の塗りつぶし領域におけるインジケーター

8.8. インジケーターの使用の容易性 MQL4では、インジケータバッファーのインデックス付けは永続的であり、古いデータから0を割り当てられていました。この方法は、インジケータやスクリプトにおいても使用可能です。しかし、インジケーターの開発時、新しいバーごとにすべての要素が1ずつずれてき、新しい要素が配列のはじめに配置されるため、そのようなインデックス付けは不便でした。MQL5では、その問題は配列のインデックス付けの順番を変更するArraySetAsSeriesによって解決されました。

8つのバッファーのみしか使用することができなかったMQL4とは異なり、MQL5ではインジケーターバッファーを無限に使用することができます。

また、MQL5ではその他のインジケーターの値に基づき開発することができます。旧バージョンでは、インジケーターは、クライアントターミナルのインタフェースにて特別な方法でのみ別のインジケータに基づいた開発を行うことができました。MQL5では、配列データとして別インジケーターを渡すことができます。

8.9. 膨大な標準ライブラリーと使用例 メタトレーダー5の標準パッケージは、MQL5にて書かれたたくさんの標準ライブラリを搭載しています。これにより、MQL5関数へのアクセスを容易にし、プログラム開発をより簡単なものにします。標準ライブラリには、データの構造化、文字データ、グラフィカルオブジェクト、チャート、インジケータ、ファイル使用のためのクラスやトレードクラスなどがあります。

メタトレーダー5は、(エキスパートアドバイザーやインジケーター、スクリプトなど)全種類のアプリケーションのコード例を多数保存しています。

8.10. OpenCLへのサポートMQL5はOpenCLに対応しています。OpenCLの全機能を使用するためにサードパーティー製のライブラリは必要ありません。MQL5の特別機能を使用するのみで済みます。OpenCL言語は、OpenCL 1.1かそれ以上をサポートするビデオカード上での計算の実行時に使用されます。現在のビデオカートは、受信データの数学的処理を同時に実行することのできる数百もの処理装置を所有しています。OpenCL言語は、並列処理を実行し、ある一定のタスクの実行速度を高めてくれます。


9. トレーダー・開発者向けサービス

メタトレーダー5の重要な部分は、MQL5.communityです。トレーダーや開発者がメタトレーダー5に関連するトピックについて議論したり、有益な情報を得ることができる場であると同時に、様々なユニークなサービスを提供しています。

MQL5.communityは、安全な決済システムがあり、すべてのコミュニティサービスにて使用することができます。クレジットカード、デビットカード、WebMoneyやPayPalを使用し、アカウントにお金を保管しておくことができます。引き落としは、WebMoney、PayPalの口座から行われます。資金の振替は安全で暗号化されたSSLコネクションを通して行われます。

9.1. 仕事 仕事サービスは、トレーダー、プログラマーにとって便利なツールです。トレーダーがもしトレードのアイディアを実行したいが、MQL5にてプログラムを組む方法を知らない場合、プロの開発者にコンタクトを取ることができるようになります。一方で、開発者にとっては自分の知識を資本化する素晴らしい機会になります。

仕事サービスは、ユーザーにとって使いやすいインターフェースであり、注文を行い、開発者からの最も魅力的な提示を選択するか、特定の開発者に注文を行うことができます。注文プロセスは、顧客と開発者の間で誤解、意見の相違を避けるための確認を含んだいくつかのステップがあります。

お仕事サービス

争議になった場合は、メタクォートソフトウェアコープによる仲裁を申し込むことができます。

二年前にこのサービスが開始され、1300件もの案件がすでに取引されています。

9.2. マーケット マーケットサービスは、MQL5アプリケーション売買のための安全でオープンなサイトです。マーケット機能は、MQL5.communityサイトにて使用することができ、直接ターミナルからアクセスすることもできます。販売に出されているアプリケーションは、全て保護されています。ダウンロード時にアプリケーションは暗号化され、あなたのコンピュターの環境設定に組み込まれます。

9.3. MQL5ストレージ MQL5ストレージはお手軽にメタエディターからプロジェクト管理を行い、ファイルのバージョン管理を行うために設計されています。MQL5ストレージにより、MQL5.communityアカウントを使用すれば、どのコンピューターからでもソースコードにアクセスすることができます。異なるコンピューターから作業を行っている場合、ソースコードを同期し、常に最新バージョンにて作業を進めることができます。

9.4. MQL5クラウドネットワークMQL5クラウドネットワークは、コンピューターのアイドル時間を提供できる人と、計算リソースを必要としている人の間でCPUリソースの交換を可能にすることができます。MQL5クラウドネットワークにより、トレーダーは、世界中の数千ものコンピューターの計算能力を利用することができるようになります。一つのコンピューターで数年かかっていた最適化が数時間で実行可能になるのです。

9.5. シグナルメタトレーダー5トレーディングシグナルはシグナル配信者のトレーディング方法をコピーすることができるサービスです。トレーダーは、見つけたシグナルを登録し、熟練のトレーダーの戦略をフォローすることができます。シグナル提供者は、提供者の取引活動についての詳しい情報を取得する監視システムに登録されるなど、とても安全なサービスです。

メタトレーダー5トレーディングシグナル

利用可能なシグナルの一覧は、MQL5.communityのウェブサイトと、クライアントターミナル上の両方から見ることができます。シグナルのサブスクリプションは、MQL5.communityのアカウントが必要です。トレーダーは、プロフィール欄や「シグナル」セクションにて、自身のサブスクリプションを簡単に管理することができます。

トレーダーは、ターミナル上シグナルタブのツールボックスウィンドウからサブスクリプション登録をすることができます。

メタトレーダー5トレーディングシグナル

シグナル配信者と同意を交わす必要はなく、システム内で自動的に手続きが実行されます。シグナルの利用において、手数料は請求されません。登録後、提供者のトレーディング方法は登録者のアカウントにすぐにコピーされます。

あなたが成功しているトレーダーで、経験やスキルによりお金を稼ぎたいなら、シグナル提供者としてMQL5.communityサイトにて登録することができます。トレーディングアカウントは、詳細な情報が表示される監視システムに接続されます。あなたのアカウントはMQL5.community、トレーディングターミナル上両方にて利用可能なトレーディングシグナルリストに組み込まれ、表示されます。

シグナルモニタリング

もしトレーディングシグナルが配信された場合、お支払いはMQL5.communityの口座に送られます。

9.6. ビジュアルホスティング 自動トレーディングや シグナルのコピーのためのターミナル上にて絶え間なく稼働してくれるサービスです。サードパーティ製品会社から普通のVPSやVDSを借りるのとは異なり、ターミナルからのサーバーへの注文送信時のネットワーク待ち時間を最小化するために証券取引業者に最も近いサーバーを選択することができる。

仮想ターミナルは、クライアントターミナルから直接かりることができますが、支払いはMQL5.communiyのアカウントから行う必要があります。

トレーディングプラットフォームからの仮想ターミナルの貸し出し

貸し出しはほんの数ステップで行うことができ、最適なサーバーやサービスプランを選択するのみで構いません。その後、シンボル、インジケーター、自動取引システム、FTP、エキスパートアドバイザー、シグナル設定など、必要なトレーディング環境を仮想ターミナルに移します。

操作を管理するために仮想ターミナルの実行記録を見ることができます。CPUの負荷やメモリ、ハードディスク使用量などの詳細も見ることができます。

仮想ターミナルの管理


結論

この記事では、メタトレーダー5の主要な全特徴を紹介しました。もちろん、他にも数多くの機能を搭載しています。メタトレーダー5は、金融市場にてトレーディングを成功させる上で必要なツールを備えています。そして、これからも機能が多く拡張されていく予定で、開発が進んでいます。業界の発展に遅れをとらず、主力株、業者の情報を密に取得し、最高のトレーディング環境を提供していきます。