水牛がMQL5を学んでみた。

MQL5の情報を共有していきます。

MQL5の整数型変数の作り方。

MQL5で変数を作る方法をご紹介します。

int

 

MQL5での変数の作り方は基本的にC言語と同じです。

変数というのは一時的に数値や文字を保存しておくことができるものです。

EAでは変数を多用します。

 

サンプルコード

f:id:mql:20190521174614p:plain


コンパイルすると警告が出ると思います。

無視して実行してください。

本来は

f:id:mql:20190521174534p:plain
 と書くべきですがわかりやすくするためにprintf()のかっこ内に直接変数名を書き込んでいます。C言語ではできません。

f:id:mql:20190521174747p:plain

1234が表示されるだけですが、直接1234を表示したのではなくてaiueoという箱に1234を入れてaiueoの中に入っている値を表示したということを理解してください。

 

MQL5で現在の買値、売値を取得する方法。

 

 

MQL5で現在の買値、売値を取得する方法をご紹介します。

SymbolInfoDouble(通貨ペア、欲しい情報)

SymbolInfoDouble()は指定した通貨ペアの情報を取得します。

SymbolInfoDouble()のかっこ内に通貨ペアほしい情報を入力します。

今回は買値と売値を取得するのでEAが動いているチャートの通貨ペア(Symbol()で取得する)とほしい情報(SYMBOL_ASK,SYMBOL_BID)を使います。

 

買値と売値は常に変化するのでvoid OnTick()(ティックが動くたびに中身が実行される)を使います。

 

mql.hatenablog.jp

 表示方法は変化に強いComment()を使います。

 

サンプルコード

f:id:mql:20190521165011p:plain

コメントの中の記述方法はいろいろありますが私はこのやり方が一番好きです。

f:id:mql:20190521165124p:plain実行すると左上に現在の買値と売値が表示されるはずです。

さらに価格が変動するたびリアルタイムで変動します。市場がしまっている場合ビジュアルモードで実行してください。

 

 

MQL5で使われる基本的なイベント処理。

 

MQL5で使われる基本的なイベント処理をご紹介します。

簡単に説明すると、イベントというのはEAに何かの出来事が起きたということです。

EAの作成画面を開いたときint OnInit()とvoid OnDeinitとvoid OnTickと書かれていると思います。

 

 

int OnInit(){}の波カッコに書いたことはEAをセットした時一度だけ実行されます。

void OnDeinit(const int reason){}の波カッコに書いたことはEAを止めたとき一度だけ実行されます。

void OnTick(){}の波カッコに書いたことはチャートに新しいティックができたとき一度だけ実行されます。

 

サンプルコード

f:id:mql:20190521161338p:plain

*少し負荷の大きいプログラムです。

 

プログラムを作っている日に市場が開いているなら実行、

市場が開いていないのであればビジュアルモードで実行してください。

 

実行した瞬間から「EAがセットされました」と表示され、すぐに「新しいティックが形成されました。」と価格が動くたび表示されます。

動くたびなのでメッセージがたくさん表示されます。

 

確認出来たらEAを止めてみましょう。

「EAが停止しました。」と表示されます。

 

f:id:mql:20190521162250p:plain

 

MQL5でEAの動作を止める方法。

 

MQL5でEAの動作を止める方法をご紹介します。

EAを完全に停止したい場合。

チャート上を右クリックしてください。

表示された中のエキスパートリストという項目をクリックしてください。

f:id:mql:20190521162940p:plain

EAの名前を選択した状態で、削除を押してください。

EAの動作は完全に停止します。

 

売買のみを停止したい場合。

f:id:mql:20190521163341p:plain

左上にある自動売買をクリックしてオフにしてください、

画像は実行状態です。

オフにしてもprintf()などのプログラムは実行されます。

MQL5でチャートで見ている通貨ペアを取得する方法。

MQL5でチャートで見ている通貨ペアを取得する方法。

Symbol()または_Symbol

Symbol()または_SymbolではEAを動かしているチャートの通貨ペアを知ることができます。

 試しに通貨ペアを取得して表示してみましょう。

 

サンプルコード

f:id:mql:20190521154519p:plain

実行してみてください。

int OnInit(){}ではEAをセットした時に一度だけ実行します。

 

実行方法は↓をご参照ください。

実行するとエキスパートタブに現在の通貨ペアが表示されるはずです。

f:id:mql:20190521154723p:plain

mql.hatenablog.jp

MQL5でAlertを使う方法。

 

 MQL5でAlertを使う方法をご紹介します。

Alert()

 

Alertで出力↓文字列や数字は別ウィンドウに表示されます。

EAの使用者に目を通してほしい重要な通知をするときに使うことが多いです。

 

Alert()のかっこの中に書いたものが表示されます。

 

文字列を表示させたい場合はダブルクォーテーションで挟む必要があります。

 

サンプルコード

f:id:mql:20190521152359p:plain

実行してみてください。

Int OnInit(){}ではEAをセットした時に一度だけ実行します。

 

実行方法は↓をご参照ください。

 

mql.hatenablog.jp

 実行すると別ウィンドウにEAがセットされましたと表示されるはずです。

f:id:mql:20190521152923p:plain