どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 179

 
Izdesbyll:

助けてください!

エラー0、注文が成立しない!どうしたんですか?

そして、なぜ価格を2つに正規化しているのですか?ト・ディジットが 必要です。Bidの代わりにOrderClosePrice()を書くと簡単です。
 

注文の一部を閉じたということはないのでしょうか?

もし、この方法で試したら、どうなるのでしょうか?

double bylo = OrderLots();
if (OrderClose( OrderTicket(), 0.1, NormalizeDouble(Bid,2), 1 ))    Alert ("  Закрито частину лоту в розмірі 0.1 від ",bylo);
else Alert("Маємо помилку ",GetLastError());
 

artmedia70:
А почему нормализуете цену до двух? До Digits нужно. А проще писать OrderClosePrice() вместо Bid


 OrderClose( OrderTicket(), 0.1, OrderClosePrice(), 1 );  
      Alert("Маємо помилку ",GetLastError());

エラー4051が発生するようになりました

 
ALXIMIKS:

もしかして、注文の一部を閉じたのでしょうか?

こうやって試してみたら、どうだろう?



bylo = 0.1で、注文が成立しません。
 
今は全て不具合と書いています:
 double p[100];
 p[i+1] = OrderProfit();
 if (p[i+1]>0) 
    {
      Alert("Є прибуток ордер ",i+1);
      OrderSelect(i+1,SELECT_BY_POS,MODE_TRADES); 
      Alert("Маємо помилку ",GetLastError());
      Alert("Вибрали ордер ",i+1);
      OrderClose( OrderTicket(), 0.1,  NormalizeDouble(Bid,Digits), 1 );  
      Alert("Маємо помилку ",GetLastError());
      Alert("Закрили ордер ",i+1); 

I+1 = 2とどこまでも続くが、3次が閉まり始めた。

 
Izdesbyll:

助けてください!

エラー0、注文が成立しない!どうしたんですか?

こんな風に試してみてはいかがでしょうか。

    double ld_Price;
    if (OrderType() == 0) ld_Price = NormalizeDouble (Bid, Digits);
    else ld_Price = NormalizeDouble (Ask, Digits);
    OrderClose (OrderTicket(), OrderLots(), ld_Price, 2);

そして、削除手続きの前に、該当するオーダーをEXCEすることをお忘れなく!!!!

 
Izdesbyll:
今は完全に不具合です、と書いている。

i+1 = 2とどこまでも続くが、3次が閉まり始めた。

チケットを配列で集めた場合、その順番は独自のリスト(順番)ではなく、TICKETでSELECTEDする必要があります。
 
TarasBY:

こんな風に試してみてはいかがでしょうか。

そして、削除手続きの前に、該当する注文をEXCEPTすることを忘れないでください!!!


if (p[i+1]>0) 
    {
      Alert("Є прибуток ордер ",i+1);
      OrderSelect(i+1,SELECT_BY_POS,MODE_TRADES); 
      Alert("Маємо помилку ",GetLastError());
      Alert("Вибрали ордер ",i+1);
      double ld_Price;
      if (OrderType() == 0) ld_Price = NormalizeDouble (Bid, Digits);
      else ld_Price = NormalizeDouble (Ask, Digits);
      OrderClose (OrderTicket(), OrderLots(), ld_Price, 2);  
      Alert("Маємо помилку ",GetLastError());
      Alert("Закрили ордер ",i+1); 

3回目の注文でGetLastError= 0, i+1=2, OrderProfit() がSECOND注文のナニに反応。ヘルプ....(OrderTicket()-1)と書きたいところですが、役に立たないと思いますので

 
Izdesbyll:

3回目の注文が終了 GetLastError = 0, i+1=2, OrderProfit() は2回目の注文のナニに反応する。(OrderTicket()-1)と書きたいところですが、役に立たないと思いますので

の読み方がわからない!(もちろんp[]配列にチケット番号がある場合は別として)

    OrderSelect (p[i+1], SELECT_BY_TICKET, MODE_TRADES); 

...一般に、ちょっとしたコードから「バカさ加減」をキャッチするのは非常に難しいのですが......。:)

 
こんにちは、どなたか教えてください。もし、すべての注文が1-60の範囲で異なるマジックナンバーを持つ場合、すべての注文を閉じる(注文の一掃を含む)ブロックのようなものがあるのでしょうか?もしあれば、ぜひ掲載してください。また、挿入する位置の指示(mqlでは完全に緑色なので)があれば、それほど難しくはないでしょう。ありがとうございました。

言い忘れてましたが、預かり金の利益率で決済したいです。