多くの人にとって興味深いトピック:MetaTrader 4とMQL4の新機能 - 大きな変更が控えています。 - ページ 8

 
stringo:
探して、探して。見つからなかった...。

そういう言い方はしていない。

デバッガはまだ考えられていない、つまり、やるかやらないかはわからないが、考えられていない以上、「まだ」やらないということである。

http://forum.mql4.com/ru/56881/page4#820225

Что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - MQL4 форум
  • www.mql5.com
Что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - MQL4 форум
 

アップグレードの技術的な詳細を把握されている間に、1つの重要な詳細が失われています - MetaTrader 4にはマーケットプレイスが搭載されるのです。4の普及率を考えると、700万人のトレーダーがいる統一された市場で、ロボット・インジケータの開発者がどれだけの収入を得られるか、試算することができます。MQL5 マーケットの結果は、仮定を立てるための基礎として、またトレーダーの間でどのような種類のソフトウェアがより人気があるかを知るために利用することができます。

デベロッパー登録がまだの方

 
2つの言語を統合する場合、#ifdefのような条件付きコンパイル指示文は絶対に必要だと思った。2つのプラットフォーム間のコードの統一が容易になるし、プラットフォーム依存のAPIはコンパイル時に定義される。
 

C-4:
Вот тут подумалось что при объединении двух языков абсолютно необходимы условные директивы компиляции типа #ifdef - это бы существенно упростило бы унификацию кодов между двумя платформами, и плотформозависимый API определялся на этапе компиляции. 

そうですね、それがいいと思います。

今のところ、私は曲がった代替案として、次のような構造を使っています。

#define _DEBUG_OR_RELEASE_(DEBUG, RELEASE) DEBUG

しかし、#ifdefを使えばかなり柔軟に対応できるはずです。

 
Lenar:

アップグレードの技術的な詳細を把握する一方で、1つの重要なディテールが失われています - MetaTrader 4はマーケットプレイスを持つことになります。フォーの普及率を考えると、700万人のトレーダーがいる統一された市場で、ロボット/インジケーターの開発者がどれくらいの収入を得られるか推定することができます。MQL5 マーケットの結果は、仮定を立てるための基礎として、またトレーダーの間でどのような種類のソフトウェアがより人気があるかを知るために利用することができます。

デベロッパー登録がまだの方

それなら、私たちはあなたのところに行きますよ :)

実際、みんなそれに気づいていて、怖がらせないように黙って喜んでいるんですよ :)

 
Laryx:

hrenfxさんの 主張の全てに賛同するわけではありませんが、個人的にはOOPとStandard Libraryの ためだけにMT5を選びました。

MT4+にOOPを導入する際、標準ライブラリクラスのインターフェースをできるだけ残してほしい(理想は、ネッティングに直接関係するCTrade、CPositionInfoの取引クラス以外すべて)です。

ところで、彼が話しているカスタムヒストリーのすべてについて、同じ古いスプレッドシート- MT5では、それはまだエミュレートすることが可能 です - ちょうどそれらの機能を活用すること。

MT5テスターでエミュレートする(自分の履歴でテストする)ことは可能なのでしょうか?

どこにそんなことが書いてあるんだ?

 
serferrer:

MT5テスターでどのようにエミュレートできるのでしょうか(つまり、自分の履歴でテストする)?

どこにそんなことが書いてあるんだ?

そんなことはどこにも書いていない。これは私のアイデアです。このフォーラムでトピックを 立ち上げたのですが、誰も支持してくれなかったので、誰も興味がないのだと思いました。

Expert AdvisorがStandard Libraryクラスのみを使用して動作し、サーバーへの直接アクセスの機能を使用しない場合、エミュレーションのタスクは、サーバーに適用されず、独自の、内部変数を使用するStandard Libraryクラスの派生クラスを記述することです。

その後、Expert Advisor は元の標準ライブラリクラスではなく、派生クラスを受け取ります。派生クラスはサーバにアクセスする代わりに、独自の内部計算の結果を Expert Advisor に渡します。Expert Advisorはこの切り替えに気づかず、実データでもヒストリカルデータでも、何を使って作業するかは気にしません。

私自身は、すでにヒストリカルデータのクラスストレージと、時系列の継承者であるクラス(タイプSOPrep、CHighなど)を書いており、サーバーからの実データとストレージからのヒストリカルデータの両方をEAに返すことができるようにしました。後日、実サーバーのトレードの「ラッパー」となって、過去のデータを元に仮想トレードを行うことができるトレードクラスをStandard Libraryクラスの子孫として書く予定です。この場合も、Expert Advisorは置換を意識することはありません。

すべて可能です。もちろん、やるべきことはたくさんありますが。

 
Laryx:

そんなことはどこにも書いていない。私のアイデアです。掲示板にスレッドを 立てましたが、誰も支持してくれないことに気づきました。

Expert AdvisorがStandard Libraryクラスのみを使用して動作し、サーバーへの直接アクセスの機能を使用しない場合、エミュレーションのタスクは、サーバーに適用されず、独自の、内部変数を使用する、Standard Libraryクラスの派生クラスを書くことです。

その後、Expert Advisor は元の標準ライブラリクラスではなく、派生クラスを受け取ります。派生クラスはサーバにアクセスする代わりに、独自の内部計算結果を Expert Advisor に渡します。Expert Advisorはこの切り替えに気づかず、実データでもヒストリカルデータでも、何を使って作業するかは気にしません。

私自身は、すでにヒストリカルデータのクラスストレージと、時系列の継承者であるクラス(SOPrep、CHighなど)を書いており、サーバーからの実データとストレージからのヒストリカルデータの両方をEAに返すことができます。後日、実サーバーのトレードの「ラッパー」となって、過去のデータを元に仮想トレードを行うことができるトレードクラスをStandard Libraryクラスの子孫として書く予定です。この場合も、Expert Advisorは置換を意識することはありません。

すべて可能です。もちろん、仕事はたくさんあります。

ファイルからデータを読み込むインジケータ(カスタム履歴)を作成し、データ受信の標準機能(相場と市場環境の両方)をオーバーライドし、コンテキストの定義を使用すれば、幸せになれるでしょう。

標準ライブラリは、普遍性を装った巨大な怪物で、例題とウィザードでExpert Advisorを作るためだけに作られたものです。

しかし、その目的は十分達成されています。

 
Urain:

ファイルからデータを読み込むインジケータを書き、データ受信の標準機能をオーバーライドし(相場と市場環境の両方)、契約の定義を使用すれば、幸せになれるでしょう。

まさにその通りです。私はすでにカスタムEAに履歴を渡すクラスを書きましたが、私のアイデアを完全に実装するためには、EAがターミナルの関数を直接使用してはいけません。同じOrderSend()と言ってください。これは「ラッパー」を通してのみ動作するはずで、その役割は標準ライブラリが 素晴らしく果たすことができる。派生クラスを作成し、Expert Advisorに組み込むと、ヒストリカルデータで動作するようになります。 EAが端末の機能を直接使用する場合は、ヒストリカルを使用することはできません。

標準ライブラリという、万能を気取った巨大な怪物が、例題とウィザードでExpert Advisorを作るためだけに作られたことに、私は感心していません。

しかし、その目的は十分に果たしています。

まあ、おそらく、私が非常に満足し、多くの類似点を見出したMFCライブラリとの長い仕事の影響でしょう。標準ライブラリの開発者も、MFCのことはよくご存じだと思います。

標準ライブラリの主な利点は、OOP思想の優れたサポートであり、Expert Advisorにカスタムヒストリを渡すことで、何の変更もせずに正しく動作させることができます。

標準ライブラリがお好きでない理由をお聞かせください(まあ、「学ぶのが面倒」という明らかな欠点は別として)。

 
Lenar:

アップグレードの技術的な詳細を調査している間に、1つの重要な詳細を失ってしまいました - マーケットがMetaTrader 4に表示されることです。IVの普及率を考えると、700万人のトレーダーがいる統一された市場で、ロボット・インジケータの開発者がどれだけの収入を得られるか試算できる。MQL5 マーケットの結果は、仮定を立てるための基礎として、またトレーダーの間でどのような種類のソフトウェアがより人気があるかを知るために利用することができます。

デベロッパー登録はお済みですか?

さて、市場に触れたところで、あるテーマについてご意見を伺いたいのですが......。

MQL5の哲学によれば、指標は数えるべきで、EAは取引すべきなのです。

しかし、マーケットには、いわばオールインワンのレディメイドのソリューションが売られているのです。

Expert Advisorにインジケータをリソースとして 格納するようにコンパイラを改善すべきかもしれません

そうでなければ、インジケータのコードを、適切な環境のないExpert Advisorに転送しなければなりません。繰り返しになりますが、「indicator by indicator」というスキームは、Expert Advisorにコードを転送するための全体の叙事詩です。