Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1454

 
Mikhail Toptunov #:

Meine Herren Minister!)

Wieder fünfundzwanzig.

   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);
        }

Eine Mischung aus Pferden, Menschen....

Was zum Teufel ist das?

Wir fragen nach der Anzahl der offenen Aufträge, aber wir überprüfen die Positionen. Das wird nicht funktionieren.
 
JRandomTrader #:

Leider nicht ganz so. Ich habe hier bereits gezeigt, wie ich den Code 10012, ein Null-Bestellschein, erhalten habe, aber der Auftrag wurde ausgeführt. MQ schweigt zu diesem Thema.

Ich habe eine Krücke dafür geschrieben, aber es wird erst möglich sein, dies zu überprüfen, nachdem ich 10012 erneut erhalten habe).

Dies ist eine Ausnahme von den Regeln, und ein Mensch kann den Unterschied zwischen Aufträgen, Geschäften und Positionen nicht verstehen. Und Sie verwirren ihn auch mit Ausnahmen))))))

Wenn er versteht, wie es funktioniert, wird er in der Lage sein, einen Scheck für seine eigenen Bedürfnisse auszustellen.

 
Aleksandr Slavskii #:

... und eine Person kann den Unterschied zwischen Aufträgen, Geschäften und Positionen nicht verstehen . ..

Wenn er versteht, wie es funktioniert, wird er in der Lage sein, einen Scheck für seine eigenen Bedürfnisse auszustellen.

Alles ist hier im Detail beschrieben.

Mit freundlichen Grüßen, Vladimir.

 

Danke, ich scheine es herausgefunden zu haben!!!!


//+------------------------------------------------------------------+
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 #:

Danke, ich scheine es herausgefunden zu haben!!!!

Eine Position wird eröffnet, wenn ein Auftrag ausgeführt wird, d.h. ein Geschäft abgeschlossen wird und der Auftrag in die Historie eingeht.

 
Was ist zu tun, wenn nicht alle Funktionen in MQL5 verfügbar sind?
 
Baruandreas #:
Was ist zu tun, wenn nicht alle Funktionen in MQL5 verfügbar sind?

Vergessen Sie mql4 ganz und lesen Sie ständig die mql5-Dokumentation.

 
Baruandreas #:
Was ist zu tun, wenn nicht alle Funktionen in MQL5 verfügbar sind?

Ihre Frage ist nicht klar. Klären Sie zunächst Ihre Frage:

  1. Sprechen wir über bereits vorhandene Funktionen in MQL5?
  2. Gibt es eine Funktion im Satz der vorgefertigten Funktionen in MQL5, aber sie funktioniert nicht?
  3. Benötigen Sie eine bestimmte Funktion, aber es gibt keine solche Funktion in der Menge der vorgefertigten MQL5-Funktionen?
Mit freundlichen Grüßen, Vladimir.
 
MrBrooklin #:

Ihre Frage ist nicht klar. Klären Sie zunächst Ihre Frage:

  1. Sprechen wir über bereits vorhandene Funktionen in MQL5?
  2. Gibt es eine Funktion in der Reihe der vorgefertigten MQL5, aber sie funktioniert nicht?
  3. Benötigen Sie eine bestimmte Funktion, aber es gibt keine solche Funktion in der Reihe der vorgefertigten MQL5?
Mit freundlichen Grüßen, Vladimir.

Wie sich später herausstellte, ist dies einer derjenigen, die das ganze Forum mit seiner Frage verschmutzen. Er hat sogar ein eigenes Thema erstellt...

 
Alexey Viktorov #:

Wie sich später herausstellte, handelt es sich um einen dieser Leute, die das ganze Forum mit ihrer Frage verstopfen. Er hat sogar ein eigenes Thema erstellt...

Hallo Alexey, jetzt ist alles klar.

Mit freundlichen Grüßen, Vladimir.

Grund der Beschwerde: