おはようございます。
昨日仕事で片目をやられてしまい眼帯生活を強いやられているengineeeerです。
昨日、近い将来気になる新プラットフォームであるMetaTrader5のプログラミング言語MQL5のヘルプファイルの解読を行っていました。(ロシア語ですが・・・w)
まだ基本的なところだけですが、
型 | Size | 最小値 | 最大値 | C++での表記 |
char |
1 | -128 | 127 | char |
uchar | 1 | 0 | 255 | unsigned char, BYTE |
bool | 1 | 0(false) | 1(true) | bool |
short | 2 | -32768 | 32767 | short,wchar_t |
ushort | 2 | 0 | 65535 | unsigned short, WORD |
int | 4 | -2147483648 | 2147483647 | int |
uint | 4 | 0 | 4294967295 | unsigned int, DWORD |
color | 4 | -1 | 16777215 | int, COLORREF |
long | 8 | -9223372036854775808 | 9223372036854775807 | __int64 |
ulong | 8 | 0 | 18446744073709551615 | unsigned __int64 |
datetime | 8 | 0 (1970.01.01 0:00:00) | 32535244799 (3000.12.31.23:59:59) | __time64_t |
float (7桁) | 4 | 1.175494351e-38 | 3.402823466e+38 | float |
double (15桁) | 8 | 2.2250738585072014e-308 | 1.7976931348623158e+308 | double |
ベースがC++なので、これだけになりますね。でもこんなに使うかな?まあ、あって損は無いのでしょうけどねw
それにEAを長いこと作ってて思いますが、手法自体はシンプルがベストだと思います。複雑に指標を組み合わせてもあまり効果ないです。
イベント予約関数が、増えますね。
MQL4ではinit(),start(),deinit() でした。MQL5では、
OnStart(),OnInit(),OnDeinit(),OnTick().OnTimer(),OnTrade(),OnBookEvent(),OnChartEvent(),OnCalculate() とあります。
これはプログラマーさんにとってはとてもありがたいです。MQL4ではインジケータをEA内にそのまま組み入れることは出来ませんでした。外部のインジケータを呼び出すことはできますが。MQL5はインジケータ、EA、スクリプトそれぞれ呼び出されるタイミング・関数が違います。ってことは、ひとつのファイルで全て作れるってことになるのかな?この辺もまさにクラス・構造体の使用利点が伺えますね。
他には、チャートを拡大したりスクロールしたりという関数があります。何に使うのかな?デモンストレーションとかに使えるかな?
あとは、スプレッドの記録がされるようです。SpreadLogerの役割も後に終わりを迎えそうです。
まあ、時間をかけてじっくり読んでみますが、公開されてブローカーが対応するようになるには数年かかるんじゃないでしょうかね?肝心なオーダー系の説明が未だかかれていませんw。
どんなに、高級言語が使えるようになっても、EAシステムトレードに必要なのはアイデアだと思います。その点を忘れると技術も知識も全く無意味なものとなってしまいます。engineeeerも本職でマイコンを使った製品を開発しますが、正直設計書さえあれば作れる人は大勢います。すべてアイデア勝負です。
なんだか、こんなこと記事にしてもプログラマーが集まるHPではないのでサッパリ??ですよね。失敗しましたw
今週のトレード結果ですが、トレード数が少なかったですが公開EAはどれも好調でしたね。
回りくどく言ったのは、非公開EAでDDがあったからです。Monkyです。このEAはちょっと変わったナンピンに近いエンジンが搭載されていまして、まあひどいDDでした。><
なんども言うように、ナンピンは逃げであり、私は少なからずそんな匂いのするこのEAは公開すべきでないという考えに至ったので、現在公開予定はありません。よく考え直して、納得がいくようになったら公開します。
今週ずっと仕事でEAをいじる暇はありませんでしたので、今週末もバージョンアップは難しいかと思います。この連休はアンケートの中途集計をして見ます。皆さんの意見をじっくり読んでみますね。
現在アンケート回答率は、40%くらいでしょうか。8/25で閉め切らさせていただきますのでよろしくお願いいたします。またアンケートの回答は必須です。回答無き研究員は次回の継続を見送らさせていただく対象となりますのであらかじめご了承願います。アンケート案内がメールで届いていない研究員様がいらっしゃいましたらご報告下さい。
<<新規認定研究員>>
wellさん、ta917さん、tabさん、さくらいさん、TOMOBONさん、kenkuma2513さん、
以上の6名を当サイトの研究員として認定致します。よろしくお願いいたします。
初めましてw
知る人ぞ知る fai でございます。
MQL5のロシア語のHelpを読んでいる人は珍しいので、ちらっとブログで紹介させてもらいました。
engineeeer様のサイトは、プログラマな私もよく見ているので、Helpの解読で新事実が分かれば是非、記事にして頂けるとありがたいですw
何かしら、有意義な情報交換が出来ればと思っています。よろしくお願いします。
こんにちは。O'Shoです。
眼帯生活とは何かと大変そうですね。。
さて、MT5ですが噂には聞いて気になっていましたが
解析ありがとうございます。
しかし変数だけでもこれだけあるとは・・・。
確かに使わないでしょうけど。。
ただ、イベント関数は気になりますね。
たとえば、「OnTimer()」でVPSやブローカーのサーバーの
稼動監視を定期的にできそうです。
やはり、トレード手法はシンプルがベストですが、
障害時の回避策のために、もう少し何かないかと模索しているので、
この手の関数はとてもありがたいです。
これはこれはfaiさん。HP開設おめでとうございます。当方も以前からよくfaiさんの記事を参考にしておりました。faiさんもロシア語のHelpなんですか? ENバージョンが港であるようなので探してますが今のところ発見出来ていません><。
今後ともよろしくお願いいたします。
こんにちは。目は塗り薬で復活しました。コンタクトを使用しているのでこの手の薬は慣れたもんですw
mql5はまだ解析と呼べるものではありません。なんせ私のリファレンスはロシア語でして・・・。
現在のように、Tick毎に走るプログラムでは無くなるはずのなので頭の中で深いスタックを持てないとプログラムが出来ないと思われます。ガサツな有料EAが最近多いように思います、私ならとてもお金はいただけないようなものまで販売されていたりします。そういった発信元が篩にかかることでしょう。そういった意味でもmql5の公開は楽しみです。
こんにちは。
目のほうが回復されたそうで、安心しました。
プログラマにとっては目は本当に大事ですからねぇ...御自愛ください。
わたしの読んでるHelp は、ロシア語版をwebに上げて、google の機械翻訳で英語にして解読しています。意味不明な訳になっているときは、Yahooのbabelfishで訳しなおしています。
それから、MQL5でも基本はTick毎に走るプログラムになりそうな気がします^^;
MQL4のstart()が、onCalculate と onTick に変わっただけのような・・・