素晴らしい記事だ。読みやすく、すべてのアイデアが明確で、自分のアイデアさえも登場する...。
考え方(クロスプラットフォーム)は正しい。しかし、ここでは特定のメタ言語を作成し、それを使ってクロスプラットフォームのExpert Advisorを書くことが提案されている。MQL4ですべてを書くことができるため、このソリューションではメタ言語は不必要に思えます。また、Expert AdvisorsはMT4だけでなく、MT5でも動作する必要があります。kodobaseにはそのようなソリューションがあります。特に、このソリューションでは、1つのencludnikを追加することで、古いMQ4コードをMT5で起動することができます。一般的に、メタ言語を作成することは、あまり普遍的ではなく、余計なことのようにさえ思える。しかし、このトピックに関する連載が続く のは興味深い。願わくば、シソフ労働が出てこないことを。
イントロダクションそのものについてはStringConcatenateを使った例で私は切れてしまった。MT4/5でこの関数を使う人は理解に苦しむ。面倒なだけでなく、よくわからない。文字列の連結は、どちらのプラットフォームでも常に + 演算子で実現されてきた。つまり、文字列に対してStringConcatenateを使用することは、数値の合計を得るために「NumberSummary」関数を使用することに匹敵する。要するに不合理なのだ。
私の理解が正しければ、これは記事の翻訳である。だから、著者に連絡を取るには原文に書くべきだ。英語版?
fxsaber:
はい
考え方(クロスプラットフォーム)は正しい。しかし、ここでは特定のメタ言語を作成し、それを使ってクロスプラットフォームのExpert Advisorを書くことが提案されている。MQL4ですべてを書くことができるため、このソリューションではメタ言語は余計なようだ。また、MT4だけでなくMT5でもEAを実行できる。
私の理解が正しければ、これは記事の翻訳である。したがって、著者に連絡するには、どうやら原文に書き込む必要があるようだ。英語版ですか?
失礼ですが、これは一体何のためにあるのでしょうか?
Yuriy Asaulenko:
悪いけど、何のために?
移植はしなくていいんですね。
悪いけど、何のために?
クロスプラットフォームのExpert Advisorは、クロスプラットフォームのトレーディングエンジンをベースとする場合にのみ作成可能であり、トレーディングAPIとデータアクセスはOOバージョンに置き換えられ、その内部実装はマクロ#ifdef __MQL5__で定義される。以上を考慮すると、著者の記事は少なくとも素朴である。もちろん、著者が#ifdef __MQL5__マクロを発見したことは素晴らしいが、それだけでは十分ではない。すべてのステップで#ifdefを使ったエンジンを書く必要があり、これははるかに複雑である。
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 クロスプラットフォームEA:序章 はパブリッシュされました:
この記事では、クロスプラットフォームのEAを容易に開発できるメソッドを詳述します。提案メソッドは、両方のバージョンによって共有関数を統合し、互換性のない関数の派生クラスを分割します。
先に示した2つのソースファイルが同じであることに注意してください。クロスプラットフォームの互換性のある単一のソースファイルを持つことは不可能です。これは、ソースファイルがコンパイルされているかどうかによるものです:
両方のプラットフォーム上で動作する単一のソースファイルを持つことができない場合があります。しかし、次の図に示されているように、単一のヘッダファイルを参照するために、両方のソースファイルを有することが可能です。
作者: Enrico Lambino