Bibliotheken: MT4Orders - Seite 75

 

Als ich feststellte, dass ich die Provision nicht über POSITION_COMMISSION erhalten würde, las ich im Forum, dass die MT4Orders-Bibliothek dies tun kann. Ich habe es getestet, aber es hat auch nicht funktioniert. Ich kann eine Funktion über DEAL_COMMISSION schreiben, aber ich wollte klären, warum die MT4Orders Bibliothek nicht geholfen hat?

void TestComision(string sy, int op=-1, int mn=-1)
  {
   if(!m_symbol.Name(sy)) // setzt den Symbolnamen
      return;
   m_symbol.RefreshRates();

   for(int i=PositionsTotal()-1; i>=0; i--) // gibt die Anzahl der offenen Positionen zurück
      if(m_position.SelectByIndex(i))
         if((m_position.Symbol()==sy || sy=="") && (op<0 || m_position.PositionType()==op))
            if(mn<0 || m_position.Magic()==mn)
               if(m_position.PositionType()==POSITION_TYPE_SELL)
                 {
                  Print(i," sy: ",sy,"-88880- mProfit: ",m_position.Profit()," MT4OrderCommission(): ",OrderCommission());
                 }

  }
2020.04.14 23:45:00   5 sy: AUDNZD-88880- mProfit: 7.84 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   4 sy: AUDNZD-88880- mProfit: -11.72 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   3 sy: AUDNZD-88880- mProfit: -14.51 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   2 sy: AUDNZD-88880- mProfit: -11.25 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   1 sy: AUDNZD-88880- mProfit: -7.48 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   0 sy: AUDNZD-88880- mProfit: -10.17 MT4OrderCommission(): 0.0
 
Nauris Zukas POSITION_COMMISSION erhalten würde, las ich im Forum, dass die MT4Orders-Bibliothek dies tun kann. Ich habe es getestet, aber es hat auch nicht funktioniert. Ich kann eine Funktion über DEAL_COMMISSION schreiben, aber ich wollte klären, warum die MT4Orders Bibliothek nicht geholfen hat?
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>

CPositionInfo m_position;
CSymbolInfo m_symbol;

#include <MT4Orders.mqh> // https://www.mql5.com/de/code/16006

void TestComision(string sy, int op=-1, int mn=-1)
  {
   if(!m_symbol.Name(sy)) // setzt den Symbolnamen
      return;
   m_symbol.RefreshRates();

   for(int i=PositionsTotal()-1; i>=0; i--) // gibt die Anzahl der offenen Positionen zurück
      if(m_position.SelectByIndex(i))
         if((m_position.Symbol()==sy || sy=="") && (op<0 || m_position.PositionType()==op))
            if(mn<0 || m_position.Magic()==mn)
               if(m_position.PositionType()==POSITION_TYPE_SELL)
                 {
                  OrderSelect(INT_MAX, SELECT_BY_POS);
                  
                  Print(i," sy: ",sy,"-88880- mProfit: ",m_position.Profit()," MT4OrderCommission(): ",OrderCommission());
                 }

  }

void OnStart()
{
  TestComision(_Symbol);
}
 
fxsaber #:

Danke, es hat funktioniert.

 
Installiert 5 auf einer 32-Achsen-Vin. Die letzte Ausgabe gab 8 Fehler. Aber die 2018er Ausgabe funktioniert.
 
Valeriy Yastremskiy #:
Installiert 5 auf einer 32-Achsen-Vin. Die letzte Ausgabe gab 8 Fehler. Aber die 2018er Ausgabe funktioniert.

Es wäre gut, mehr technische Informationen zu liefern. Ich nehme an, dass die letzte funktionierende x32-Build von MT5 etwas noch nicht unterstützt hat. Zum Beispiel, MQL_HANDLES_USED.

Ich verwende nur b2958_x64 im Kampf und kompiliere nach b3260.
 
fxsaber #:

Es wäre gut, wenn Sie mehr technische Informationen zur Verfügung stellen könnten. Ich nehme an, dass der letzte funktionierende x32-Build von MT5 etwas noch nicht unterstützt hat. Zum Beispiel, MQL_HANDLES_USED.

Ich benutze nur b2958_x64 im Kampf, und kompiliere nach b3260.

Habe den Build 2361 vom 8. März 2020 installiert. Ja genau MQL_HANDLES_USED in den Fehlern der letzten Version. 8 Fehler. Freigabe // 08.02.2022

kompilierbar ohne Fehler auf 32-bit Release // 30.05.2018

 
Valeriy Yastremskiy #:

Installiert Build 2361 vom 8. März 2020. Ja genau MQL_HANDLES_USED in den Fehlern der neuesten Version. 8 Fehler. Freigabe // 08.02.2022

#define  MQL_HANDLES_USED MQL_MEMORY_USED
#include <MT4Orders.mqh>
 
fxsaber #:
'DEAL_SL' - undeclared identifier       MT4Orders2021.mqh       1281    89
'HistoryDealGetDouble' - no one of the overloads can be applied to the function call    MT4Orders2021.mqh       1281    60
could be one of 2 function(s)   MT4Orders2021.mqh       1281    60
   built-in: double HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE)       MT4Orders2021.mqh       1281    60
   built-in: bool HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE,double&) MT4Orders2021.mqh       1281    60
'DEAL_TP' - undeclared identifier       MT4Orders2021.mqh       1282    91
'HistoryDealGetDouble' - no one of the overloads can be applied to the function call    MT4Orders2021.mqh       1282    62
could be one of 2 function(s)   MT4Orders2021.mqh       1282    62
   built-in: double HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE)       MT4Orders2021.mqh       1282    62
   built-in: bool HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE,double&) MT4Orders2021.mqh       1282    62

Danke, es ist weg. Auch Zeile 1281 und 1282. DEAL_SL DEAL_TP Variablen.

Wenn Sie Zeit haben. Im Allgemeinen, versehentlich auf diesem Notebook installiert 5ku. Und dann der Wunsch zu testen erschien))))))

 
Valeriy Yastremskiy #:

Danke, es ist weg. Auch Zeile 1281 und 1282. Variablen DEAL_SL DEAL_TP

#define  MQL_HANDLES_USED MQL_MEMORY_USED
#define  DEAL_TP DEAL_PRICE
#define  DEAL_SL DEAL_PRICE
#include <MT4Orders.mqh>
Die Site-Engine unterstützt diese ENUMs auch nicht - sie hebt sie nicht rot hervor.
 
fxsaber #:
ZY Die Site-Engine unterstützt diese ENUMs auch nicht - sie hebt sie nicht in rot hervor.

Danke. Keine Fehler.