MT4に取引履歴のcsvデータを表示させるインジケータ(全取引所対応)
このnoteは、MT4チャートに様々な取引所の取引履歴を表示することを目的にしたインジケータについて紹介しています。
皆さんはどこの取引所を使用しているでしょうか?海外FXだとMT4やMT5が多いでしょうが、国内FXでは独自の取引ツールを提供されていることがほとんどです。国内FXはスプレッドが狭く、取引がしやすいUIなどが魅力ですが、いざ解析をするとなると、やはりMT4が使いやすかったりします。
そこで、今回紹介するインジケータは、国内取引所からダウンロードできる取引履歴をMT4チャート上に表示することができ、過去トレードの解析に便利に使用することができます。
実際、これまで、さまざまな国内取引所の取引履歴csvデータをMT4チャート上に表示するインジケータを作成、販売してきました。
他にも、ダウンロード可能なEAのトレード履歴を検証してみたいとのお声から、取引履歴のcsvデータからロジック解析を行うインジケータも作成してきました。
ゴゴジャンやmyfxbook、LetsRealなどはEAの取引履歴をダウンロードすることができます。この取引履歴のcsvデータをMT4チャート上に表示することができるのが、今回紹介するインジケータです。
MT4チャート上に表示することで、どこでエントリーし利確損切しているのか可視化することができます。うっすらとロジックが想像できたりもします。
使い方は人それぞれでしょうが、取引履歴のcsvデータさえ手に入れることができれば、MT4チャート上に表示することができるようにインジケータは作成しています。
2024.10.9 ヒロセ通商FXのプリセットを追記
ヒロセ通商FXのプリセットを追記しました。
取引履歴をMT4チャートに表示するインジケータ
MT4自身の取引履歴の表示のさせ方
MT4はMT5と違って、右クリックだけで取引履歴を表示できませんが、ターミナルの口座履歴からチャートへ取引履歴をドラッグアンドドロップすることで表示させることができます。
上記のようにMT4を使って得られた取引履歴は表示することが可能です。しかし、他の取引所からダウンロードされたcsvデータなどを表示するインジケータはありません。
そこで、本インジケータの登場です。
インジケータで表示できること
取引所からダウンロードできるcsvデータは2種類あります。同じ行内に新規注文の情報と決済情報が入っているものと、そうでないものです。
同じ行内にあるものとは、以下のようなcsvの並び方です。
以下に主だった取引所からダウンロードしたcsvデータを、エクセルにて展開した画像を供覧します。
MyFXBookの取引履歴
新規注文であるOpenの情報と、決済注文であるCloseの情報が同じ行に存在しています。この場合、上のチャートのように新規と決済を線でつないで表示させることができます。
JFXの取引履歴
LetsRealの取引履歴
一方、新規注文と決済注文が別の場合は、上記のようなチャート表示ができません。
GMOクリック証券FXの取引履歴
GMOクリック証券の場合、FXネオ新規とFXネオ決済との名前になり、それぞれ行が別になります。対応するチケット番号などがあれば、紐づけさせて線でつなぐことができるのですが、そのような値は得られませんので、新規・決済それぞれを表示する形になります。
DMMFXの取引履歴
DMMFXも新規と決済が異なる行なので、それぞれを表示する形になります。
数字に含まれるカンマの処理方法
上記のDMMFXの取引履歴などは、数字の中にカンマが含まれることがあります。(例 1,500)
この場合、数字内のカンマを区切り位置と認識したインジケータの不具合が生じてしまいます。
そこで、前処理としてcsvデータを次のように処理する必要があります。
エクセルの場合
エクセルにて取引履歴のcsvファイルを開く
カンマを消したい行を選択
表示形式に標準を選択
保存する
GoogleSpreadSheetの場合
GoogleDriveに取引履歴のcsvファイルを保存する
GoogleSpreadSheetにて取引履歴のcsvファイルを開く
カンマを消したい行を選択
表示形式に標準を選択
保存してダウンロードする
文字化けした場合は
GoogleSpreadSheetで保存した場合、文字化けを起こすことがあります。
この場合は、メモ帳で開いてANSIで保存することで対処可能です。
取引履歴のcsvファイルを右クリックしメモ帳で開く
エンコードにANSIを選んで保存します
MT4に取引履歴を表示するインジケータの使用方法
① 各取引所から取引履歴のcsvデータをダウンロードする
各取引所から取引履歴のcsvデータをダウンロードします。例として、GMOクリック証券で示します。(ほかの取引所は別の項目で紹介します。)
GMOクリック証券の場合、ログイン→FXネオ→精算表を選択します。
FXネオ取引口座の取引だけを選択し、期間指定後検索します。
表示された検索結果をダウンロードしたら完了です。
② ダウンロードしたcsvデータの名前を変更して、MT4のfileに保存
ダウンロードしたcsvデータの名前を変更して、MT4のfileに保存します。(名前はそのままでも良いですが、長くてわかりづらいので変えた方が後々使いやすいと思います。)
③ csvデータの並びを確認
csvデータの並び順を確認します。以下に今回紹介するインジケータのパラメータの一部を表示します。
表示に必要な項目は以下の9項目です。
通貨ペア名
新規、決済
買、売
約定時間
約定価格
決済時間
決済価格
ロット
利益
これらの項目がcsvの何番の列番号か入力します。(A列だと0番目、B列は1番目となることにご注意ください。)
例えば、GMOクリック証券の通貨ペアはE列にあるので、4番目となります。
新規か決済かはB列なので、1番目となります。
他の項目も入力すると以下のようになります。
GMOクリック証券の場合、決済と新規が同一行内に存在しないので、決済時間や価格を選択する列番号が存在しません。この場合は-1を入力して除外処理を行ってください。
MyFxBookの場合、決済と新規が同一行内に存在するので、以下のようなパラメータになります。
これらの設定は各自で可能ですが、面倒なので『読み込み』からセットできるプリセットも用意しています。こちらも一緒にダウンロードして使用できるようにしています。
必要なファイルがあればご連絡ください。作成します。
プリセットを読み込めば、各取引所の取引履歴にあったパラメータに変換されます。
④ 本noteのインジケータをIndicatorsに保存
⑤ MT4チャートにインジケータをドラッグアンドドロップする
MT4チャートの時間足は、1分足にした方が正確な位置に表示されます。ローソク足のヒストリカルデータが足りない場合は、表示されないことがありますので、各自で過去データを探してインストールしてください。
⑥ パラメータを設定する
先ほどダウンロードし名前を変更した取引履歴のファイル名を入力します。
年月日の表記順を選択します。2024/8/28ならYYYY/MM/DD、8/28/2024ならMM/DD/YYYYです。MyFxBookは並びが変なので、MM/DD/YYYYとなっています。
取引履歴を表示するチャートのTimeFrameを選択します。currentで問題ないです。
MT4の時差を分で入力。通常、日本時間とMT4業者の時間は6時間程度ずれているので、6時間であれば-360などを入力してください。
表示する行数。csvデータの行数を入力します。取引履歴が100行程度であれば200くらい、1000行であれば1200くらいの少し多めの数字を入れてください。
再描画するローソク足の移動本数。1000本の新しいローソク足が読み込まれるたびにインジケータが再描画行います。少なすぎる数字だと再描画しすぎてMT4が落ちますので、気を付けてください。
csvの区切り文字。基本カンマ区切りなので44でOKです。
新規と決済が同じ列か。GMOクリック証券のように別の行の場合はfalse。MyFxBookのように同じ行であればtrueを選択。
列番号によって得られる…。読み込みができているか確認するための項目です。通常はfalseでOKです。表示されないなどの不具合があった場合は、trueにしていただきMT4ターミナルのエキスパート項目に情報が表示されているか確認してください。
ラベル表示するかどうか。矢印表示だけでなく、価格とLotとPipsを表示するかどうか選択できます。
矢印を高値安値に表示。エントリー価格ではなく、その足の高値安値に表示することができます。ローソク足に矢印がかかってうるさい時に使用しますが、基本はfalseでOKです。
先ほどcsvで確認した列番号を入力します。プリセットだと楽に使用できます。
エントリー列に含まれる文字列。決済列に含まれる文字列。
買い列に含まれる文字列。売り列に含まれる文字列。
ArrowCodeの番号を選択
241は上矢印、242は下矢印。他の形が良い場合は、上記のサイトで探してください。
ラベルの色。矢印の色を選択可能です。
Lotの調整数字。日本の取引所の場合、10000通貨1Lotで計算されることが多いです。csvデータにおいて5000通貨などが表示される場合は10000などの数字を入れて調整する必要があります。
Pipsの調整数字。通常1Lot1万円幅で100pipsのような値になるように調整可能です。
以上がパラメータの設定です。
不具合発生時のトラブルシューティング
まず確認してもらいたいこと
表示されないなどの不具合が生じた場合は、ターミナルのエキスパートを確認してください。正しいcsvの値が取得されているかどうか確認することができます。
Error code is : 5004
読み込みたいcsvファイルが開いたままになっています。csvファイルを閉じてから、再度インジケータをドラッグアンドドロップしてください。
uninit reason 8
読み込み途中で不具合が生じています。
上記はDMMFXの取引履歴の取得エラーです。
F列の数字にカンマが含まれているため、列の区切り分けが正しく行われず、約定時間に1の数字が入ったことがエラーの原因です。
エクセルかGoogleSpreadSheetを用いて数字のカンマを消すことで、正しく表示させることができます。
本インジケータの作成の経緯
ご購入者様の声を形にしたい
これまで多くの方にMT4チャートに取引履歴を表示するインジケータをご購入いただきました。ご購入いただいた方には感謝しかありません。この場を借りてお礼申し上げます。ありがとうございます。
最初は、ゴゴジャンやMyFxBookの取引履歴をチャート上に表示できれば、ロジック解析できるのではないかとの思いからインジケータの作成がスタートしました。
その後、多くのご購入者様から、『この取引所の取引履歴はMT4チャート上に表示できないですか?』とのお問い合わせを多くいただきました。
ご依頼に対して、取引所のcsvをダウンロードし、インジケータを作成していていました。しかし、取引所から得られるcsvの情報は基本同じであり、並び順が違うだけです。これを個別で作成するより、どの取引所にも対応可能なインジケータを作成した方が便利なのではないかと考えました。
そこで、本noteで紹介するインジケータを作成しました。
問い合わせ対応
購入いただいたものの、設定が分からない。以前は表示されたのに表示されなくなった。不具合で動かないなどの症状で連絡をいただくことも多々ありました。
多くは上記に示したトラブルシューティングか、取引所の取引履歴の並び変更が原因でした。
その都度取引履歴の並び順に沿った新たなバージョンを作成し提供するのは、私もご購入者様も手間なので、並び順を手動で選択変更可能な仕様に変更しました。
これにより、取引所からダウンロードされる取引履歴の並びが変更しても簡単に対応が可能になります。
しかしながらプログラムゆえに、どこかで不具合は生じてしまいます。これに関しては、個別に対応が必要ですので、XのDMもしくはmailにてご連絡をいただければ対応させていただきます。
X: @python_btc_bot
mail: hiropon.mt4.ea@gmail.com
ご購入者様のお声
不具合が生じ表示されない場合も、表示されるまで個別対応させていただきます。
これまでのインジケータは販売停止に
GMOクリック証券やDMMFXなどの個別取引履歴に対して使用可能だった過去のnote記事に関しては、販売を停止し、すべてこちらのnote記事にリンクするようにします。
個別の取引所のパラメータ設定に関しては、ご連絡いただければ作成しますので、気軽にご連絡ください。
注意事項
対応可能な取引所かどうかの確認は購入前に
全取引所対応可能なように作成していますが、対応可能か事前に知りたい場合は、購入前にご連絡ください。取引履歴のサンプルcsvファイルをいただければ、表示可能か確認させていただきます。
また、商品の仕様上、返金不可となります。購入前にしっかりとご検討いただければ幸いです。なお、質問等ありましたら、ご連絡ください。
X: @python_btc_bot
mail: hiropon.mt4.ea@gmail.com
また、追加でほしい項目(SL、TPのラインが欲しいなど)ありましたら、有料部分にバージョンアップで追記していく予定です。
以下、インジケータのダウンロードとプリセットファイルのダウンロードが可能になります。プリセットファイルは、順次追加していきます。
ここから先は
¥ 4,980
この記事が気に入ったらサポートをしてみませんか?