Bibliotheken: TradeTransactions - Seite 9

Ich bin mir nicht sicher, ob dies ein Fehler meinerseits ist oder ob es an einer neuen Compiler-Direktive liegt – beim Kompilieren der Bibliothek erhalte ich die folgenden Fehlermeldungen.

Ich habe die einzelnen Dateien aus dem RU-Bereich heruntergeladen.
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 


Auf jeden Fall: Um die Compiler-Probleme zu beheben, nehmen Sie folgende Änderungen vor:


In ResourceData.mqh:

Ersetzen Sie:

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

durch:

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

und ersetzen:

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

durch:

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


In TradeTransaction.mqh:

Ersetzen:

const  uint  NewTotal = this  .Get(OnTradeTrans); 

durch:

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

Ich habe die einzelnen Dateien aus dem RU-Bereich heruntergeladen.

Auf der Seite steht, dass der Code am 21.09.2026 aktualisiert wurde, aber das habe ich nicht getan.

Anscheinend hat MQ dies automatisch im gesamten Code-Bestand vorgenommen. Sie haben die Kodierung geändert: UTF-8 -> UTF-8 BOM.


Die Bibliothek wurde schon lange nicht mehr aktualisiert. Die Compiler-Regeln haben sich tatsächlich geändert.