記事「EAコンストラクタの開発の試み」についてのディスカッション

 

新しい記事「EAコンストラクタの開発の試み」はパブリッシュされました:

この記事では、既製のEAの形で一連の取引機能を提供します。この方法では、指標を追加して入力を変更するだけで、複数の取引ストラテジーを取得できます。

コンストラクタによって作成されたEAは、すぐに複数の設定を備えており、それらを組み合わせて独自のストラテジーを作成できます。バージョン4.XXXでは、次のルールを適用します。 

  • 現在の銘柄(EAが起動されるチャートの銘柄)が使用される
  • テイクプロフィット、ストップロス、トレーリングは入力のポイントで設定されるポイント - 相場の通貨での現在の銘柄ポイントサイズ。たとえば、「EURSD」では1.00055-1.00045=10ポイント。

十字ツールをドラッグすると、銘柄チャートに「ポイント」が常に表示されます。

ポイント

図1 ポイント

作者: Vladimir Karputov

 
添付ファイルが見当たらない。一つだけ。
 
Andrei Novichkov #:
添付ファイルが見当たらない。1つだけだ。

テクニカルヒッチ。もう少ししたらアップされるだろう

 

こんにちは、記事をありがとうございます。)

自分で自転車を発明するよりも、標準のクラスを使い、それに機能を追加したほうがシンプルで便利だと思うのですが、いかがでしょうか?

 
Daniil Kurmyshev #:

こんにちは、記事をありがとう。)

自分で自転車を発明するよりも、標準のクラスを使い、それに機能を追加したほうがシンプルで便利だと思うのですが、いかがでしょうか?

そして、あなたはおそらくCExpertを自分で補おうとして、成功したのではありませんか?

 
Vladimir Karputov #:

CExpertを自分で補おうとして、成功したこともあるだろう?

はい、ここでは基本クラス CExpertを 継承した 新しいクラスCExpertCustomの 例を示します:

1.新しい取引(マルチ取引)でポジションを補完する可能性が実現します。

基本クラスは仮想関数を持っているので、それらは子孫クラスでオーバーライドされ、将来CExpertCustomから継承されるクラスではそれ以上使用されません。

2.Expert Advisor のベース・シンボルを変更する可能性が実装され、多通貨 Expert Advisor の作成が可能になりました。

結論

標準のCExpert クラスは高速に動作します。

可能な限り信頼性が高く、テスト済み

補足やメンテナンスが簡単です。

新しいCExpertCustom クラスを継承することで、1つのボットで多通貨のExpert Advisorを作成することができます。

標準クラスは継承とポリモーフィズムを積極的に使用しているため、全く異なるロジックで動作するExpert Advisorを作成することも可能ですが、基本的な機能の処理とシーケンスは同じです。

この場合、Expert Advisorのコンストラクタは、必要なインジケータとMMを備えたターミナルからのテンプレートに従って使用することができます。

ファイル:
 
Daniil Kurmyshev #:

はい、基本 クラスCExpertを 継承して、 新しいクラスCExpertCustomを 作成する例を示します:

1.新しい取引(マルチトレード)でポジションを補完する機能が実装されています。

基本クラスは仮想関数を持っているので、子孫クラスでオーバーライドされ、将来の CExpertCustom 継承クラスではそれ以上使用されません。

2.Expert Advisor のベース・シンボルを変更する可能性が実装され、多通貨 Expert Advisor の作成が可能になりました。

結論

標準のCExpert クラスは動作速度が速い。

最高の信頼性と実績

補修やメンテナンスが容易

新しいCExpertCustom クラスを継承すれば、1つのボットで多通貨のエキスパートを作成できます。

標準クラスは継承とポリモーフィズムを積極的に使用しているため、全く異なるロジックで動作するエキスパート・アドバイザーを作成することも可能ですが、基本的な機能の処理とシーケンスは同じです。

この場合、Expert Advisorのコンストラクタは、必要なインジケータとMMを備えたターミナルからのテンプレートに従って使用することができます。

CExpertとそれによって生成されるすべてのものは長い間テストされていません。そのため、私たちは独自の取引関数を作成しました。あなたが示したクラスは、私のアプローチの機能のほんの一部も持っていません。

 
Vladimir Karputov #:

CExpertとそれによって生成されるすべてのものは、長い間チェックされていませんでした。だから私は、多くのチェック機能を備えた独自のトレーディング関数を作ったのだ。あなたが示したクラスは、私のアプローチの機能のほんの一部も持っていません。

あなたが使った標準ライブラリ

#include <TradePositionInfo.mqh> (英語)

#include <TradeTrade.mqh>

<TradeSymbolInfo.mqh> をインクルードする。

<TradeAccountInfo.mqh> をインクルードする。

#define <TradeDealInfo.mqh>.

#define <TradeOrderInfo.mqh>.

<include <ExpertMoneyFixedMargin.mqh>.

あなたの関数ファイル「Trading engine 4」は、CExpertクラスと全く同じライブラリを使っています。ただ、Tradeクラスの処理を自分で書いただけで、あなたが開発したチェックや似たような仕組みは、CExpertBaseや CExpertTradeなどのクラスですでに実装されています。...、だから別の自転車を作ろうという話なんだ。CExpertクラスを再設計してチェックを通すようにすれば、何らかの理由で通らなかったとしても、一回やってしまえば、もうこんな問題は起きない。

大規模なプロジェクトで使うなら、基本的な関数は充実していると思うのですが、ドナーのプロジェクトの関数を自分のプロジェクトにコピーするのは、多くの人がとても気に入るでしょうが、クラス全体を使いこなすのは難しいでしょう。CExpertクラスは、同じ「MQLウィザード」を使って、箱から出してすぐに簡単にデプロイできます。

 
素晴らしい記事、おめでとうございます。
この記事のファイルが読み取り端末に添付されず、「Indicators_Code.mq5」だけが添付されています。

記事に追加していただけますか?

ありがとうございます!(ありがとうございます)
 
ファイルに保存
ファイル:
9717_411.zip  56 kb
 
Vladimir Karputov #:
ファイルにアーカイブ

こんにちは、ウラジミール、

4.004トレーディングエンジンの "Pending Orders "とそれに対応する "Maximum Spread "パラメーターについて質問があります;


この機能は、対応するスプレッドに達するまで、どれくらい保留中の注文が発注されるのを待つのですか?

言い換えれば、スプレッドが一定時間後に指定された値まで減少しない場合、未決注文はキャンセルされないのでしょうか?このサイクルはどのように機能するのですか?