//+------------------------------------------------------------------+//| Classe principale pour lire le fichier opt et l'exporter au format CSV.//+------------------------------------------------------------------+class OptReader
{
TesterOptCacheHeader header;
TestCacheInputExtended inputs[];
uchar bufferOfInputs[];
int shapshot[];
AutoPtr<RecordBase> records;
bool read(constint handle)
{
SAFE(FileReadStruct(handle, header));
if(header.parameters_total)
{
TestCacheInput temp[];
SAFE(FileReadArray(handle, temp, 0, header.parameters_total));
constint n = ArrayResize(inputs, header.parameters_total);
for(int i = 0; i < n; ++i)
{
inputs[i] = temp[i]; // Impossible de convertir le paramètre 'TestCacheInput' en 'const TestCacheInputExtended&'
inputs[i].extend();
}
}
//+------------------------------------------------------------------+//| Input struct with stringified fields |//+------------------------------------------------------------------+struct TestCacheInputExtended: public TestCacheInput
{
using TestCacheInput::operator=;
Bien entendu, vous devrez télécharger les fichiers de la bibliothèque incluse pour reproduire les problèmes.
Personnellement, j'ai utilisé une solution de contournement pour obtenir ce dont j'ai besoin dans mon code. Mon but ici est de m'assurer que la documentation est maintenue à jour.
Bien sûr, MQL5 est en constante évolution, et malheureusement MQ le fait d'une manière qui brise souvent la rétro-compatibilité. Je ne pense pas que ce soit une bonne façon d'améliorer la plateforme, mais de toute façon, la seule chose que nous puissions faire est de corriger les problèmes par des patchs, en fonction de la nouvelle syntaxe. Par exemple, dans ce cas, il suffit d'ajouter la ligne suivante :
struct MqlCalendarRecord: publicMqlCalendarValue
{
using MqlCalendarValue::operator=;
...
};
Suivez les nouvelles officielles concernant les changements dans la syntaxe de MQL5.
C'est exactement ce dont j'avais besoin.
S'il vous plaît, assurez-vous que vous avez obtenu la dernière mise à jour, parce que vous avez cité pas le plus récent publié sur ce fil.
S'il vous plaît, corrigez le problème.
Je vous remercie. Je l'ai corrigé un peu différemment.
C'est plus pratique et plus logique, car extend() n'a pas besoin d'être appelé explicitement.
NB : le fichier joint contient d'autres modifications utiles.
Merci. Je l'ai corrigé un peu différemment.
C'est plus pratique et plus logique, car extend() n'a pas besoin d'être appelé explicitement.
NB : le fichier joint contient d'autres modifications utiles.
Transféré d'un autre sujet :
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
CalendarRecordById.mq5 - Erreurs
Ryan L Johnson, 2025.12.19 17:44
@MetaQuotes Support, l'indicateur de calendrier référencé ci-dessus publié dans le contenu du MQL5 Book semble contenir du code obsolète.
Le fichier est référencé à Reading event records by ID - Advanced language tools - MQL5 Programming for Traders.
Le fichier lui-même se trouve à l'adresse suivante : https://www.mql5.com/fr/code/download/45596/CalendarRecordById.mq5.
Bien entendu, vous devrez télécharger les fichiers de la bibliothèque incluse pour reproduire les problèmes.
Personnellement, j'ai utilisé une solution de contournement pour obtenir ce dont j'ai besoin dans mon code. Mon but ici est de m'assurer que la documentation est maintenue à jour.
Transmis depuis un autre sujet :
Bien sûr, MQL5 est en constante évolution, et malheureusement MQ le fait d'une manière qui brise souvent la rétro-compatibilité. Je ne pense pas que ce soit une bonne façon d'améliorer la plateforme, mais de toute façon, la seule chose que nous puissions faire est de corriger les problèmes par des patchs, en fonction de la nouvelle syntaxe. Par exemple, dans ce cas, il suffit d'ajouter la ligne suivante :
Suivez les nouvelles officielles concernant les changements dans la syntaxe de MQL5.