初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 144

 
Ihor Herasko:

はい、もちろんです。この機能は普遍的に書かれています。刻み目ごとに対処すると、ループは口座の履歴をすべて見てしまう。また、アカウントの履歴はかなり深いものになります(10万件以上の注文があるケースに遭遇したことがあります)。実行速度を上げるために、毎回、履歴全体に対してループを実行する必要はありません。最初に一度だけ行い、最後に処理したオーダーのインデックスを覚えておけば十分です。次に必要なのは、保存されたインデックスより大きいインデックスを持つ注文に対してのみループを通過させることです。その後、再び最後の命令のインデックスを記憶する、というように。

詳しい説明をありがとうございました。いわば、どっちを向いたらいいのかがわかるようになったのです。ちなみに、デモ口座では、現在日中に2回以上トレードが開かれることはなく、5つのEAすべてのポジションを開くのに遅れはないという意味で、5つのEAでうまく動作しました。
 
Vitaly Muzichenko:

浮いたスプレッドの せいである。

私も最初はそう思いましたが、固定スプレッドのペア(DAX30など)や、一方向の注文からなるネット(1つの注文を含む)にも当てはまります。この場合、スプレッドは関係ありません(1つの価格で利益が決まる - BidのみかAskのみか)。

Vitalyさん、ご返事から、計算式に明らかな間違いはないと理解しましたが?

 
Igor Zakharov:

私も最初はそう思いましたが、固定スプレッドのペア(DAX30など)や、一方向の注文からなるネット(1つの注文を含む)にも当てはまります。この場合、スプレッドは関係ありません(1つの価格で利益が決まる - BidのみかAskのみか)。

Vitaliyさん、ご返事から、計算式に明らかな間違いはないと理解しましたが?

以下は、作業者の計算式です。

 double poi=SymbolInfoDouble(mSymbol,SYMBOL_POINT);
 int dig=(int)SymbolInfoInteger(mSymbol,SYMBOL_DIGITS);
 double TickValue=SymbolInfoDouble(mSymbol,SYMBOL_TRADE_TICK_VALUE);

 double BuyAwerage=0,SellAwerage=0;
  if(_GetP.Buy._Lots>0)  BuyAwerage= NormalizeDouble(bid-(_GetP.Buy._AllProfit/( TickValue*_GetP.Buy._Lots ))*poi,dig);
  if(_GetP.Sell._Lots>0) SellAwerage=NormalizeDouble(ask+(_GetP.Sell._AllProfit/(TickValue*_GetP.Sell._Lots))*poi,dig);
 
Vitaly Muzichenko:

以下は、作業者の計算式です。

つまり、フルアナログです。私の計算式はさらに若干普遍的なもので、一般にティックサイズは1ポイントに等しくない場合があります(インデックスによく見られます)。

ありがとうございます。

 

こんにちは。

もしかしたら、同じようにMT4で以下のような不具合に遭遇した方がいらっしゃるかもしれません。

あるデモ口座 でマルチロボットの取引システムをテストしています。

しかし、定期的に1日1-2回、ロボットが買いストップまたは売りストップ注文を設定する状況があり、これが機能しない。この注文は黄色で強調表示され、削除しようとすると、無効なパラメータに関する警告が表示されます。

アルゴリズムに従って設定されたロボットは作業を続けるべきですが、不正確な注文で設定された価格よりも有利な価格に対してのみ行います。

他の注文をすべて削除し(デモ口座のおかげで)、しばらく端末の電源を切ると、この注文は必要に応じてアクティブになり、プログラムコマンドで閉じるか、手動で閉じるかのどちらかになります。

デモ口座と関係があるのか、それとも異なるウィンドウに複数のロボットが取り付けられているためなのか、アドバイスをお願いします。

このような結合はシステム全体の品質を向上させます。なぜなら、すべてのコマンドを1つのExpert Advisorに結合した場合よりも、個々のロボットからのコマンドに対して端末がより良く反応するからです。すべての取引システムのロジックを複数のロボットに分散させれば、ターミナルの反応時間の増加は非常に大きく、コマンドの実行の適時性はより良くなり、最適化されます。

しかし、1つまたは2つの注文が凍結されるという問題に直面しています。

この問題に直面したことのある方、または動作不良の原因や解決方法を提案される方がいらっしゃるかもしれません。

ありがとうございました。

 

が緑色になっていますが、これは端末の 設定にないものです。

数字で設定された色はどこで見ることができるのでしょうか?

エスビー

 
Pavel Ipatov:

しかし、1日に1-2回、ロボットが売買注文を出すのですが、これがうまくいかないのです。黄色で強調表示され、削除しようとすると、ウィンドウに無効なパラメータについての説明が表示されます。

このようなことは、一度や二度ではありません。私の場合、ロボットのせいではなく、常にブローカーのせいでした。サポートに連絡すれば、強制的に削除してくれます。デモなら別のブローカーで新規に開設するけど。

 
Artsem:

が緑色になっていますが、これは端末の 設定にないものです。

数字で設定された色はどこで見ることができるのでしょうか?

エスビー

えー...photoshopを使用します。

 
Artsem:

が緑色になっていますが、これは端末の 設定にないものです。

数字で設定された色はどこで見ることができるのでしょうか?

エスビー

  1. ドロップダウンリストの矢印をクリックします。
  2. カスタム」を選択します。
  3. このようなウィンドウが表示されます。

パレットで好きな色を選ぶか、手動で赤、緑、青の数値を指定することも可能です。

 
Ihor Herasko:

  1. ドロップダウンリストの矢印をクリックします。
  2. カスタム」を選択します。
  3. このようなウィンドウが表示されます。

パレットの中から好きな色を選ぶか、手動で赤、緑、青などの数値を指定することもできます。

そうですね、カスタムボタンには気がつきませんでした。

パネルで色を「数字」に変更できないのですが。