//+------------------------------------------------------------------+//| Class of all classes |//+------------------------------------------------------------------+class CObject
{
};
//+------------------------------------------------------------------+//| Enumerator interface |//+------------------------------------------------------------------+template<typename T>
class IEnumerator
{
public:
virtualbool MoveNext();
virtual void Reset();
virtual T Current();
};
class CList : public CObject, public IEnumerator
{
...
}
MT5が発表されてから、ずっと答えを出そうとしていました。
こんな超ド級のものを入れたら、私の(あるいは他の人の)EAの性能はどれだけ上がるのだろう?
返事が来ない...。
...
...
外部ライブラリは禁止されており、そのためRマーケットプレイスではこの制約がなければ、私は 非常に質の高いインジケーターを販売することでノーリスクで一攫千金を狙って いたでしょう。
...
下手なダンサーを止めているのは
超高収益の統計手法をMQLコードに変換して、自分を豊かにすることを誰も禁じていない。AlgLibがあなたの力になります。
でも、「同じものでも、ボタンホールがピンクだったら、トップになれるようなことをやっていたかも!」という、あなたの妄想通りなんです。- まずは何か書いて、1部でもいいから売ってみてください。そして、このようなことは、単に統計的な手法を導入するよりもはるかに複雑であることを理解することになるでしょう。
純粋に抽象的なクラスの多重継承を 可能にするという巧妙な手もあったのですが、残念ながらMQL5ではインターフェースは禁止されており、非常に残念なことです。
MQL5のインターフェイスは動作します。
MQL5のインターフェイスが動作する。
オブジェクトは複数のインタフェースをサポートできなければ意味がない。
残念ながら、希望的観測のレベルでしかない。
つまり、IEnumeratorが純粋な抽象クラスである限り、それを含む多重継承は全く問題ないのです。
MQL5のインターフェイスが動作する。
一方、実際には、インターフェースは依然として長い継承チェーンに包まれている必要があります。その一例として、MQさんが投稿された素晴らしいライブラリInternalがあります。
オブジェクトは複数のインタフェースをサポートできなければ意味がない。
すでに取り組んでいる、私たち自身が必要なのです。
は、クラスが純粋な抽象クラス(データや実装を含まず、すべてのメソッドが公開されている)として表現されている場合に限り、クラスからの多重継承を許可すれば十分である。