Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
違いはありません。注文やポジションを設定する際、自分のポジションには自分の、注文には自分の、と「コメント」をつけていたので、その違いの疑いがあるのです。その結果、あるポジションに注文が移動すると、その注文のコメントが継承される。
そして、コメントでポジションを確認すると、コメントが違うという混乱がありました。 それを修正しました。
あなたのコードでは、SELL_LIMITが 発生した場合にどのようにポジションがクローズされるのか、全く理解できません。エクイティ。
すべてのポジションがクローズ可能かどうかをチェックし、そのためのフラグが設定されているようです。
が、CloseAllPositions()の 中で。
何かが足りない
SELL_LIMITが 発生した場合、すべてのポジションを閉じるかどうかのチェックは行われません。
もしかして、この同じm_account.Equity()>= m_account.Balance()+15は、何か別の方法で実装されているのでしょうか?
あるいは、私の文脈で平均化の意味を間違って説明したせいかもしれません。
私はすでに上述したように、 保留中の注文は 関係ありません。保留中の注文は、利益を得ることができません。at all」という言葉から。それをはっきりさせない限り、先に進めないのです。
追記:2つのケースについて、解決例を示しました。
すでに上で指摘したように、 保留中の注文は まったく関係ない。保留中の注文は、利益を得ることができません。at all」という言葉から。これをはっきりさせないと、先に進めないのです。
ウラジミールまあ、当然ながら、保留中の注文は利益を持つことができません。もちろん、オープンポジションの利益の話です。
これらのポジションのオープン方法の違いだけで、異なるクローズ方法が必要です。
もし2つ目のポジションがスマートなSELL_STOP注文から開かれた場合、そのうちの1つはポジションの利益が大きい方を閉じなければなりません。 これはあなたにとってうまくいったことであり、機能するのです。
2つ目のポジションがSELL_LIMIT注文で開いた場合、どちらかのSLが 先に発動しない限り、Equity(m_account.Equity()>= m_account.Balance()+15) によって両方ともクローズされるはずです。
追加されました。
2つのケースを想定した解答例を示しました。
2番目の条件ではすべて問題ないようです。しかし、私はなぜか2番目の条件が2番目のポジションを開き、0 -1,2に近いすぐにそれを閉じます。
もしかして、利益総額の指定場所が間違っているのでは?
InpProfitTarget = 15; ここで、動作しない場合。
ウラジミールもちろん保留中の注文が利益を持つことはできませんが。もちろんオープンポジションについての利益の話です。
ただ、これらのポジションのオープン方法が異なるので、別のクローズ方法が必要です。
もし、2つ目のポジションがスマートなSELL_STOP注文から開かれた場合、そのうちの1つは、ポジションの利益が大きい方を閉じなければなりません。 これは、あなたにとってうまくいっていることであり、機能するのです。
2つ目のポジションがSELL_LIMIT注文で開いた場合、どちらかのSLが 先に発動しない限り、Equity(m_account.Equity()>= m_account.Balance()+15) によって両方ともクローズされるはずです。
すみません。
2つのケースを想定した解答例を示しました。
次は自分で何とかしてください。
すみません。
2つのケースを想定した解答例を示しました。
ここからは、ご自身で何とかしてください。
ウラジミールさん、ありがとうございます、やってみます。
2. 2つ以上のポジションを持っている - それらの合計利益が指定されたものよりも高い場合、我々はすべてのポジションを閉じます。
しかし、私はそれを必要とせず、2つ目のポジションがSELL_LIMITの トリガーで開かれた2つ以上のポジションを必要としました。
とにかくお待たせしました、お疲れ様でした。もちろん、自分なりに悩んで解決しますよ)))
こんばんは、スレッドを増やさないように、ここで質問です - スクリプトは非常に特定のテイクとストップで保留中のストップ注文を入れ、それが実行されていない、コメントで[非流動性]と書かれています - どのようにそれに対処する - 実行前にループスクリプト、高いスリッページを設定したり、再テイクまたは何の数を指定するのですか?あるいは、どこを掘ればいいのか、ヒントを教えてください。
常にドキュメントを参照する必要があります
ORDER_TIME_GTC
注文は取り下げられるまでキューに 残ります
常にドキュメントを参照する必要があります
ORDER_TIME_GTC
注文は取り下げられるまでキューに 残ります
ありがとうございます、きっとそうです
こんばんは!(^o^)
募集職種は 1つです。
Expert Advisor は、PositionClose() メソッドを使用してポジションをクローズします。
結果が出力される ResultRetcode= 10009.コード説明:0.00で終了
コードの下に、チェック if(PositionSelect(_Symbol)) があり、これは成功します。
つまり、PositionClose()を実行してからオープンポジションが消滅するまでに時間がかかり、その間にプログラムが誤って終了してしまうのです。
この状況を正しく解決するにはどうしたらよいのでしょうか。
テスト終了後、新しいテストを実行するために、毎回ターミナルを再起動しなければならないのはなぜですか?
すべてのオブジェクトを削除しています。ファイルを閉じる。以下は、テストを停止したときのログです。
次に起動しないときは、ターミナルを閉じてから もう一度開く必要があります。2361を構築。