『MT4 の取引履歴をテキストファイル(CSV 形式)に出力するスクリプト(MQL4)』で保存した CSV 形式のファイルをもとに Python(seaborn)で損益ヒストグラムを描く方法です。
CSV ファイルは以下のような形式です。1 行目はヘッダ(コメント)で, 2 行目以降に取引履歴が続きます。
各行は,カンマ区切りで,オープン時刻,クローズ時刻,ロット数,損益,シンボル名,売買種別が並びます。
OpenTime,CloseTime,Lots,Profit,Symbol,Buy/Sell
2020.10.26 03:54:05,2020.10.26 04:10:03,1.41,-4371,USDJPY-cd,Sell
2020.10.26 04:21:22,2020.10.26 05:01:09,1.41,11985,USDJPY-cd,Buy
2020.10.26 07:23:36,2020.10.26 08:59:58,1.42,-426,USDJPY-cd,Buy
2020.10.26 10:00:11,2020.10.26 10:19:02,1.42,-710,USDJPY-cd,Buy
2020.10.26 10:36:15,2020.10.26 10:56:00,1.4,3360,USDJPY-cd,Sell
Python のスクリプトは以下のようになります。CSV ファイルの読み込みには pandas を,ヒストグラムの描画には seaborn + matplotlib を使っています。
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
# CSV ファイルのパス(適宜変更してください)
path = r'C:\HogeHoge\OrderHistory.csv'
# CSV ファイルの読み込み
df = pd.read_csv(path)
# 日本語フォントを設定
sns.set(font="Yu Gothic")
# 損益を 1 ロットあたりに正規化して,ヒストグラムを描画
sns.displot(df['Profit']/df['Lots'], kde=True)
# x 軸ラベルの設定
plt.xlabel('ロットあたり損益 [JPY/Lot]')
# グラフの表示
plt.show()
実行すると以下のようなヒストグラムが描けます。