2021年06月15日
MT5で1Lotが何通貨なのか確認する方法を説明します。
MT5のプログラム言語MQL5でプログラム的に取得するコードも紹介します。
Lotは取引通貨の単位です。国内FX会社では1lot=1万通貨、海外FX会社では1lot=10万通貨が用いられることが多いです。
しかし、1lotが何通貨なのかはFX会社ごと、さらにはそのプランごとでバラバラで統一されていません。
しかもMT5で注文を行う場合、このlot数で注文を行います。そのため、自分のアカウントでは1lotが何通貨であるか正確に確認すべきであることは言うまでもありません。
MT5のウィンドウ上で確認する方法を説明します。
銘柄タブの中の確認したい通貨を右クリックしましょう。ポップアップから『仕様(p)』を選択するとウィンドウが表示されます。
その中の『契約サイズ』が今回知りたかった1lotの通貨量を表しています。
次にプログラムで取得する場合のやり方を説明します。
使う関数はSymbolInfoDoubleです。contact_sizeに1lotの通貨量が格納されます。
int OnInit()
{
//---
double contact_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);
double volume_min = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
double volume_max = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
double volume_step = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
printf("1Lot = "+contact_size);
printf("min = "+volume_min * contact_size);
printf("max = "+volume_max * contact_size);
printf("volume step = "+volume_step * contact_size);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
SymbolInfoDouble関数には2つの引数が必要です。
1つ目はシンボル、つまり通貨名です。_Symbol はEAをロードしたチャートの通貨になります。
2つ目は ENUM_SYMBOL_INFO_DOUBLE で、これは欲しい情報の名前を指定します。
今回は1Lotのサイズが知りたかったのでSYMBOL_TRADE_CONTRACT_SIZEを指定します。上のサンプルコードでは最小取引量、最大取引量、取引量の刻み幅も合わせて出力するコードになっています。
このEAを実行すれば下のように出力されます。私の環境はXMのスタンダード口座ですので、1lot = 10万通貨が正しく表示されました。
1Lot = 100000.0
min = 1000.0
max = 5000000.0
volume step = 1000.0
最小ロットは1000通貨で0.01lotから、0.01lot刻みで50lotまでのようです。
EAの実行時は1lotが何通貨であるか確認しましょう。
ウィンドウでの確認方法とプログラムでの確認方法に2種類があります。
プログラムではSymbolInfoDouble関数を使うことで様々な情報が取得できます。SYMBOL_TRADE_CONTRACT_SIZEを指定して取得しましょう。
MQL5の書き方はC++に似ていますが難しい部分も多いと思います。
ContraではEAをアプリ上で作成、変換するサービスを展開しています。
無料でアプリのダウンロードができます。ぜひご利用ください。
コントラは最高のFXアプリを
目指して誠意開発を続けております。
機能の要望や、不具合などありましたらご遠慮なくヘッダーの問い合わせ、フィードバックからご連絡ください。またツイッターからでも大丈夫です!
皆様のFXトレードのお力になるFXアプリを目指しますので、これからもよろしくお願いいたします。