[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 4

 
splxgf:

どちらがどちらなのか、どのように判断するのでしょうか?

https://book.mql4.com/ru/trading/orderclose

また、必要に応じて記号でフィルタリングすることも可能で、完全に動作する例です。

https://book.mql4.com/ru/trading/ordermodify


以下の例で判断していますが、最初の保留注文はすべての条件を満たしているにもかかわらず、最初の保留注文ではなく、最後の保留注文だけを決済してしまいます。エラーを見つけるのを手伝ってくれ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 if (Bid>=Openup-0.0005)
 {
 for(int count = OrdersTotal()-1; count >= 0; count--)
  {  
     OrderSelect(count, SELECT_BY_POS, MODE_TRADES);
     if (OrderType() == OP_BUYLIMIT)
       {  
        OrderDelete(ticket,CLR_NONE);
       }
  }
 }
 
Andreev:


以下の例で判断していますが、最初の保留注文はすべての条件を満たしているにもかかわらず、最初の保留注文ではなく、最後の保留注文だけを決済してしまいます。エラーを見つけるのを手伝ってくれ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


どちらの順番で閉じるかは、マジックナンバーで判断するのが一番簡単です。セットアップ時に異なる番号を割り当てる。上に示した例では、このチェックが欠落しています。また、ticketの 代わりにOrderTicket() と記述する。
 
tol64:

どちらの順番で閉じるかは、マジックナンバーで判断するのが一番簡単です。セットアップ時に異なる番号を割り当てる。上に示した例では、このチェックが欠落しています。また、ticketの 代わりにOrderTicket() と記述する。

返信ありがとうございましたマジックナンバーはすでにアドバイスされているのですが、保留中の注文を 定義するときにどこに入れるのか、チケットとどのようにリンクさせるのか、理解できません。
 
Andreev:

返信ありがとうございましたマジックナンバーを使用するよう既にアドバイスを受けていますが、保留中の注文を定義する際にどこに配置し、どのようにチケットと関連付けるのかが分かりません。


マジックは、注文を開くときに設定する必要がありますが、我々は別の注文の数が異なっていることを確認する必要があり、それ以外の場合は意味をなさない。以下は、注文を開くときに設定できるすべての変数は、それが魔法の変数に興味があるはずYOUですが、正しく動作するには、それ以前のすべての変数は、すべての変数の後に記入する必要があります - あなたが合うと思うように

https://docs.mql4.com/ru/trading/OrderSend

 
LazarevDenis:


マジックは、注文を開くときに設定する必要がありますが、別の注文の数が異なっていることを確認し、それ以外の場合は意味をなさない、以下は、注文を開くときに設定することができますすべての変数は、魔法の変数に興味があるはずですが、前にすべての変数は、すべての変数の後に記入されるべきである正しく動作するには - あなたが合うと思うように

https://docs.mql4.com/ru/trading/OrderSend


なぜ、オーダーごとに異なるマジックが必要なのか?
 

正しいコードを教えてください。私はEAを書きましたが、コンパイル時に2つだけエラーを発生させます - それらを取り除く方法がわかりません。

these errors 1) 'SL' - variable already defined C:\Program FilesMetaTrader Finam﹑$.mq4 (43, 11)

and 2) 'TP' - variable already defined C:³ FilesMetaTrader Finamexperts$.mq4 (45, 11)

以下のExpert Advisorのコードです。

 
extern int  

            Diapazon=1200,
            Slipege=500,
            TP=1500,
            SL=15000;   
            
double pa, pb, pt;
int    ls, dg;                  

  int start()                                // Спец. функция start()
  {  
   
   pa=MarketInfo(Symbol(),MODE_ASK);
   pb=MarketInfo(Symbol(),MODE_BID);
   pt=MarketInfo(Symbol(),MODE_POINT);
   dg=MarketInfo(Symbol(),MODE_DIGITS);
   ls=MarketInfo(Symbol(),MODE_STOPLEVEL);
   
   //---------------------------------------+
    
   if
   
   {
   
   double variable1 = NormalizeDouble(pa+ls*pt,dg); 
  
   double variable2 = NormalizeDouble(pb-ls*pt,dg);
   
   //---------------------------------------------+ 
  
   double pa = NormalizeDouble(Ask+Diapazon*Point,Digits);
   
   double SL = NormalizeDouble(Bid+(Diapazon-SL)*Point,Digits);
  
   double TP = NormalizeDouble(Ask+(Diapazon+TP)*Point,Digits);

 
  
   double pb = NormalizeDouble((Bid+Diapazon*Point,Digits);
  
   double SL = NormalizeDouble(Bid+(Diapazon+SL)*Point,Digits);
  
   double TP = NormalizeDouble(Bid+(Diapazon-TP)*Point,Digits);
   
   }
  
                                       // Открытие BUY
                                         
   OrderSend(Symbol(),OP_BUYSTOP, 0.05,Ask+Diapazon*Point,3,Bid+(Diapazon-SL)*Point,Ask+(Diapazon+TP)*Point);
   
                                     // Открытие SELL
   
   OrderSend(Symbol(),OP_SELLSTOP,0.05,Bid+Diapazon*Point,3,Bid+(Diapazon+SL)*Point,Bid+(Diapazon-TP)*Point);  

   return;                                   // Выход из start()
  }
  
 
Vinin:

また、なぜワラントによって異なるマジックを必要とするのでしょうか?

どうやらそのためのようです - 上のいくつかの記事 :-))- "どの順番で閉じるか "を判断する最も簡単な方法は、マジックナンバーです。セットアップ時に異なる番号を割り当てる。上に示した例では、このチェックが欠落しています。また、「ticket」の代わりに「OrderTicket()」と記述してください。
 
tol64:

どちらの順番で閉じるかは、マジックナンバーで判断するのが一番簡単です。セットアップ時に異なる番号を割り当てる。上に示した例では、このチェックが欠落しています。また、ticketの 代わりにOrderTicket() と記述してください。

注文を設定した時刻を記憶しておき、ループ内で時刻を比較し、最も古いものを削除する。
 
Andreev:


以下の例で判断していますが、最初の保留注文はすべての条件を満たしているにもかかわらず、最初の保留注文ではなく、最後の保留注文だけを決済してしまいます。エラーを見つけるのを手伝ってくれ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


最初の注文が成行注文に変換され、その結果、指値注文のこのサイクルによってその削除が不可能になるという変種を除外しないのですか?