私のEAではダブルエントリーを行います - ページ 2

 
angevoyageur:

これは可能な説明のようですが、もしそうであれば、それは正常ではありません。非同期モードを使用していますか?もしそうでなければ、EAはサーバーからの応答を待って、次のティックを処理する必要があります。

もし私がよく理解していれば、これはランダムな問題であり、あなたはそれを再現することができないのですか?

m_Trade の宣言の後に次の行を追加することで、より多くのデバッグ情報を表示することができます。


こんにちは。

https://www.mql5.com/en/forum/14327 で説明した解決策以降、もう1回ダブルトレードが発生しました。

問題は、PositionSelect(Symbol())関数の実行が遅いことだと思います。おそらく、新しいティックがあまりに早く入ってくるので、EAはPositionSelect(Symbol())の応答を受け取る前に新しい注文を送信してしまうのでしょう。私のコードでは、現在のポジションサイズが最大許容ポジションサイズと同じかそれ以上の場合、新規/ダブルオーダーを送信することは理論的に不可能です(コード参照)。

ブローカーXのライブサーバ(ECN)は、マクロ経済ニュースの際に非常に多くのティックを生成します。


PositionSelect(Symbol());

// Check of het model al LONG zit.             
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
      {
                                                           
// Check of het model al de maximale size in positie zit.                     
      if(PositionGetDouble(POSITION_VOLUME) >= MAX_Trade_Size)
            {
            return;
            }
      } 


私のEAは、追加バックアップとして、正しいポジションサイズを得るために、自動的にダブルポジションを反転させます。

Problem: Multiple Trades at brokerX
Problem: Multiple Trades at brokerX
  • www.mql5.com
Problem: Multiple Trades at brokerX.
 
snelle_moda:
....

ブローカーXのライブサーバ(ECN)はマクロ経済ニュースの際に非常に多くのティックを生成します。メタクォーツのシミュレーションサーバで見るティックごとに、このサーバは20、30、40ティックを生成します

はい、これはDOMがアクティブになっているためです。

....

私のEAは、追加バックアップとして、正しいポジションサイズを得るために、ダブルポジションを自動的に反転させます。

ご指摘ありがとうございます。あなたは他の人と同じブローカーでこの問題を持っていますか、それはブローカーに依存しないのですか?
 
angevoyageur:
はいこれはDOMがアクティブになっているためです。
ご意見ありがとうございます。他の方と同じブローカーでこの問題が発生しているのでしょうか、それともブローカーに依存しないのでしょうか?


DOM」ってなんですか?


このブローカーサーバーだけです。このスレッドhttps://www.mql5.com/en/forum/14327 が立ち上がってから、シミュレーション(Metaquotes)サーバーでは一度も経験したことがありません。

その期間以前は、ブローカーXのサーバーはMetaquotesのサーバーとほぼ同じ量のティックを生成していました。

Problem: Multiple Trades at brokerX
Problem: Multiple Trades at brokerX
  • www.mql5.com
Problem: Multiple Trades at brokerX.
 
snelle_moda:


DOM」って何ですか?


このブローカーサーバのみで、このスレッドhttps://www.mql5.com/en/forum/14327 が立ち上がってから、シミュレーションサーバでは一度も経験したことがありません。

それ以前は、ブローカーXのサーバーはMetaquotesのサーバーとほぼ同量のティックを生成していました。

DOM = Depth of Marketが作動すると、Tickイベントが多くなります。
 
angevoyageur:
DOM = Depth of Marketを有効にすると、Tickイベントが多くなります。


無効化することは可能でしょうか?

 
snelle_moda:


無効化することは可能ですか?

私の知る限り、ブローカー側で有効になっているので、それはないと思います。ブローカーに問い合わせてみてください。
 

価格そのものが変化したときのみティックを許可することで、受信するティックの数を最小限に抑えました。


// De sum van de BID/LAST 
   static double dPriceSum;   
   double dOldPriceSum = dPriceSum;
   
// To be used for getting recent/latest price quotes
   MqlTick Latest_Price;      
   SymbolInfoTick(Symbol() ,Latest_Price);

   dPriceSum = Latest_Price.bid + Latest_Price.last; 

// Check if the price is (not)changed.
   if(dPriceSum == dOldPriceSum)
         {
         return;
         }
 
snelle_moda:

価格そのものが変化したときのみティックを許可することで、受信ティックの数を最小限に抑えました。


アスクの価格が変化した場合、またはビッドが1ポイント上昇し、ラストが1ポイント下降した場合はどうなりますか?通常のティックとは、BidやAskが変化することを指します。
 
angevoyageur:
アスク価格が変化している場合、ビッド価格が1ポイント上がり、ラスト価格が1ポイント下がる場合はどうなるのでしょうか?通常の」ティックとは、ビッドやアスクの変化です。

それは良い指摘ですね。BID価格の変化だけでいいのかもしれませんね。

チャート上のBARもBID価格を基準にしているのですか?


私のEAのトリガー信号では、1分足BARのベースとなる価格の変化だけに興味があります。

 
ω・)ノ寝てもダメなんですか?

これを避けるためにはどうしたらいいのでしょうか?