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

 

Ich sende eine Anfrage wie diese, um eine ausstehende Anfrage zu stellen. Er verfällt jedoch nicht am Ende des Handelstages. Ich habe es mitORDER_TIME_SPECIFIED_DAY versucht, aber auch das funktioniert nicht. Wo liegt das Problem?

MqlTradeRequest  request = {0};
         request.action = TRADE_ACTION_PENDING;
         request.symbol = _Symbol;
         request.volume = Lot;
         request.price  = high(Quant_Bars); 
         request.sl     = sl;
         request.tp     = tp;
         request.type   = ORDER_TYPE_BUY_STOP; 
         request.expiration = ORDER_TIME_DAY;
         request.magic = magicN;
MqlTradeResult result = {0};

if (OrderSend (request,result))
    {
    Print ("Ордер успешно отправлен, ошибок нет =  ", GetLastError());
    } else
       {
        Print ("Не удалось отправить запрос, ошибка = ", GetLastError());
       }
 

Die Funktion TrendLineVisible - aus der Standard-CCurve-Klasse- ist dies eine Regressionslinie?

Wie kann ich erreichen, dass diese Linie vollständig im Diagramm erscheint, anstatt abgeschnitten zu werden?


 

warum heißt es hier, dass ... Position sollte nur mit der Methode Select oder SelectByIndex ausgewählt werden,

ob die Methode SelectByTicket auch funktioniert?

 

Helfen Sie mir mit der Funktion ArrayPrint - Ich möchte die letzten 100 Elemente eines Arrays, und die ersten 100 und die letzten 100 erhalten.

               ArrayPrint(arr_P_val_X,8,NULL,Calc_XY-100,100,ARRAYPRINT_INDEX);//Ожидаю получить 100 последних элементов, выдает первые
               ArrayPrint(arr_P_val_X,ARRAYPRINT_LIMIT);//Хочу получить 100 и 100 последний - выдает весь массив - что не так?

Calc_XY - die Anzahl der Elemente in der Matrix.

 

Wie erhalte ich das Ticket eines gerade eröffneten Geschäfts?
Wenn Sie die Klasse CTrade und die Funktion Buy() verwenden.

In mt4 gibt die Funktion OrderSend() sofort ein Ticket aus.



Gibt es eine Funktion, die ein Ticket für eine Position anhand des Positionsindexes ausgibt?

oder muss man erst eine Position auswählen (select)?

 
multiplicator:

Wie erhalte ich das Ticket eines gerade eröffneten Geschäfts?
Wenn Sie die Klasse CTrade und die Funktion Buy() verwenden.

In mt4 gibt die Funktion OrderSend() sofort ein Ticket aus.



Gibt es eine Funktion, die ein Ticket für eine Position anhand des Positionsindexes ausgibt?

oder muss man erst eine Position auswählen (select)?

In OnTradeTransaction mit Transaktionsart trans.type == TRADE_TRANSACTION_DEAL_ADD finden Sie ein Ticket in der Struktur trans.position

struct MqlTradeTransaction 
  { 
   ulong                         deal;             // Тикет сделки 
   ulong                         order;            // Тикет ордера 
   string                        symbol;           // Имя торгового инструмента 
   ENUM_TRADE_TRANSACTION_TYPE   type;             // Тип торговой транзакции 
   ENUM_ORDER_TYPE               order_type;       // Тип ордера 
   ENUM_ORDER_STATE              order_state;      // Состояние ордера 
   ENUM_DEAL_TYPE                deal_type;        // Тип сделки 
   ENUM_ORDER_TYPE_TIME          time_type;        // Тип ордера по времени действия 
   datetime                      time_expiration;  // Срок истечения ордера 
   double                        price;            // Цена  
   double                        price_trigger;    // Цена срабатывания стоп-лимитного ордера 
   double                        price_sl;         // Уровень Stop Loss 
   double                        price_tp;         // Уровень Take Profit 
   double                        volume;           // Объем в лотах 
   ulong                         position;         // Тикет позиции 
   ulong                         position_by;      // Тикет встречной позиции 
  };
 
Hallo liebe Forumsmitglieder, Moderatoren, Admins usw.
Bitte erklären Sie, wie man den Gesamtgewinn der offenen Positionen in MQL5 berechnet. In MQL4 gibt es damit kein Problem. Ich bin hier nicht faul, sondern weil ich nicht weiß, wie ich es machen soll. Mit PositionGetDouble(POSITION_PROFIT) wird der Gewinn nur für die erste offene Position berechnet.

Aber in MQL4 zeigt OrderProfit() denGewinn für alle Aufträge an. Vielleicht habe ich etwas übersehen...
Ich habe vergessen, die Art des Absicherungskontos anzugeben.
 
Ramiz Mavludov:
Entschuldigung, ich habe vergessen zu erwähnen, dass es sich um ein Hedge-Konto handelt.

Sie sollten dringend und unbedingt einen Kurs zur Ausrottung des Analphabetismus besuchen. Sowohl in mql5 als auch in mql4 müssen Sie, bevor Sie mit einer Position (in mql4: einer Order) arbeiten, die Position auswählen. Im Gegensatz zu mql4 erinnere ich mich in mql5 an drei Funktionen zur Auswahl einer Position. Die Dokumentation enthält eine gute Beschreibung dieser Funktionen. Die Art und Weise... Betrachten Sie es nicht als unhöflich.

 
Ramiz Mavludov:
Entschuldigung, ich habe vergessen, die Kontoart "Absicherung" anzugeben.

Vorheriger Code vonCandle Breakdown 3, Funktion CalculatePositions, Gesamtgewinn

//+------------------------------------------------------------------+
//| Calculate positions Buy and Sell                                 |
//+------------------------------------------------------------------+
void CalculatePositions(int &count_buys,int &count_sells,double &profit)
  {
   count_buys=0;
   count_sells=0;
   profit=0.0;

   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
           {
            profit+=m_position.Commission()+m_position.Swap()+m_position.Profit();
            if(m_position.PositionType()==POSITION_TYPE_BUY)
               count_buys++;

            if(m_position.PositionType()==POSITION_TYPE_SELL)
               count_sells++;
           }
//---
   return;
  }

Nach dem Durchlaufen aller Positionen für dieses Symbol und dieses Magic'y zeigt dieGewinnvariable den Gesamtgewinn an.

 
Vladimir Karputov:

Vorheriger Code vonCandle Breakdown 3, Funktion CalculatePositions, Gesamtgewinn

Nachdem alle Positionen für ein bestimmtes Symbol und Magic durchlaufen wurden, zeigt dieGewinnvariable den Gesamtgewinn an.

Danke, Vladimir.

Grund der Beschwerde: