Bibliotecas: MT4Orders - página 75

 
Nauris Zukas POSITION_COMMISSION, leí en el foro que la librería MT4Orders puede hacerlo. Lo probé, pero tampoco funcionó. Puedo escribir una función a través de DEAL_COMMISSION, pero quería aclarar por qué la biblioteca MT4Orders no ayudó?
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>

CPositionInfo m_position;
CSymbolInfo m_symbol;

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

void TestComision(string sy, int op=-1, int mn=-1)
  {
   if(!m_symbol.Name(sy)) // establece el nombre del símbolo
      return;
   m_symbol.RefreshRates();

   for(int i=PositionsTotal()-1; i>=0; i--) // devuelve el número de posiciones abiertas
      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 #:

Gracias, funcionó.

 
Instalado 5 en un vin de 32 ejes. La última edición dio 8 errores. Pero la edición 2018 funciona.
 
Valeriy Yastremskiy #:
Instalado 5 en un vin de 32 ejes. La última edición dio 8 errores. Pero la edición 2018 funciona.

Estaría bien aportar más información técnica. Supongo que la última build x32 de MT5 que funcionaba no soportaba algo todavía. Por ejemplo, MQL_HANDLES_USED.

Yo sólo uso b2958_x64 en combate, y compilar a b3260.
 
fxsaber #:

Sería bueno proporcionar más información técnica. Supongo que la última versión x32 de MT5 no soportaba algo todavía. Por ejemplo, MQL_HANDLES_USED.

Yo solo uso b2958_x64 en combate, y compilo a b3260.

Instalado build 2361 del 8 de marzo de 2020. Sí exactamente MQL_HANDLES_USED en los errores de la última versión. 8 errores. Release // 08.02.2022

compilable sin errores en la versión de 32 bits // 30.05.2018

 
Valeriy Yastremskiy #:

Instalado build 2361 del 8 de marzo de 2020. Sí exactamente MQL_HANDLES_USED en los errores de la última versión. 8 errores. Versión // 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

Gracias, ya no está. También la línea 1281 y 1282. DEAL_SL DEAL_TP variables.

Si usted tiene tiempo. En general, accidentalmente instalado en este portátil 5ku. Y entonces el deseo de probar apareció))))))

 
Valeriy Yastremskiy #:

Gracias, ya no está. También la línea 1281 y 1282. Variables DEAL_SL DEAL_TP

#define  MQL_HANDLES_USED MQL_MEMORY_USED
#define  DEAL_TP DEAL_PRICE
#define  DEAL_SL DEAL_PRICE
#include <MT4Orders.mqh>
El motor del sitio tampoco soporta estos ENUMs - no los resalta en rojo.
 
fxsaber #:
ZY El motor del sitio tampoco soporta estos ENUMs - no los resalta en rojo.

Gracias. No hay errores.

 
Valeriy Yastremskiy #:

Gracias. No hay errores.

Recomiendo Incluir carpeta de b3260 para copiar completamente a terminal x32. MQ ha corregido errores en sus librerías.