MQLを触る①

スクリプトの作り方や基本的な関数についてまとめます


私は時々 FX をやります。FX では、MetaTrader という有名なソフトがあり、そのソフトではスクリプトが書け、自動トレードが行えます。前々から気になっていたのですが、真面目に勉強することにしました。

作り方

スクリプトにはいくつかの種類があるのですが、勉強のため一回だけ実行されるスクリプトから始めてみます。

メタエディターを起動し、メニューの [ファイル] - [新規作成] を選択し、ダイアログからスクリプトを選択します。次に、適当に名前をつけて完了します。

言語仕様

ほぼ、C 言語らしいです。そのうちまとめます。

エントリポイント

スクリプトを作成すると自動的に

void On Start()
という関数が作成されています。そこがエントリポイントになります。

表示

Print 関数で表示できます。また、FX に便利な、ロウソク足や現在価格は定義済みのようです。

これらの機能を使うと以下のような感じで、ローソク足の様子が表示できます。

MessageBox 関数も使えるようです。

メールの送信

以下の関数で遅れるようです。メールサーバや送信先の設定は MT4 の [ツール] - [オプション] からやるようです。

int, double の他に、string 型もあるようです。

トレード関数

準備

トレード関数とは、FX の取引を行うための関数です。これらの関数を有効にするためには、MT4 の自動売買をオンにする必要があります。

注文の送信

OrderSend
関数でいろいろできるようです。実際に発注してしまうため、まだやっていません(デモ口座でやれし)。

口座情報の取得

AccountInfoDouble
などといった関数で取得可能なようです。

ポジションの確認

OrderSelect
関数で対象の注文を選択し、Order ~関数で状況を取得できるようです。

保持中のポジションの列挙

以下のような感じでできるようです。

決済注文

OrderClose
関数でいろいろできるようです。

スクリプト呼び出し時に値を受け取る

としておくと、スクリプト呼び出し時にダイアログが表示され、そのダイアログから test 変数への値の設定ができるようになります。