記事"ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)"についてのディスカッション

 

新しい記事 ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4) はパブリッシュされました:

CStrategyの取引エンジンについての一連の記事の最後のパートでは、XMLファイルからストラテジーをロードする方法を行います。複数の取引アルゴリズムの同時動作を考慮し、単一の実行可能モジュールからのEAを選択する簡単なパネルを提示し、その取引モードを管理します。

パネル上のボタンをクリックすると、アクションが実行されます。ストラテジーのリストからストラテジーを選択した場合、現在のストラテジーのイン デックスは1に等しくなり、さらに取引のアクションを実行することができます。たとえば、ストラテジーモードのドロップダウンリストから適切なオプション を選択することによって、選出されたストラテジーの取引モードを変更することができます。

図2。選択されたストラテジーのモードのリスト

図2。選択されたストラテジーのモードのリスト

作者: Vasiliy Sokolov

 
いくつかの質問にお答えください:
1.最初の記事で著者はプラットフォームの独立性について書いています。このコードをMT4に適応させるためにはどうすればよいでしょうか?
2. 10の金融商品を取引し、それぞれに2-3システム、各システムに10個のパラメータがある場合、XMLポートフォリオは非常に大きなファイルになり、手作業でエラーなく編集するのは難しくなります。このような場合、XML-portfolioを異なるファイルに保存するのが合理的かもしれません。各商品に1つずつファイルを作成し、そのファイルにはその商品で取引されているシステムとそのパラメータに関する情報が含まれています。 そうすれば、(ファイルにチェックボックスを設定することによって)その商品での取引とその商品での個々のTSの両方を有効/無効にすることが簡単になります。
 
Mike:

いくつかの質問にお答えください: 1.最初の記事で著者はプラットフォームの独立性について書いています。このコードをMT4に適応させるためにはどうすればよいでしょうか? 2. 10の金融商品を取引し、それぞれに2-3システム、各システムに10個のパラメータがある場合、XMLポートフォリオは非常に大きなファイルになり、手作業でエラーなく編集するのは難しくなります。このような場合、XML-portfolioを異なるファイルに保存するのが合理的かもしれません。各商品に1つのファイルを作成し、そのファイルには、その商品で取引されているシステムとそのパラメータに関する情報が含まれています。 そうすれば、(ファイルにチェックボックスを設定することによって)その商品での取引と、その商品での個々のTSの両方を有効/無効にすることが容易になります。

残念ながら、最初の質問に答えるのはそれほど簡単ではありません。実際には、MT4でエンジンを動作させるために、かなり多くのことを記述する必要があります。近いうちにそうします。エンジンをMT4に移植したら、対応する記事を発表します。

2つ目の質問については、すべてを1つのファイルに保存する方がよいでしょう。XMLは、ツリー状のセクションを整理でき、大量のタグがあっても混乱しないからです。もうひとつは、XMLの手作業による編集が、規格自体から歓迎されていないことだ。XMLは、アルゴリズムが互いに通信するための工業用フォーマットである。理想を言えば、各xmlファイルには、戦略パラメーターを編集できる通常のアプリケーションの形をしたguiの銃口があるべきだ。しかし、これは(アルゴリズム的には)非常に単純ではあるが、かなりの時間がかかるので、今のところはxmlを直接編集する。

 
Vasiliy Sokolov:

各xmlファイルには、ストラテジーのパラメーターを編集できるような、通常のアプリケーションの形をしたguiの銃口があるはずだ。しかし、これは(アルゴリズム的には)非常に単純ではあるが、かなり時間がかかるので、今のところはxmlを直接編集する。

理想的な解決策は、ユーザーパネルに「編集」ボタンを設置し、対応するセクション<ストラテジー>... を編集するためのウィンドウを開くことです。</Strategy>:)
 
Mike:
理想的な解決策は、ユーザーパネルに「編集」ボタンを設置し、対応する<戦略>... セクションを編集するウィンドウを開くことです。</Strategy>:)
ああ、それはクールだ。あとは、飛び込んでやってくれる人を見つけるだけだ。難しいことではないよ。
 
Vasiliy Sokolov:
そうだね。ただ、やる気のある人を見つけないとね。難しいことじゃないよ。
僕はまだ勉強中だけど.:)
 

こんにちは、ワシーリー!

素晴らしいエンジンだ!......もちろん、まだ仕上げなければならないことがある(例えば、保留中の注文の 処理など)......。でも、これはもうチューニングなんだ...。

質問があります。m_trade.PositionClose()メソッドが呼ばれたとき、なぜかポジションがクローズされません。エラー10030, 10015が発生します。

MQL4と比較して、注文/ポジションのクローズに関してすべてが大きく変わったことは理解していますが、何が問題なのか理解したいのです。

 

Vasiliy Sokolov、あなたはユニバーサル・エンジンを作るという途方もない仕事をし、OOPの名人芸を披露してくれた。ですから、この教材を勉強することは、それだけでもMQL5のプログラミング・スキルを向上させるのに役立ちます。

このエンジンには必要かつ有用な点が多く含まれており、多くのトレーダーから需要があるでしょう。

私は現在、自分のロボットをS#.ShellエンジンからMT5に移行しているところですが、Codebaseで紹介されている標準的なExpert Advisorテンプレートに慣れていたときには欠けていた多くの機能が、あなたの作成した取引エンジンには実装されていると言わざるを得ません。さらに、この製品はプログラマーのチーム全体の作品であるにもかかわらず、多くのことが同じレベルで実装されており、さらにクールです。

この点で、慣れた後、私は自分のコードで作業するのを止め、あなたのエンジンに移植することに決めました。

 
Сергей Лебедев:

Vasiliy Sokolov、あなたはユニバーサル・エンジンを作るという途方もない仕事をし、OOPの名人芸を披露してくれた。ですから、この教材を勉強することは、それだけでもMQL5のプログラミング・スキルを向上させるのに役立ちます。

このエンジンには必要かつ有用な点が多く含まれており、多くのトレーダーから需要があるでしょう。

私は現在、自分のロボットをS#.ShellエンジンからMT5に移行しているところですが、Codebaseで紹介されている標準的なExpert Advisorテンプレートに慣れていたときには欠けていた多くの機能が、あなたの作成した取引エンジンには実装されていると言わざるを得ません。さらに、この製品はプログラマーのチーム全体の作品であるにもかかわらず、多くのことが同じレベルで実装されており、さらにクールです。

この点で、慣れた後、私は自分のコードの作業を中止し、貴社のエンジンに移植することに決めました。

私の提案したアプローチを評価していただき、ありがとうございます。

CStrategyトレーディング・エンジン自体は、データ整理クラスから始まりCTradeトレーディング・クラスで終わる、標準ライブラリに基づいていることに留意したいと思います。標準ライブラリは堅牢で効率的で良いものですが、すべてのクラスが本当にOO なわけではありません。その多くは標準関数のラッパーに過ぎない。OOアプローチのゴールは、標準関数をさらに複雑な方法で呼び出すことではなく、実装の複雑さを隠しながら、可能な限り効率的な方法で有用なタスクを実行することである。しかし、これはすでに哲学の域に達している...。

 
Vasiliy Sokolov:

私の提案したアプローチを評価していただきありがとうございます。

CStrategyのトレーディング・エンジンそのものは、データ整理クラスから始まりCTradeトレーディング・クラスで終わる標準ライブラリに基づいていることに留意したい。標準ライブラリは堅牢で効率的な優れたものですが、すべてのクラスが本当にOO なわけではありません。その多くは標準関数のラッパーに過ぎない。OOアプローチのゴールは、標準関数をさらに複雑な方法で呼び出すことではなく、実装の複雑さを隠しつつ、有用なタスクを可能な限り効率的な方法で実行することである。しかし、これはすでに哲学なのだが...。

MoneyManagementモジュールの使い方を教えてください。例のどこにも示されていません。MMの設定は戦略ごとに異なるのでしょうか、それともポートフォリオ全体で共通の設定なのでしょうか?

なぜMoneyManagement.mqhにこのような外部変数があるのですか?どこで使われているのか理解できません。

input ENUM_MM_TYPE TypeMM;           // Тип управления MM

input double       FixLotOrPercent;  // Фикс. лот или % 

 

こんにちは。

興味深い資料ですね。それを読んで、実際に試してみることにしました。添付の Expert Advisor Agent.mq5 を MT5 Build 1295 でコンパイルしようとしています。すべてのファイルにエラーはありませんが、最後に "Internal compiler error. "と表示されます。:( どこを掘ればいいのか教えてください。