Librerías: TradeTransactions - página 9

No sé si se trata de un error por mi parte o si es debido a una nueva directiva del compilador, pero me aparecen los siguientes errores al compilar la biblioteca.

He descargado los archivos individuales de la sección RU.
cannot convert parameter 'uint[]' to 'ONTRADETRANSACTION&[]' ResourceData.mqh 23 21 
   int RESOURCEDATA<ONTRADETRANSACTION>::Get(ONTRADETRANSACTION&[]) const ResourceData.mqh 26 7 
call resolves to 'int RESOURCEDATA<ONTRADETRANSACTION>::Get(ONTRADETRANSACTION&[]) const' instead of 'int RESOURCE::Get(uint&[]) const' due to new rules of method hiding ResourceData.mqh 23 17 
   see declaration of function 'RESOURCEDATA<ONTRADETRANSACTION>::Get' ResourceData.mqh 26 7 
   see declaration of function 'RESOURCE::Get' Resource.mqh 20 7 
cannot convert parameter 'uint[]' to 'ONTRADETRANSACTION&[]' ResourceData.mqh 42 18 
   int RESOURCEDATA<ONTRADETRANSACTION>::Get(ONTRADETRANSACTION&[]) const ResourceData.mqh 26 7 
call resolves to 'int RESOURCEDATA<ONTRADETRANSACTION>::Get(ONTRADETRANSACTION&[]) const' instead of 'int RESOURCE::Get(uint&[]) const' due to new rules of method hiding ResourceData.mqh 42 14 
   see declaration of function 'RESOURCEDATA<ONTRADETRANSACTION>::Get' ResourceData.mqh 26 7 
   see declaration of function 'RESOURCE::Get' Resource.mqh 20 7 
wrong parameters count, 1 passed, but 3 requires TradeTransactions.mqh 72 34 
   ulong TRADETRANSACTIONS::Get(MqlTradeTransaction&,MqlTradeRequest&,MqlTradeResult&) TradeTransactions.mqh 48 9 
call resolves to 'ulong TRADETRANSACTIONS::Get(MqlTradeTransaction&,MqlTradeRequest&,MqlTradeResult&)' instead of 'int RESOURCEDATA<ONTRADETRANSACTION>::Get(ONTRADETRANSACTION&[]) const' due to new rules of hiding method TradeTransactions.mqh 72 34 
   see declaration of function 'TRADETRANSACTIONS::Get' TradeTransactions.mqh 48 9 
   see declaration of function 'RESOURCEDATA<ONTRADETRANSACTION>::Get' ResourceData.mqh 26 7 


En cualquier caso, para resolver los problemas del compilador, cambia lo siguiente:


En ResourceData.mqh:

Sustituye:

return  ( this  . Get(Data) * sizeof  ( uint  ) / sizeof  (T)); 

por:

return  (RESOURCE::Get(Data) * sizeof  ( uint  ) / sizeof  (T)); 

y sustituye:

if  ( this  .Get(Data) && (Pos < ( uint  ) this  .Get(Array))) 

por:

if  (RESOURCE::Get(Data) && (Pos < ( uint  ) this  .Get(Array))) 


En TradeTransaction.mqh:

sustituir:

const  uint  NewTotal = this  .Get(OnTradeTrans); 

por:

c onst  uint  NewTotal = RESOURCEDATA<ONTRADETRANSACTION>::Get(OnTradeTrans); 
Enrique Dangeroux #:

He descargado los archivos individuales de la sección RU.

En la página pone que el código se actualizó el 21 de septiembre de 2026, pero yo no lo he hecho.

Al parecer, MQ lo ha hecho automáticamente en todo el código fuente. Han cambiado la codificación: de UTF-8 a UTF-8 BOM.


La biblioteca llevaba mucho tiempo sin actualizarse. Es cierto que las reglas del compilador han cambiado.