Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1454

 
Mikhail Toptunov #:

Beyler, bakanlar!)

Yine yirmi beş.

   for(int i=OrdersTotal()-1; i>=0; i--)
      if(m_position.SelectByIndex(i))
        {
         long f= m_position.Magic();
         if(m_position.Comment()==comment)
            if(m_position.Type()==type)
               if(m_position.Magic()==magic)
                  return(true);
        }

Atların.... insanların bir karışımı

Bu da ne böyle?

Açık emir sayısını soruyoruz ama pozisyonları kontrol ediyoruz. Bu işe yaramayacak.
 
JRandomTrader #:

Ne yazık ki tam olarak öyle değil. Burada 10012 kodunu nasıl aldığımı zaten gösterdim, sıfır sipariş bileti, ancak sipariş gerçekleştirildi. MQ bu konuda sessiz kalıyor.

Bunun için bir koltuk değneği yazdım, ancak ancak 10012'yi tekrar aldıktan sonra kontrol etmek mümkün olacak).

Bu, kuralların bir istisnasıdır ve bir kişi emirler, anlaşmalar ve pozisyonlar arasındaki farkı anlayamaz. Ayrıca onu istisnalarla da karıştırıyorsunuz))))))

Nasıl çalıştığını anladığında, kendi ihtiyaçları için bir çek yazabilecektir.

 
Aleksandr Slavskii #:

... ve bir kişi emirler, işlemler ve pozisyonlar arasındaki farkı anlayamaz . ..

Nasıl çalıştığını anladığında, kendi ihtiyaçları için bir çek yazabilecektir.

Her şey burada ayrıntılı olarak açıklanmıştır.

Saygılarımla, Vladimir.

 

teşekkürler, görünüşe göre çözdüm!!!!


//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction&    trans,     // структура торговой транзакции
                        const MqlTradeRequest&        request,   // структура запроса
                        const MqlTradeResult&         result)    // структура ответа
  {
//--- результат выполнения торгового запроса
 ulong            lastOrderID   =trans.order; 

//--- тип транзакции
   ENUM_TRADE_TRANSACTION_TYPE  trans_type=trans.type;
   switch(trans.type)
     {
      case  TRADE_TRANSACTION_POSITION:   // изменение позиции
        {

        }
      break;
      //---
      case TRADE_TRANSACTION_ORDER_ADD:    // добавление нового действующего ордера
        {
         fix_position_open(lastOrderID);
        }
      break;
      case TRADE_TRANSACTION_REQUEST:    // добавление нового действующего ордера
        {

        }
      break;
     }
//---
  }
//--- Фиксируем если позиция открыта --------------------------------+
void fix_position_open(ulong lastOrderID)
  {
//--- Фиксируем если позиция открыта
   for(int i=0; i<ArraySize(position_buff); i++)
      if(position_buff[i].timeOp==1)
         if(!match_open_orders(lastOrderID))
           {
            position_buff[i].timeOp= 0;     // Фиксировать время
            Print("Метод OnTrade() по рынку не выполнен. Код возврата=",m_trade.ResultRetcode(),
                  " (",m_trade.ResultRetcodeDescription(),")"+position_buff[i].comment+" lot "+DoubleToString(position_buff[i].lot));//
           }
         else
           {
            position_buff[i].timeOp= TimeCurrent();
            Print("Метод OnTrade() по рынку выполнен успешно. Код возврата=",m_trade.ResultRetcode(),
                  " (",m_trade.ResultRetcodeDescription(),")"+position_buff[i].comment+" lot "+DoubleToString(position_buff[i].lot));//
           }
  }
//--- Соответствие открытых ордеров ---------------------------------+
bool match_open_orders(long lastOrderID)
  {
//---
   for(int i=PositionsTotal()-1; i>=0; i--)
      if(m_position.SelectByIndex(i))
         if(m_position.Identifier()==lastOrderID)
            return(true);
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(m_order.SelectByIndex(i))
         if(m_order.Ticket()==lastOrderID)
            return(true);
   return(false);
  }
 
Mikhail Toptunov #:

teşekkürler, görünüşe göre çözdüm!!!!

Bir emir yerine getirildiğinde bir pozisyon açılır, yani bir anlaşma yapılır ve emir geçmişe gider.

 
MQL5'te tüm fonksiyonlar mevcut değilse ne yapmalı
 
Baruandreas #:
MQL5'te tüm fonksiyonlar mevcut değilse ne yapmalı

mql4'ü tamamen unutun ve sürekli olarak mql5 belgelerini okuyun.

 
Baruandreas #:
MQL5'te tüm fonksiyonlar mevcut değilse ne yapmalı

Sorunuz açık değil. Önce sorunuzu netleştirin:

  1. MQL5'te zaten var olan fonksiyonlardan mı bahsediyoruz?
  2. MQL5'teki hazır fonksiyon lar kümesinde bir fonksiyon var ama çalışmıyor mu?
  3. Belirli bir işleve ihtiyacınız var, ancak hazır MQL5 işlevleri kümesinde böyle bir işlev yok mu?
Saygılarımla, Vladimir.
 
MrBrooklin #:

Sorunuz açık değil. Öncelikle sorunuzu netleştirin:

  1. MQL5'te zaten var olan fonksiyonlardan mı bahsediyoruz?
  2. Hazır MQL5 setinde bir fonksiyon var ama çalışmıyor mu?
  3. Belirli bir işleve ihtiyacınız var, ancak hazır MQL5 setinde böyle bir işlev yok mu?
Saygılarımla, Vladimir.

Daha sonra anlaşıldığı üzere, bu kişi sorusuyla tüm forumu kirletenlerden biri. Hatta ayrı bir konu bile oluşturmuş...

 
Alexey Viktorov #:

Daha sonra anlaşıldığı üzere, sorusuyla tüm forumu tıkayan insanlardan biri. Hatta ayrı bir konu bile açmış...

Merhaba Alexey, şimdi her şey anlaşıldı.

Saygılarımla, Vladimir.