カテゴリー別アーカイブ: MT5入門

第八回 インディケータを自由にEA組み込んでみよう!

今回は、MT5に外部から登録したカスタムインディケータを自由にEAに組み込む方法をご紹介します。
オリジナルのインディケータや関数が用意されているテクニカル指標関数以外のインディケータの計算値をEAに利用できるようになります。

登録したインディケータをEAに組み込む例

ここではiCustom関数を使用することで、MT5上のデータフォルダ内に配置したカスタムインディケータファイルを読み込み使用することができます。
※対象となるIndicatorファイルはコンパイルした .ex5拡張子のファイル形式でデータフォルダ下、MQL5/Indicators ディレクトリもしくはサブディレクトリ配置する必要があります。 

MT5クライアントからデータフォルダ内のMQ5/Indicatorファイルへのアクセス 

では早速プログラムを見ていきましょう。

1.ハンドル値の取得
今回はインストール時にサンプルとして入っているCustom Moving Average (MT5データフォルダ/MQL5/indicator/Example)を読み込み、使用します。

※Custom Moving Average にはナビゲータウィンドウから”インディケータ/Example/Custom Moving Average ”とアクセスをします。

iCustom関数には使用するIndicatorのMT5上のパスを指定し、該当のIndicatorのパラメータを順番にセットします。
※パラメータを設定しない場合にはIndicatorの初期値が適用されます。

2.配列値の取得
iCustom関数を使用してメモリ上に展開したIndicatorからCopyBuffer関数を用いて配列コピーして計算値を使用できます。

※今回のEAではメモリ上に展開したインディケータのデータをEAの取引に利用する目的のため、チャート上への描画処理をしません。

MQL5: iCustom関数について
https://www.mql5.com/ja/docs/indicators/icustom 

MT4にも同じ関数がありますが、 引数が異なり、 取得できる値は指定した1時点でのデータを取得する形式となります。都度関数を呼び出し、計算が必要です。
iCustom関数: https://docs.mql4.com/indicators/icustom 
MT4では取得するIndicator LineのIDとシフト値が必要になります。

MT5ではインディケータのハンドル値を使用して、複数の指標ラインの配列を効率良く一括で取得可能です。
※参考記事:第五回テクニカル分析指標を使って取引しよう!

このような方法で、どのようなIndicator でもEA上でデータを読み込むことが可能です。

またMT5のCustom Indicator については、下記のMQL5のリンクから様々なIndicatorを見つけることができます。
自分の目的に合ったIndicatorを見つけて取引に利用してみましょう!

Originally posted 2019-08-12 13:33:30.

第九回 MT5とPythonを連携してみよう!

MetaTrader5 のための”Pythonのパッケージ”がリリースされました。
今回はPythonのAPIを利用して、MT5と連携してみましょう。

Pythonでのパッケージを使用することで、 PythonからMT5のプログラムを呼び出すことができるようになりました。
※今回はMQLではなくPythonのプログラム例の紹介となります。

Pythonの実行環境の準備

まずPythonを使用する環境を構築します。

1.最新バージョンのPython 3.7をダウンロードします。 https://www.python.org/downloads/windows

2.Pythonをインストールする際には「Add Python 3.7 to PATH%」をチェックしてPythonスクリプトをコマンドラインから実行できるようにします。

3.コマンドプロンプトを起動し、MetraTrader 5モジュールをコマンドラインからインストールします。

コマンドを入力して [Enter] 実行

参考:Python公式サイト MT5パッケージ本体についてhttps://pypi.org/project/MetaTrader5/#description

4.続いて今回使用する pytz(時間関連処理) パッケージををインストールします。

1. Pythonの実行プログラムファイルの作成

続いてPythonの実行プログラムファイルを作成します。

1.実行ファイルの作成

お使いのパソコンのテキストエディタ―(もしくはメモ帳)を開き 、Pythonの実行ファイルの拡張子である、”.py”の拡張子で保存します。
後ほど紹介するコードを今回作成したファイルにコピー&貼り付けを行い保存します。

ファイル拡張子を.pyと記載してファイルを保存、もしくはテキストで保存後にファイル名を “program.py” と変更します。

2.Pythonのプログラムの中身について

PythonからMT5に連携するプログラムとして、複数の方法でバー情報、Tick情報を取得する方法を紹介します。
実際のプログラムの一連の処理としては次のような構成で作成します。

1.MT5を起動
2.データを取得
3.MT5とのセッションをクローズ

これから紹介するコードは全て同じファイルに記載します。

2.1 使用するパッケージを設定

2.2 MT5への接続およびデータ取得

MQL5:Python 関数仕様
https://www.mql5.com/ja/docs/integration/python_metatrader5 

2. Python ファイルプログラムの実行

コマンドプロンプトを起動して、python + “作成した実行ファイルのパス” とコマンドを入力して実行します。

実行前の注意事項:
事前にMT5がご利用いただける取引サーバーに1度ログインをしている必要があります。また接続先の証券会社が下記のコード内に記載したFXの取引銘柄を提供している必要があります。

本プログラムの実行結果は下記の情報を出力します。

Tick データ(コマンドプロンプト)

Originally posted 2019-08-12 13:34:01.

第六回 取引履歴を利用したEAを作成しよう

前回はテクニカル指標を利用したEA取引をご紹介しました。今回は取引の結果、状態を元に次の取引を行う仕組みのEAについてご紹介します。

建玉の決済方法に基づき、異なる行動を取ることができます。
例えば、
・StopLossで決済された場合 (取引履歴の損益の情報を判別) 
-> 同じ方向に 2倍のロットで新規建て
・ TakeProfitで決済された場合 (取引履歴の損益の情報を判別) 
-> 逆方向(ドテン)新規建て
・ Expireにより注文キャンセルとなった場合(時間による判断)
-> 2倍のExpire時間をセットして追加新規注文

取引履歴の取得方法について

MT5では、 履歴取引情報の取得方法として、約定済注文(Order)もしくは取引(Deal)情報を履歴情報として取得可能です。
下記のように約定前注文、保有ポジションは現在時点での情報として取り扱い、約定済の注文、取引情報は履歴情報として管理されます。

MT4では取引情報は orderselect 関数を使用して過去のポジション情報を取得します。
https://docs.mql4.com/trading/orderselect
各種プロパティを取得するには、それぞれ異なる関数を呼び出す必要があります。※リンク先のNote欄参照

MQL5.com 記事:METATRADER 5 の注文、ポジション、取引 :https://www.mql5.com/ja/articles/211 
参照項目:MQL5プログラムからのトレーディング履歴へのアクセス

MQL5.comでは色々な関数を使用して履歴データを取得する方法を記載しています。ここではそのうちの一つとしてProfit情報を返す関数をサンプルEAとして紹介します。

プロパティとして取得可能な情報について
取引のプロパティ 
https://www.mql5.com/ja/docs/constants/tradingconstants/dealproperties
注文のプロパティ
https://www.mql5.com/ja/docs/constants/tradingconstants/orderproperties

このような情報から、取引結果をご確認いただくことが可能です。

Originally posted 2019-08-12 13:32:12.

第七回 ストラテジーテストでEAを最適化しよう!

今回はストラテジーテスター を使用してEAのパフォーマンスの最適化を行い、EAの収益を向上するための一連の流れを簡単にご紹介します。

最適化とはEAのパラメータを履歴データを使って、最も適切なパラメータを組み合わせを見つけるためにシミュレーションを行うことです。収益性の高い適切なパラメータの結果を見つけ、EAに設定して運用することでEAの収益性を向上します。

1.ストラテジテスターの起動

選択したEAを右クリックしたコンテクストメニューで「テスト」をクリックします。※もしくは [表示] – [ ストラテジテスターの起動 ]を選択します。

2.設定

最適化の条件となる、「日付」(検証期間)、「銘柄」を設定し、「オプティマイズ」では「遺伝的アルゴリズム(速い)」を選択します。
※初回のみ、クライアントにデータが存在しない場合には検証用のティックデータをダウンロードします。

オプティマイズ 「遺伝的アルゴリズム(速い)」 を選択することで、効率的にテスト結果を得ることが可能です。 
MQL5 最適化の種類について :https://www.metatrader5.com/ja/terminal/help/algotrading/optimization_types

3.検証する入力パラメータの設定

検証が必要な入力パラメータにチェックを入れます。
検証を行うパラメータの「スタート」値から「ストップ」値、そして検証時の増加幅となる「ステップ」を設定し、テストを行うパラメータの範囲を設定します。
ステップ数はパラメータの組み合わせの合計となりますので、ステップ、パラメータの範囲を調整することで適切な範囲の検証を効率よく確認できるようになります。

4.最適化の実行

[設定]タブの右下に配置されている[スタート]ボタンを選択して、最適化を開始します。
※処理に時間がかかったり、一時的にCPUへの負荷が大きくなり、開いているアプリケーションの動作に支障がでる可能性があります。事前に不要なアプリケーションを閉じる、もしくはデータの保存をしておくことを推奨します。

最適化の結果として「オプティマイズ結果」のタブが追加されます。こちらの「損益」の部分の並び替えを行い、成績の良いパラメータの組み合わせを確認できます。

MT5 ストラテジーの最適化について
https://www.metatrader5.com/ja/terminal/help/algotrading/strategy_optimization 
オンラインのヘルプから詳細をご確認いただけます。

ストラテジーテスター :MT4 とMT5 との違い

大きく次の3項目があげられます。

1.マルチスレッド 
MT4ではテスト時はシングルスレッドでの計算処理でしたが、MT5ではテストを行うマシン上のCPUに応じてマルチスレッド処理を行うことで高速化を実現しています。またMQL5 クラウドネットワークでは登録されている他のユーザー端末の余剰処理能力を利用して分散処理を可能とすることで、お使いのマシン以上の処理能力をテスト時に利用して高速化が可能になります。

MT5 ヘルプ – MQL5クラウドネットワーク
URL:https://www.metatrader5.com/ja/terminal/help/mql5cloud

2.複数の通貨 
MT5では複数の通貨に対して売買を行うEAのテストをすることが可能です。
気配値表示で必要な銘柄を選んで有効にすることで、複数通貨に対するテストを行うことができるようになりました。

 多通貨エキスパートアドバイザーでは、気配値表示で必要な銘柄を有効にします。

MetaTrader 5のヘルプ :テスト機能 – 多通貨テスト
URL:https://www.metatrader5.com/ja/terminal/help/algotrading/testing_features

3. リアルティック
リアルティックを使用したテストと最適化を利用することで実際の条件に最大限に近くなります。従来の分足データをベースに生成されたティックデータの代わりに金融商品ごとにお使いの証券会社によって収集した実際のティックを使用することが可能です。

Originally posted 2019-08-12 13:32:50.

第五回 テクニカル分析指標を使って取引しよう!

前回はEAを作るときに参考になるお勧めリンクなどを紹介しました。今回はMT5で標準的に利用できるテクニカル指標を利用して取引を行うEAを作成してみましょう。

テクニカル分析指標とは、過去の銘柄の価格、取引実績、様々な情報を時系列パターンから価格予想・分析をするための手法です。

MT5で利用できるテクニカル分析指標とはどのようなものがあるのでしょうか?大きく目的にわけて、4種類の標準テクニカル分析指標をご用意しています。

トレンド系 相場の方向性(トレンド)を分析するための目安となる指標となります。買い方向 (上昇トレンド) 、売り方向 (下落トレンド )、レンジ相場 (ボックストレンド )等の相場の流れを予測に有効な指標です。 

オシレーター系 相場の変化の大きさ(ボラティリティ) や銘柄の値頃感(買われすぎ、売られすぎ)等の情報を分析して指標から銘柄の予測に有効な指標です。 一般的にオシレーター系は逆張り投資に有効なテクニカル指標とされています。

ボリューム系 各銘柄の取引量に基づいた計算指標が含まれます。FXでは一定期間でのティック(価格の変動)、CFDの場合は取引量が分析の指標となります。

ビルウィリアムズ指標 ビルウィリアムズ指標は、市場心理学、市場分析、カオス理論等の研究に基にビルウィリアムズ 博士によって開発されたテクニカル分析指標です。6つの指標はTRADING CHAOS(邦題: 相場の達人―常勝のカオス思考) の中で紹介されている指標です。

MT5で用意している38の指標についての詳細は、こちらのページからそれぞれのカテゴリー毎にご確認いただけます。
MT5のヘルプ – テクニカル指標https://www.metatrader5.com/ja/terminal/help/charts_analysis/indicators

EAを用いたテクニカル分析指標の値の取得方法について

MT4では下記のような関数でそれぞれのテクニカル指標に関して、指定したチャートのバー番号からスポットでの分析指標の計算結果を取得できました。

MQL4 Document:
istochastic – Stochastic Oscillator指標の指定時点の値を取得

MQL5 Document:
iStochastic – Stochastic Oscillator指標のハンドル取得 
ハンドルを使って、配列内のデータをピックアップする

MT5MT4では、大きく次のような違いがあります。

MT5では1種類のテクニカル分析指標値取得に関しては下記のような方法を用いて一括でまとめて値(配列)を取得することができます。(例: Stochastic Oscillator)

サンプル内使用関数の仕様は下記のMQL5上のリンクでご確認いただけます。
CopyBuffer – 指標の指定されたバッファデータを取得
ArraySetAsSeries – 配列を時系列データのような配列に並び替える

※CopyBufferで使用する引数の情報は下記のリンク内の各分析指標毎の値を確認して設定いただくことで、必要な配列が取得できます。
https://www.mql5.com/ja/docs/indicators 

テクニカル分析指標を利用した取引ツールについて

実際に2種の分析指標を使用した取引を実行するためのEAを作成してみましょう。今回はオシレータ系の Stochastic Oscillator(ストキャスティックス)指標 とLarry Williams’ Percent Range(ラリーウィリアムパーセントレンジ)指標を組み合わせた取引ツールを作成します。

取引条件:
1.Stochastic:Main LineがSignalラインと下向きに交差
2.Larry Williams’ Percent Range:-20 以上の場合に売ポジションを新規に建てる

それぞれの売買シグナルに関する判定基準はmql5.com上のこちらからご確認いただけます。 
mql5.com: Stochastic 
mql5.com: Larry Williams’ Percent Range

EAの処理の流れとしては、1種類のテクニカル分析指標と変わらず下記のような流れとなっています。

1.EA起動時に各指標をキャッシュに展開し、ハンドルを取得(OnInit関数)

2.現在の各指標の配列を取得(OnTick関数)
3. 取引シグナルの判別し、ポジションのオープン (OnTick関数) 
※Tick 受信時に(2)(3)の繰り返し

4.EA終了時に各指標のメモリ上のキャッシュを解放(OnDeinit関数)

こちらはプログラム内の処理を抜粋したものになります。
実行可能な全体のEAについてはブログに添付しているEAをご利用下さい。

各種テクニカル分析指標のハンドル値、配列を取得するためのサンプルについてはこちらの記事を参照しています。こちらの各関数を参照することで、効率良くEAを作成することが可能です。
初心者のためのMQL5: EXPERT ADVISORでのテクニカルインディケーター使用ガイド –https://www.mql5.com/ja/articles/31 

分析指標を利用した取引ツール、いかがでしたか?
設計時には分析指標の判定基準等、テクニカル分析指標の内容の理解が大切になります。mql5.com、MT5のヘルプ等を活用してより良い結果となるEAを作成していきましょう。

Originally posted 2019-08-12 13:31:30.

第四回 MQL5.comを使いこなそう!

前回は取引データの取得方法についてプログラムを作成してみました。EA、テクニカル指標など、実現させる方法を調べるときに、MQL5.comはとても便利です。

今回では、MQL5.comを使って、MQL5でのプログラム作成時に役立つリンク情報をご紹介します。 

MQL4 からMQL5への移植についての記事

MQL4で作成したプログラムをMQL5でも使えるようにしたい、MQL4で学んだ内容と比較してMQL5で作成したい、といった時にお役にたてる記事、リンクを紹介します。

記事:MQL4からMQL5への移植

MQL5 記事:https://www.mql5.com/ja/articles/81

MQL4からMQL5について関数の新旧対照表を一覧表形式になっており、移植に役に立つ内容が記載されています。

リファレンス :MQL4からMQL5への移植

MQL5 ドキュメント:https://www.mql5.com/ja/docs/migration

リファレンスの一部として基本的な定義済み変数、予約イベント関数についてMQL4との違いについて記載しています。

初心者のためのMQL5: EXPERT ADVISORでのテクニカルインディケーター使用ガイド

テクニカル指標の計算値の取得方法がMQL4から大きく変わりました。こちらの内容を確認することで、非常に簡単な例を参考に学習することができます。

MQL5参照リンク: https://www.mql5.com/ja/articles/31

Expert Advisorのデバッグとテスト

EA作成時のデバックの仕方について、丁寧に記載しています。
ブレークポイントの設定や動作検証時に設定した変数値の確認方法などが丁寧に記載されています。

MQL5 記事: https://www.mql5.com/ja/articles/100 
※項目 3. Expert Advisorのデバッグとテスト

MQL5標準トレードクラスライブラリの使用

MQL5では通常の関数に加え、標準ライブラリとしてEAを作成するために必要な関数をまとめているクラスライブラリをご用意しています。
こちらを用いることで、より効率よくプログラミングを進めることができるようになります。

MQL5 記事: https://www.mql5.com/ja/articles/138

Originally posted 2019-08-12 13:30:43.

第三回 MQL5で現在のデータを取得しよう

前回は取引についてのプログラムを作成してみました。
それでは取引を行うとき、どのような基準で売買を決定するのでしょうか?
現在の銘柄の予想価格、ポジションがオープンしてからの利益幅、テクニカル分析、様々な情報の取得が必要となります。

今回はプログラミングを通して、主要なデータ取得方法を確認してみましょう。

取得情報 利用方法の例
現在の時間 指定経過時間で一度決済
現在のロウソク足 分析指標へのデータ取得
現在の価格 目的の値を判断して、決済・新規注文を実行

現在の時間

”時間”を管理することでどのようなことができるでしょうか?
取引時に係るスワップ等を考慮した取引期間を制限、特定の時間内のEA取引を設定(日本の株式市場オープン時間のみの取引EA)、時間というパラメータを考慮したルールに沿った取引をすること等が可能になります。

MQL5のドキュメントを参考に、”時間”を取得するプログラムを作成しましょう。

ドキュメント : https://www.mql5.com/ja/docs/dateandtime
日付と時刻 に関する関数を確認できます。

こちらの関数はMT4で使用できた関数と同じ関数です。同様の結果を得ることができます。

現在のチャート情報 

履歴データであるチャート上のOpen/High/Low/Close情報を取得して分析指標などに適用することが可能です。

ドキュメント : https://www.mql5.com/ja/docs/series
時系列と指標データへの取得方法が確認できます。

こちらの関数はMT4で使用できた関数と同じ関数です。同様の結果を得ることができます。

一方MT4とは異なる点として、以下の予約関数が廃止されました。

これらの廃止された関数は、MT5上ではイベント処理関数であるOnCalculate関数 を使用する場合に、現在の値を処理するための情報としてMT4同様の方法で使用することが可能です。ただし、Indicatorのみで使用でき、EA、Scriptでは使用できませんのでご注意下さい。

※プログラム実行 – 指標及びエキスパートアドバイザーで使用出来ない関数を参照してください。 MQL5:https://www.mql5.com/ja/docs/runtime/running

現在の価格情報(Tick)

現在の価格を取得することで、注文、発注管理等を行うことができます。MetaTrader5で利用できるティック受信時間、Bid, Ask, Volumeを利用できます。

ドキュメント : https://www.mql5.com/ja/docs/constants/structures/mqltick
現在のティック情報を取得方法を確認できます。

こちらの関数はMT4と同じ関数です。同様の結果を得ることができます。

Originally posted 2019-08-12 13:29:49.

第二回 プログラムで取引をしよう!

MQL5.comを確認してみよう!

MQL5を使ってプログラムを作成するにあたって、MQL5.comというコミュニティサイトをご紹介します。特にドキュメントのページにはMQL5の関数ドキュメンテーションは最も頻繁に利用されるページでしょう。
また、下記のようにMQL5を作成するにあたって有効な情報が集約されています。

ドキュメント : https://www.mql5.com/ja/docs
MQL5言語に関する公式リファレンスです。MQL5の関数、構文と簡単なコーディングの例を確認できます。
コードベース : https://www.mql5.com/ja/code
無料のサンプルEA、インディケーター、スクリプトダウンロードでき、先輩たちが作ったプログラムをサンプルとして参考できます。
フォーラム : https://www.mql5.com/ja/forum
世界中のトレーダーと知識を共有し、情報交換の場です。困った時に、お互いに助け合いの場でもあります。過去の書き込みを調べたら、解決策が出てくるかもしれません。
記事 : https://www.mql5.com/ja/articles
プロのトレーダーによって投稿された研究記事からテクニカル指標やEAを作成する方法まで学ぶことができます。記事はカテゴリ毎に分類されており、様々な有益な情報をすばやく見つけることができます。
MQL5で取引操作をしてみよう!

それでは早速、コーディングで注文してみましょう。 
新規注文と決済注文を一回ずつやります。

USDJPY を1 ロット成行買いで新規注文する場合(売 / 買) 

MQL4ではOrderSend関数を使って、ロット数や注文タイプなど、色々な引数を入れていましたよね。
MQL5では 、MqlTradeRequest(取引要求)とMqlTradeResult(取引結果)という二つの構造体がOrderSend関数の引数になります。ロット数、注文タイプ、約定したチケット番号などは、全てこの二つの構造体の要素になっています。

※構造体の全ての要素はリンク先で確認して下さい。
MqlTradeRequest 
MqlTradeResult

今回は次のような 内容をMqlTradeRequest(取引要求)に設定します。
 - action : 注文実行タイプの設定 : (成行 / 注文 / 変更 / 削除)
 - symbol : 銘柄
 - volume : 取引ロット
 - type : Buy / Sell 
 - price : 注文価格
 - deviation : スリッページ許容幅

実行結果はMqlTradeRequest(取引結果)に格納されるので、確認できます。
 - retcode : 取引サーバのリターンコード
 - deal : 約定チケット(サーバー約定処理された場合)
 - order : 注文チケット (サーバー約定処理された場合)

※注文タイプによって使う要素が異なります。詳細、その他の要素はMQL5のページを参照して下さい。 

実行結果 – USDJPY 0.1 ロットの買いポジションを建てました。
実行結果 – USDJPY 0.1ロットの 売りポジションを建てました

※どのEAが取引したか判別できるように、ユニークなMagicNumberをセットしましょう。

オープンしたポジションの決済注文を出します

ポジションを決済するには、以下の様にコーディングします。
取得した情報をMqlTradeRequestにセットして、OrderSend決済注文を出します。今回は買注文を実行してオープンしたポジションの決済注文を行います。

実行結果 – チケット番号301907が決済されました 。 
※ チケット番号301910はチケット番号301907の決済注文となります。

Originally posted 2019-08-12 13:28:32.

第一回 MQL5プログラミングのための前知識

このブログはMQL5を使って、MT5のエキスパートアドバイザー(EA)、インディケーター、スクリプトを開発する皆さんに向けて役に立つ情報を共有させて頂きます。

MT5がこれから急速に普及していくと期待されるものの、MQL5に関する情報コンテンツはまだまだ少ないと言われています。そのため、MetaQuotesはMQL5コミュニティ(https://www.mql5.com)というMQL5の利用者コミュニティにて豊富なコンテンツと情報交換の場を提供しております。更に、このブログでは日本の利用者のために特化したMQL5に関するコンテンツを増やしていこうと思います。

そして第一回ですが、MQL5を使う前に、まずMT5では注文、約定、建玉はどのように保存されているか、MT4との違いなど、前提となる知識を整理します。

取引情報の取扱い

MQL5でプログラミングを始める前に、MT4とMT5の取引データの違いを確認します。
MT5では取引情報に約定の概念が加わり、 口座履歴に表示される取引履歴も異なります。 MT4の場合、1注文番号、1列の表示データで表現されていましたが、 MT5の場合にはより詳細な情報を表示することができます。
取引約定情報が加わることでサーバー間での処理時間を知ることなども詳細に知ることが可能となり、より詳細かつ効率的に自動取引ツール、EAを作成することができます。

例 : ポジションオープン時のデータ状態

注文: ユーザーが操作し、取引サーバーに送ったデータ
取引: 取引サーバーによって処理された注文情報 ※
ポジション:約定の結果、売買が成立した取引情報

※MetaTrader 5からは新規に取引というデータ概念が登場しました。

MQL5参照リンク:MQL5.com: https://www.mql5.com/ja/articles/211

MT4 : MQL4とMT5 : MQL5取引に関する関数の違い

また、MT5ではすべての注文処理が一つの関数に集約されました。 要するに、成行、指値、変更、決済、キャンセルといったリクエストは全てトレーダーから出した「注文」であり、其々「注文」の内容が異なると、MT5で見直した考えです。

MQL5ではこのような関数や取引データの取扱に関するMQL4からの変更点があります。

MetaTrader5上での取引情報を確認しよう

成行注文によりポジションをオープンし、ポジションを持ちます。

USDJPY を1 ロット成行買いで新規注文し、111.012円で約定した場合

[ツールボックス ] – [取引] 
[オープン中のポジション、約定前の指値注文、逆指値注文はこちらに表示されます。MT4同様注文、チケット、ポジション約定時間、数量、約定価格が表示されます。

[ツールボックス ] – [口座履歴] 
取引履歴には4種類の表示方法があります。

[ 注文と約定]MT4と違い、注文と約定は2行になります。

注文: ユーザーが操作し、取引サーバーに送信したデータ
約定: 取引サーバーによって処理された内容

1行目は注文を送信した情報として注文時間、銘柄、チケット(Order ID)、注文のタイプ、 1ロット、 価格(Market: 成行注文のため)と表示されます。
2行目には注文情報に対する約定取引情報として約定時間、チケット(Deal ID)、in(新規ポジションオープン)、ロット、成行注文約定時の価格が2行面に注文情報に対する取引約定情報として表現されます。
※左に表示されるアイコンは買:青色、売:赤色となります。

[ 取引一覧 ] 
口座履歴には注文がサーバーで 約定処理をした注文の履歴が表示されます。
この場合には注文番号(OrderID)、USDJPY、買注文、注文価格内容(成行の場合にはMarketと表示)、発注時間、状況(filled成立/cancelled不成立)といった情報が確認できます。 MT4にはありません

[ ポジション一覧 ]
MT4にはないポジション履歴の一覧です。
クローズしていないため、ポジション履歴はありません 。

先程約定した USDJPY 1.0 ロットの買いポジションを成行で決済注文し、111.054円で約定した場合

[ 注文と約定] 
MT4と違い新規と決済は2つの注文として表示され、それぞれの約定情報も含め合計4行になります。

注文: 取引者が出した要求
約定: 要求に対する応答

1行目 – 新規注文
2行目 – 新規注文の約定(in)
3行目 – 決済注文
4行目 – 決済注文の約定(out)
※ MT4にはないin」と「out」の概念は新規と決済を表しています。
チケットに表示される数字はそれぞれの注文ID(Order ID)取引ID(Deal ID)を表わしています。

[注文一覧]
注文のみ表示され、状況欄でfilled / cancelled など情報で約定結果分かりますが、新規か決済か、また約定価格が分かりません。

”価格”には注文内容が表示されるため、成行注文の場合には価格に”market”と表示されます。

[取引一覧]
約定のみ表示され、注文時の価格が分かりません。

[ポジション一覧]
決済したので、ポジション履歴が表示されます。
新規約定時間、決済約定時間、新規約定価格、決済約定価格を確認できます。
MT4の取引履歴と似ています

以上、MT5の取引履歴の見方はよく分かりましたか。次回からは、プログラミングの話を始めます

Originally posted 2019-08-12 13:24:02.