どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 713 1...706707708709710711712713714715716717718719720...1178 新しいコメント Artyom Trishkin 2014.09.20 14:46 #7121 7Konstantin7:ありがとうございます。私はできませんが、ただ、誰かがその機能で数行走り書きするか、フクロウを落とすことができると思いました、最終版です。難しいとは思わないが、誰も助けてはくれないと思う。参加者間で転送することが可能であれば、サイトmql5が与えることができる)4つのクレジットがあります。1.ループの中で最も早いオープンポジションを 見つけ、そのチケットを返却する? Anatolij Anufriev 2014.09.20 14:50 #7122 artmedia70:1.ループの中で最も早いオープンポジションを見つけて、チケットに戻すことができますか? コード上ではどうなのか想像がつきませんが)、どうにかEAに保留中の注文を削除 する機能を追加することができました、コードは苦手なので、ちょっとだけ。 Alexey Viktorov 2014.09.20 15:32 #7123 7Konstantin7: コード上ではどうなるのか想像もつきませんが)奇跡的にEAに保留注文の削除を追加することができました、コードは苦手で少ししかできません。持っていくだけで、ループで閉じる様子がわかる1:int i, total = OrdersTotal(); bool rez; for(i = total-1; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS) && другие нужные условия) { if(OrderType() < 2) rez = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 40); if(OrderType() > 1) rez = OrderDelete(OrderTicket()); } }2://Всё тоже самое только поменяй направление цикла for(i = 0; i < total; i++) そうすれば、どのような順番で注文が締め切られるかが分かります。確認したわけではないので何とも言えません。必要ないしかし、これは別の問題で、ここで何度も議論されたことなので、何度も繰り返したくはない。 Artyom Trishkin 2014.09.20 15:35 #7124 AlexeyVik:持っていくだけで、ループで閉じる様子がわかる1:2: であれば、どの順番で注文が終了するかがわかります。確認してないので何とも言えません。必要ない。しかし、これは別の話題で、ここで何度も議論されているので、すべてを繰り返すつもりはありません。 この問題は、すでにプライベートでは解決しているのですが...。 Alexey Viktorov 2014.09.20 15:36 #7125 artmedia70: もう内輪で解決したんだから...。 まあ、あなたのプライベートは読まないけど...。どうなっているんだろう。 Artyom Trishkin 2014.09.20 15:38 #7126 AlexeyVik: まあ、あなたのプライベートメッセージは読まないけど...。と、何が何だかわからなくなる。 ああ、彼は読まないんだ...私のスリッパはどうしたんですか?;) Alexey Viktorov 2014.09.20 15:40 #7127 artmedia70: ああ、彼は読まないんだ...私のスリッパはどこへ行ってしまったのでしょうか!!!!;)イオアン・ワシリエヴィチが取って、シュパックが取らなかったものを思い出してください......」。だから、私はあなたのスリッパです。さようなら。もう寝ます。 Artyom Trishkin 2014.09.20 15:44 #7128 AlexeyVik:イオアン・ワシリエヴィチがシュパックを取ったもの取らないものをリストアップしていたことを思い出してください......。だから、私はあなたのスリッパです。さようなら。もう寝ます。 スリッパのこと、他の人に聞いてみようかな...。おやすみなさい... Anatolij Anufriev 2014.09.20 16:05 #7129 AlexeyVik:持っていくだけで、ループで閉じる様子がわかる1:2: そうすれば、注文がどのような順番で終了するかが分かります。確認してないので何とも言えない。必要ない。しかし、これは別の問題で、ここで何度も議論されてきたことであり、すべてを繰り返す気はない。ありがとうございます、すでに問題は解決しました。artmedia70 です。ジョンに送られるかと思った)ありがとうございました。 Alexey Semenov 2014.09.23 07:43 #7130 皆さんこんにちは!すでに711ページで同じような質問をしましたが、残念ながら誰も回答してくれませんでしたが、もしかしたら今、誰かが...5桁の 注文でカウンターオーダーをクローズする際の問題に直面しています。つまり、買い注文が20個、売り注文が33個、合計の利益が出た時点で決済する必要があるんだ。そして、関数OrderCloseBy()を使って買い注文20件と売り注文20件を決済し、関数OrderClose()を使って残りの売り注文13件を決済したいのです。スプレッドが4桁で固定されていれば、スプレッドのクローズに問題はありませんし、関数OrderCloseBy()を使用する際にもスプレッドを保存しています。スプレッドが5桁の場合、スプレッドが浮いているため、総利益に達しても注文が決済されず、OrderCloseBy()関数がログで主張しているのだと思います。同時に、テスターで動かすと、すべて正常に閉まります。一方向の注文は、利益の合計に達した時点で問題なく決済されます。このような問題に遭遇した人、そしてそれを解決するための選択肢は何か?注文をクローズする機能を持たせます。また、OrderCloseBy()関数は、5桁の注文でも機能するのでしょうか? //----------------------------------------------------------------------- // функция подсчета открытых ордеров //----------------------------------------------------------------------- void OrderOpen() { Orders_BUY=0; Orders_SELL=0; for(int a=0; a<=OrdersTotal(); a++) { if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true && OrderType()==OP_BUY && OrderMagicNumber() == Magic) Orders_BUY=Orders_BUY+1; if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true && OrderType()==OP_SELL && OrderMagicNumber() == Magic) Orders_SELL=Orders_SELL+1; //if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY) Orders_BUY=Orders_BUY+1; //if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL) Orders_SELL=Orders_SELL+1; ProfitAll=ProfitAll+OrderProfit()+OrderSwap()+OrderCommission(); } } //----------------------------------------------------------------------- // функция закрытия ордеров сначала разнонаправленных //----------------------------------------------------------------------- void ClosePos() { int ticket_1=0, ticket_2=0; for (int a=0; a<=OrdersTotal(); a++) { if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) // проверка по символу и магику { if(OrderType() == OP_BUY) ticket_1 = OrderTicket(); if(OrderType() == OP_SELL) ticket_2= OrderTicket(); } } } if(ticket_1 != 0 && ticket_2 != 0) { // если найдены разнонаправленные ордера res = OrderCloseBy(ticket_1,ticket_2,clrRed); } // закроем их if(ticket_1 == 0 && ticket_2 != 0) { CloseOrder_by_type(OP_SELL,Symbol()); } if(ticket_1 != 0 && ticket_2 == 0) { CloseOrder_by_type(OP_BUY,Symbol()); } } //---- Закрытие ордера по типу и комментарию ----// void CloseOrder_by_type(int type, string sym) { for(int k= OrdersTotal()-1;k>=0;k--) { if(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true) { if(type == OrderType() && sym==OrderSymbol()&& OrderMagicNumber()==Magic) if(OrderType()<=1){ res = OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),350);} else { res = OrderDelete(OrderTicket());} if(!res) Print("Ошибка закрытия ордера. Код ошибки=",GetLastError()); else Print("ордер успешно закрыт."); } } } 1...706707708709710711712713714715716717718719720...1178 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありがとうございます。私はできませんが、ただ、誰かがその機能で数行走り書きするか、フクロウを落とすことができると思いました、最終版です。難しいとは思わないが、誰も助けてはくれないと思う。
参加者間で転送することが可能であれば、サイトmql5が与えることができる)4つのクレジットがあります。
1.ループの中で最も早いオープンポジションを 見つけ、そのチケットを返却する?
1.ループの中で最も早いオープンポジションを見つけて、チケットに戻すことができますか?
コード上ではどうなるのか想像もつきませんが)奇跡的にEAに保留注文の削除を追加することができました、コードは苦手で少ししかできません。
持っていくだけで、ループで閉じる様子がわかる
1:
2:
そうすれば、どのような順番で注文が締め切られるかが分かります。確認したわけではないので何とも言えません。必要ないしかし、これは別の問題で、ここで何度も議論されたことなので、何度も繰り返したくはない。持っていくだけで、ループで閉じる様子がわかる
1:
2:
であれば、どの順番で注文が終了するかがわかります。確認してないので何とも言えません。必要ない。しかし、これは別の話題で、ここで何度も議論されているので、すべてを繰り返すつもりはありません。もう内輪で解決したんだから...。
まあ、あなたのプライベートメッセージは読まないけど...。と、何が何だかわからなくなる。
ああ、彼は読まないんだ...私のスリッパはどこへ行ってしまったのでしょうか!!!!;)
イオアン・ワシリエヴィチが取って、シュパックが取らなかったものを思い出してください......」。だから、私はあなたのスリッパです。
さようなら。もう寝ます。
イオアン・ワシリエヴィチがシュパックを取ったもの取らないものをリストアップしていたことを思い出してください......。だから、私はあなたのスリッパです。
さようなら。もう寝ます。
持っていくだけで、ループで閉じる様子がわかる
1:
2:
そうすれば、注文がどのような順番で終了するかが分かります。確認してないので何とも言えない。必要ない。しかし、これは別の問題で、ここで何度も議論されてきたことであり、すべてを繰り返す気はない。ありがとうございます、すでに問題は解決しました。
ジョンに送られるかと思った)ありがとうございました。
皆さんこんにちは!すでに711ページで同じような質問をしましたが、残念ながら誰も回答してくれませんでしたが、もしかしたら今、誰かが...
5桁の 注文でカウンターオーダーをクローズする際の問題に直面しています。つまり、買い注文が20個、売り注文が33個、合計の利益が出た時点で決済する必要があるんだ。そして、関数OrderCloseBy()を使って買い注文20件と売り注文20件を決済し、関数OrderClose()を使って残りの売り注文13件を決済したいのです。
スプレッドが4桁で固定されていれば、スプレッドのクローズに問題はありませんし、関数OrderCloseBy()を使用する際にもスプレッドを保存しています。スプレッドが5桁の場合、スプレッドが浮いているため、総利益に達しても注文が決済されず、OrderCloseBy()関数がログで主張しているのだと思います。同時に、テスターで動かすと、すべて正常に閉まります。
一方向の注文は、利益の合計に達した時点で問題なく決済されます。
このような問題に遭遇した人、そしてそれを解決するための選択肢は何か?
注文をクローズする機能を持たせます。
また、OrderCloseBy()関数は、5桁の注文でも機能するのでしょうか?