東京システムトレーダーの開発日記

MT4のEA開発者のブログ

MQL4プログラミング入門(1)

MQL4はC言語の様式に似せて作られている。
だから、C言語でのプログラミングが出来る人にとって基礎部分の習得はすぐである。
教育心理学が何なのかはさっぱりわからないが、実力のある、出来る人はすぐできるようになる。
正直、出来る人は放っておいても勝手に出来るようになる。
 
しかし、MQL4はイベント的な概念が加わるので、ただC言語が出来ると言うだけの人に分かりにくい部分もあるかもしれない。
これは、どちらかと言えば、C++やC#的な要素だろう。
 
新MQL4はMQL5への橋渡しとして、MQL5のプログラミング要素を取り入れている。
旧MQL4から、オブジェクトというものは存在したがMQL5は、オブジェクト指向が何となくでも分かっていないと、取っ付きにくいかもしれない。
どうせMT4からMT5へ移行させられるのだろうから、MQL5は出来たほうが良いのだが、多くの人は、まず新MQL4から覚えたほうが良いかもしれない。

新MQL4は旧MQL4と若干違う。MQL5に似せられている。
普通のC言語と違って、イベントという概念をまず分からなければならない。

例えばWindowsマシンでマウスをクリックする、キーボードを押すという「イベント」が発生する。
OSは、イベントに合わせて該当するプログラムを呼び出す。
古いC言語の概念からは、難しいかもしれない。
例えば、左下のウィンドウズボタンを押すとイベントが発生して、必要なプログラムをウィンドウズが実行する。
プログラムはマウスを監視していない。
マウスの操作がイベントを発生させて、所定のプログラムが実行された。
初めにイベントありき。
旧世代プログラミングとは順序立場が逆。

MQL4ではMT4がOSみたいなものということだろう。
MQL4では、初期化(EA起動時)、終了、チャートにtickが発生
他にもあるけど、まずこの3つが基本になる。
基本、ループでグルグル回すということはしない。
あくまで、イベント発生時にだけワンタイム処理をするように組んで、終わったらMT4へ制御を返すようにしなければならない。

//////////////////////////
初期化イベント (起動した一番初めにだけ実行される)
int OnInit()
{
//---
Print("Initialization");
//---
return(INIT_SUCCEEDED);
}

終了イベント
void OnDeinit(const int reason)
{
//---
Print("Deinitialization with reason",reason);
}

チャートにtickが発生(チャートが動く度に実行される)
void OnTick()
{
//---

}

//////////////////////////
 
これらの関数は、mainから呼び出されるということはない。
各々が完全に独立していて、イベントに合わせてMT4から呼び出して実行する。
 
詳細は次のホームページに書いてある。(注、日本語なし)
https://docs.mql4.com/runtime/running
読めない人は、日本語に約したものを自分のサイトに載せている方々がいるようなので、そちらを参照しても良いかもしれない。
ただ、プログラミング例を載せていない場合は、分かりにくいかもしれない。
 
ならば、C言語が分かる人はコードベースからフリーのコードがダウンロードできるので、そちらを解析して慣れたほうが早いと思われる。
https://www.mql5.com/en/code/mt4
これらはプログラムの組み方を学ぶのには最適だが、トレード用のアルゴリズムとしては参考にならない場合のほうが多い。
 
一般の書店で売っているような投資本の理屈をプログラムにしてあるレベルなので、これは実戦では使い物にならない。
世の中の人は、どれだけ儲からない手法を教える詐欺に引っかかっているのかと思うと、残念でならない。
本当に儲かる方法をただで教える理由はないのだろうが、FXでも同じで巷のトレードテクニックを実践すればたちまち丸裸にされてしまう。
自分が儲からないので役に立たないテクニック(普通のゴールデンクロス・デッドクロスとか)を投資手法として安売りしている。
なら、なんたら翼ではないですが、情報商材の何十万円するトレードテクニックのほうが幾倍もマシなのだと思う。
ただより高いものはない。。。
安物買いの銭失いという言葉もある。。。

関係ないことですが、あまり裕福ではない人は、こういう役に立たないテクニックを拾ってくるのが大好きなものらしい。
そして、役に立たないテクニック(近々大損失を出すような)をドヤ顔で、あなたにも推奨してくる。
貧乏はこうやって伝染する。。。。。
貧乏関係と縁を切らないと自分が裕福になれないのはこういうことと深い関係がある。
アメリカの大富豪が口を揃えて言うことには。。。。
続く)
スポンサーサイト
[ 2016/11/23 00:33 ] 未分類 | TB(-) | CM(0)
コメントの投稿












管理者にだけ表示を許可する