Benjamin Fotteler #: ありがとうございます。しかし、最初のEAが0.01ロットを買い、2番目のEAが0.05ロットを買った場合、どちらのストップロスが適用されるのかまだ理解できません。すると、0.06ロットのポジションがオープンされますよね?このポジションにはどのストップロスが適用されるのでしょうか?1つ目、2つ目、それとも集約されたもの?
Benjamin Fotteler #: ネッティング口座で試してみました。1.1EURUSDにストップロスのある1ロットの成行売り注文を発注し、1.05EURUSDにストップロスのある1ロットの成行売り注文を発注した場合、2ロットのネットポジション全体のストップロスは1.05EURUSDになります。つまり、1つのシンボルで2つの競合するEAを実行し、StopLossとTakeProfitを異なるように管理または処理した場合、これは混乱につながる可能性があります。ポジションがすでに開いているかどうかをPositionSelect()を使ってEAでチェックし、EAがもつれる前にポジションがなくなるまでEAを待たせたほうがいいですね。
ありがとうございます。しかし、最初のEAが0.01ロットを買い、2番目のEAが0.05ロットを買った場合、どちらのストップロスが適用されるのかまだ理解できません。すると、0.06ロットのポジションがオープンされますよね?このポジションにはどのストップロスが適用されるのでしょうか?1つ目、2つ目、それとも集約されたもの?
もしそうなら、私はようやくネッティング口座の基本原理を理解したことになる:そして、OrderSendメソッド 経由であろうと、PositionModify経由であろうと、そうでなかろうと、SLとTPを最後に設定した人は、それが他のEAに合っていようといまいと、ポジション全体に対してSLとTPを設定したことになります。
つまり、ネッティング口座で1つの同じシンボルで複数のEAを使用する場合、ユーザーは、異なるEAのSLとTPを同じように設定し、それらが当初の計画と異なる機能を果たさないようにしなければならないことを認識しなければなりません-保護機能を持ち、それぞれのシンボルでポジションがオープンされていない場合にのみ「内部」ポジションをオープンするのでない限り。そして、あなたが上で言及したPositionSelect()は、このために非常に便利です。
つまり、ネッティング口座で1つの同じシンボルで複数のEAを使用する場合、ユーザーは、異なるEAのSLとTPを同じように設定し、それらが当初の計画と異なる機能を果たさないようにしなければならないことを認識しなければなりません-保護機能を持ち、それぞれのシンボルでポジションがオープンされていない場合にのみ「内部」ポジションをオープンするのでない限り。そして、あなたが上で言及したPositionSelect()は、このために非常に便利です。
しかし、念のため、SLとTPが別の注文に採用されるのか、それともSLとTPを後で別々に変更したほうがよいのか、もう一度試してみます!
はい。ネット口座に関しては、まだやっていませんが、ポジションチケットとして保存していたtradeResult.dealの値でやりました。
EAを実行し、その中で(SLとTPは別として)私が唯一使用している成行注文の間に指値注文なども送信すると、オープンポジションのチケットはtradeResult.dealと同一ではなく、tradeResult.orderと同一になることに気づきました。そして、ポジションのプロパティページに 記載されているように、ポジションのチケットは単に変更することができますが、POSITION_IDENTIFIERは変更されず、ポジションをオープンした注文のチケット、つまりエントリートレードのtradeResult.orderと同一のままです。
USDKZTをどこで取引できるか知っている人はいますか?
ネッティング口座で試してみました。1.1EURUSDにストップロスのある1ロットの成行売り注文を発注し、1.05EURUSDにストップロスのある1ロットの成行売り注文を発注した場合、2ロットのネットポジション全体のストップロスは1.05EURUSDになります。つまり、1つのシンボルで2つの競合するEAを実行し、StopLossとTakeProfitを異なるように管理または処理した場合、これは混乱につながる可能性があります。ポジションがすでに開いているかどうかをPositionSelect()を使ってEAでチェックし、EAがもつれる前にポジションがなくなるまでEAを待たせたほうがいいですね。
トレーディング・ロボットが通過しなければならないチェックに 目を通しました。この情報は非常に役に立った。しかし、マージンコールの問題が出てきました。これを正しく理解できたかどうかわかりません。
現在、私のEAはマージンコールを避けるために2つのことをしています:ポジションを建てる、または建てる可能性のある取引の前に、OderCalcMargin(...)とACCOUNT_MARGIN_FREEを使用して、マージンが引き上げられるかどうかを確認します。そして、ポジションを建てる場合は、ストップ・ロスの金額が支払うべき証拠金を上回っているかどうかをチェックします。そして、2番目の点について、私が何か誤解しているのかどうかわからない。
証拠金が500ドルで、マーケットが私の方向と反対に進んでいて、ストップロスが1000ドルの損失で初めて有効になる、あるいは発動するとします。私のポジションのオープン損益が-750ドル、つまり500ドルの証拠金を使い切った場合、マージンコールが発生するのでしょうか?では、SLをチェックすることは意味があるのでしょうか?- それは試したくないことの一つです。