[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 322

 
元々多通貨EAとして設計されていない場合、おそらくマジコンとシンボルフィルターがあると思います。1つのEAにつき、1つの注文しかできないようにする。
 
yosuf:
ありがとうございます。もう一つ質問をお願いします。EAは29の商品で同時に、つまり共通の口座の29の対応するターミナルで動いています。オープンポジションの合計が30を超えないようにする必要があります。EAにそのような制限をかけたので、合計マジックナンバーでカウントされると思ったのですが、そうではなく、まだ30以上の注文が入っています。 私が間違った指示を出したために、EAがシンボルあたり30件の注文と受け取ったようです。どうすればいいのでしょうか? まだ視覚的に追っている状態です。

オデッサで言うところの、1つのターミナルに29個のシンボルがあるのと、29個のターミナルに1個ずつシンボルがあるのとでは、2つの大きな違いがあります。私はあなたのことを知らない :)
 
違いは、スレッドの多重性(複数の注文を同時に開くことができる)であり、あとは通常通りである
 
FAQ:
違いはマルチスレッド(複数の注文を同時に開ける機能)で、あとは通常と同じです

...と - 問題の著者の問題の原因。
 
Yusufさん、1つのターミナルで29のツールウィンドウを開いて同じことをしてください。十分に機能するようになったら、必要に応じてアーキテクチャをより複雑にしてください。
 
FAQ:
違いはマルチフロー(複数の注文を同時に出す機能)で、あとは通常通りです

さらに、他の8つの商品も注文のタイミングを待っている状態なので、10個の追加注文を緊急に決済しなければなりません。


 
それなら、ロジックを変える必要があります。まず手始めに、文字フィルタを外してみましょう。
 

今度は私がお願いして、スレッドが元の場所に戻ることになります

ストップロスで決済されたポジションをEAがクローズで決済しようとするとCommon error(2)が発生することがあります。 この関数は3回まで決済を試みることができるので、3回まで試してInvalid ticket(4108)が2回表示されます。どうすればやめることができますか?このチケットは他の注文の中に入っておらず、他のポジションもないのですが、それでも同じ結果が得られます。

また、これらの試みはDCに送られるのですか、それとも送られないのですか?もしかしたら、端末にしか残らないので、無駄にDCに迷惑をかけないようにするためでしょうか?分かりやすく教えていただき、ありがとうございました

 

borilunad:

質問です: リアルで、ストップロスで決済したポジションをエキスパートアドバイザーがクローズで決済しようとすると、ERR_COMMON_ERRORが出ることがあり、この関数では3回決済を試みるので、最大で3回試行することになります。どうすれば試行錯誤を止められるのか?

OrderSelectを 実行し、OrderCloseTimeを確認してからクローズしようとする。すでに0より大きい場合は、注文は終了します。

 
sergeev:

クローズする前に、OrderSelect を実行し、OrderCloseTime をチェックする。すでに0より大きい場合、注文は終了する。


Selectがありますが、OrderCloseTimeはどこに置けばいいのでしょうか?Selectの後かCloseOrder()関数の中か?

ドクを見た。History Selectは持っておらず、Tradのみです。そこで、このHistory Selectをclose条件の後、CloseOrder()の前に配置するようにしてみます。ありがとうございました。