//+------------------------------------------------------------------+//| Classe principal para ler o opt-file e exportá-lo para CSVs//+------------------------------------------------------------------+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]; // não é possível converter o parâmetro 'TestCacheInput' em 'const TestCacheInputExtended&'
inputs[i].extend();
}
}
//+------------------------------------------------------------------+//| Estrutura de entrada com campos em formato de string//+------------------------------------------------------------------+struct TestCacheInputExtended: public TestCacheInput
{
using TestCacheInput::operator=;
Obviamente, você precisará fazer o download dos arquivos de biblioteca incluídos para reproduzir os problemas.
Pessoalmente, usei uma solução alternativa para obter o que preciso em meu código. Meu objetivo aqui é garantir que a documentação seja mantida atualizada.
É claro que o MQL5 está mudando constantemente e, infelizmente, o MQ faz isso de uma forma que muitas vezes quebra a compatibilidade com versões anteriores. Eu não acho que essa seja uma maneira adequada de melhorar a plataforma, mas de qualquer forma - a única coisa que podemos fazer é corrigir os problemas por meio de patches, de acordo com a nova sintaxe. Por exemplo, nesse caso, basta adicionar uma única linha:
struct MqlCalendarRecord: publicMqlCalendarValue
{
using MqlCalendarValue::operator=;
...
};
Basta seguir as notícias oficiais sobre as alterações na sintaxe MQL5.
Isso é exatamente o que eu precisava.
Certifique-se de ter recebido a atualização mais recente, pois você citou não a mais recente publicada neste tópico.
Por favor, conserte isso.
Obrigado. Fiz a correção de forma um pouco diferente.
É mais conveniente e lógico, porque extend() não precisa ser chamado explicitamente.
NB: o arquivo anexado contém outras edições úteis.
Obrigado. Corrigi de forma um pouco diferente.
É mais conveniente e lógico, porque extend() não precisa ser chamado explicitamente.
NB: o arquivo anexado contém outras edições úteis.
Encaminhado de outro tópico:
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
CalendarRecordById.mq5 - Erros
Ryan L Johnson, 2025.12.19 17:44
@MetaQuotes Support, o indicador de calendário mencionado acima, publicado no conteúdo do livro MQL5, parece conter código obsoleto.
O arquivo é referenciado em Reading event records by ID - Advanced language tools - MQL5 Programming for Traders.
O arquivo, em si, está em: https: //www.mql5.com/en/code/download/45596/CalendarRecordById.mq5.
Obviamente, você precisará fazer o download dos arquivos de biblioteca incluídos para reproduzir os problemas.
Pessoalmente, usei uma solução alternativa para obter o que preciso em meu código. Meu objetivo aqui é garantir que a documentação seja mantida atualizada.
Encaminhado de outro tópico:
É claro que o MQL5 está mudando constantemente e, infelizmente, o MQ faz isso de uma forma que muitas vezes quebra a compatibilidade com versões anteriores. Eu não acho que essa seja uma maneira adequada de melhorar a plataforma, mas de qualquer forma - a única coisa que podemos fazer é corrigir os problemas por meio de patches, de acordo com a nova sintaxe. Por exemplo, nesse caso, basta adicionar uma única linha:
Basta seguir as notícias oficiais sobre as alterações na sintaxe MQL5.