MQLを触る①
スクリプトの作り方や基本的な関数についてまとめます
私は時々 FX をやります。FX では、MetaTrader という有名なソフトがあり、そのソフトではスクリプトが書け、自動トレードが行えます。前々から気になっていたのですが、真面目に勉強することにしました。
作り方
スクリプトにはいくつかの種類があるのですが、勉強のため一回だけ実行されるスクリプトから始めてみます。
メタエディターを起動し、メニューの
を選択し、ダイアログからスクリプトを選択します。次に、適当に名前をつけて完了します。言語仕様
ほぼ、C 言語らしいです。そのうちまとめます。
エントリポイント
スクリプトを作成すると自動的に
void On Start()という関数が作成されています。そこがエントリポイントになります。
表示
Print 関数で表示できます。また、FX に便利な、ロウソク足や現在価格は定義済みのようです。
これらの機能を使うと以下のような感じで、ローソク足の様子が表示できます。
MessageBox 関数も使えるようです。
メールの送信
以下の関数で遅れるようです。メールサーバや送信先の設定は MT4 の
からやるようです。型
int, double の他に、string 型もあるようです。
トレード関数
準備
トレード関数とは、FX の取引を行うための関数です。これらの関数を有効にするためには、MT4 の
をオンにする必要があります。注文の送信
OrderSend関数でいろいろできるようです。実際に発注してしまうため、まだやっていません(デモ口座でやれし)。
口座情報の取得
AccountInfoDoubleなどといった関数で取得可能なようです。
ポジションの確認
OrderSelect関数で対象の注文を選択し、Order ~関数で状況を取得できるようです。
保持中のポジションの列挙
以下のような感じでできるようです。
決済注文
OrderClose関数でいろいろできるようです。
スクリプト呼び出し時に値を受け取る
としておくと、スクリプト呼び出し時にダイアログが表示され、そのダイアログから test 変数への値の設定ができるようになります。