Bibliotecas: TradeTransactions - página 9

Não sei se isso é um erro meu ou se é devido a uma nova diretiva do compilador, mas estou recebendo os seguintes erros ao compilar a biblioteca.

Eu baixei os arquivos individuais da seção 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 


De qualquer forma, para resolver os problemas do compilador, altere o seguinte:


No ResourceData.mqh:

Substitua:

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

por:

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

e substitua:

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

por:

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


No TradeTransaction.mqh:

substituir:

const  uint  NewTotal = this  .Get(OnTradeTrans); 

por:

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

Eu baixei os arquivos individuais da seção RU.

A página informa que o código foi atualizado em 21/09/2026, mas eu não fiz isso.

Aparentemente, a MQ fez isso automaticamente em toda a base de código. Eles alteraram a codificação: UTF-8 -> UTF-8 BOM.


A biblioteca não é atualizada há muito tempo. As regras do compilador, de fato, mudaram.