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

MT4のEA開発者のブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

現代的プログラムの面倒臭さ(^^) オブジェクトなMQL5

メタトレーダー4のEAやインジケータはMQL4言語で書くわけですが、MT4 Built600以降のMQL4の仕様はMT5のMQL5の要素をふんだんに取り入れています。

MQL4と違って、決済の処理が面倒くさいとか。
※英文リファレンス読んでも決済という概念が見当たらない。
インジケータの読み込みもMQL4では関数で読んでいただけでした。
MQL5ではバッファを用意してMT5にインジケータの値を書き込ませてからバッファを読み出すとか、全体的に違ってくるわけです。
試しにMQL4からMQL5へのコンバートを試みたEAがありますが、MQL4のときより長いプログラムの記述がいるようです。

ただ、インターフェイスの利便性を上げるためか、MT5はEAがマウスからの入力も受け付けることが出来るようになっています。
Windowsプログラミングで言うところのイベント処理ですね。

近代的なプログラムは、全世代的なプログラムと違ってイベント処理や画面描画処理を個別に行うという概念があります。
旧世代プログラミングでは、マウスやキーボードの入力をプログラムが監視し、逐次画面描画も更新していました。(プログラムが支配している)
現代的なプログラミングでは、マウスやキーボードの入力がプログラムを呼び出します。(プログラムが支配されている)
画面の描画に関しても、あえて更新処理命令を出さなければ、Windowsは画面の内容を更新することはありません。
内部データが変化していても・・・・・・。
大昔の古いプログラムしかわからない人には、理解が難しいところかもしれない。

プログラミングに対する世代間の考え方の格差もそうだし、概念的なものの変化もそうだし。
なにより、プログラミングのスタイルはメタトレーダープログラムの世界でも変化があるのだから、なんとも忙しいものです。

スポンサーサイト
[ 2016/11/22 20:22 ] 未分類 | TB(-) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
 
システムトレードランキング


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。