初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 522

 
toni_stark:
EAが1日に1回注文を出し、その注文を1日の終わり、例えば23:50にクローズする方法を教えてください。
if(TimeCurrent()>=D'23:50') close_all()。
 
Vasyl Nosal:
if(TimeCurrent()>=D'23:50') close_all()。
この場合、すべての注文がクローズされるのか、それともExpert Advisorが開いた注文のみがクローズされるのか?
 
toni_stark:
このオプションは、すべての注文を閉じるのですか、それともEAによって開かれた注文だけを閉じるのですか?
クロージング機能によって異なります。
 
toni_stark:
この場合、すべての注文がクローズされるのか、Expert Advisorが開いた注文のみがクローズされるのか?

:)))

close_all()関数に書いてあること

 
インジケータをnポイント上下に移動させるには、どのようなパラメータや関数を使用すればよいでしょうか?
ファイル:
 
Vasyl Nosal:

:)))

close_all()に書いてあること

close_all()関数では完全にはわからない、metaiditorにない。もしかして、OrderClose()関数のことかな?
 
toni_stark:
close_all()関数については、metadvisorに載っていないので、全く不明です。もしかして、OrderClose()関数のことかな?

ってなもんです。

//+------------------------------------------------------------------+
void сlose_all()
  {
   double price=0;
   bool error;
   int total=OrdersTotal();

   for(int i=total-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         //Print(__FUNCTION__);

         if(OrderType()==OP_BUY)
           {
            RefreshRates();
            price=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),(int)MarketInfo(OrderSymbol(),MODE_DIGITS));
            error=OrderClose(OrderTicket(),OrderLots(),price,10000,clrBlue);
            if(!error) PrintFormat("Error № %d closing the order. Ticket: %d",GetLastError(),OrderTicket());
           }
         if(OrderType()==OP_SELL)
           {
            RefreshRates();
            price=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS));
            error=OrderClose(OrderTicket(),OrderLots(),price,10000,clrBlue);
            if(!error) PrintFormat("Error № %d closing the order. Ticket: %d",GetLastError(),OrderTicket());

           }
         if(OrderType()>1)
           {
            error=OrderDelete(OrderTicket());
            if(!error) PrintFormat("Error № %d delete the order. Ticket: %d",GetLastError(),OrderTicket());
           }

        }

     }
  }
//+------------------------------------------------------------------+
 
Sergey Gritsay:

ってなもんです。

カスタムファンクションです。
 
プログラマーの皆様へ。手伝ってくれる?EAを「締め」て(寝かせて)、オープンオーダーの数を設定しているのです。役に立つかどうかはわかりません。このフクロウを何組か置いても、注文は1つしか開けない。片方のペアで注文を出すと、もう片方のペアのシグナルが無視されない。どうしたらいいのかわからない。
ファイル:
 
すみません...勘違いしてました(そして、一方のペアで注文を出すと、もう一方のペアのシグナルがINVOIDさ れる)。
理由: