Erros, bugs, perguntas - página 315

 

Próximo problema.

Após reinstalação do SO e nova instalação do MT5, os indicadores personalizados que funcionavam antes de pararem de carregar.

Voltou a verificar os parâmetros - tudo está correcto.

Depois tentei carregar um dos indicadores padrão através do iCustom, colocando-o na pasta dos Indicadores de raiz,

mas o código abaixo, quando "#include" está presente, causa um erro de carregamento, no entanto:

- não há erros nas aulas incluídas,

- o código envolvendo estas classes está desactivado para uma compreensão mais simples do erro, e anteriormente funcionava bem,

- sem permitir #incluir o erro de carregamento de um indicador personalizado não ocorre.

#include <..\Experts\_My\Classes\ClassExpert\ClassExpert.mqh>

void OnInit(){
   int HandleIndicator = iCustom(_Symbol,_Period,"RSI",14);                      
   Print("HandleIndicator = ", HandleIndicator);
   if(HandleIndicator==INVALID_HANDLE){
      Print("Handle of RSI is INVALID_HANDLE");
      return;
   };
}

2011.02.23 09:52:41     Core 1  expert removed self when OnInit called
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   Handle of RSI is INVALID_HANDLE
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   HandleIndicator = -1
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   expert removed because custom indicator 'RSI' cannot load [4802]
2011.02.23 09:52:41     Core 1  loading of RSI EURUSD,H1 failed

Não consigo compreender de todo o que está errado.

A mesma coisa acontece da forma habitual, utilizando aulas:

#include <..\Experts\_My\Classes\ClassExpert\ClassExpert.mqh>
ClassExpert Expert1;
void OnInit(){
   Expert1.Init();
   //---
   int HandleIndicator = iCustom(_Symbol,_Period,"RSI",14);                      
   Print("HandleIndicator = ", HandleIndicator);
   if(HandleIndicator==INVALID_HANDLE){
      Print("Handle of RSI is INVALID_HANDLE");
      return;
   };
}

E isto apesar do facto de a versão MT5 build 401 actualmente em uso ter funcionado sem erros com este código tanto em PCs de casa como de escritório (nos quais ainda funciona).

 
DV2010:

Próximo problema.

Após reinstalação do SO e nova instalação do MT5, os indicadores personalizados que funcionavam antes de pararem de carregar.

Voltou a verificar os parâmetros - tudo está correcto.

Depois tentei carregar um dos indicadores padrão através do iCustom, colocando-o na pasta dos Indicadores de raiz,

mas o código abaixo, na presença de "#include" leva a um erro de carregamento, embora não haja erros nas classes incluídas,

o código com eles para simplificar a compreensão das razões do erro não é utilizado agora, enquanto anteriormente funcionava bem:

- causa um erro de carga:

Não consigo de todo compreender o problema.
Por favor, escreva para o Service Desk e anexe todos os ficheiros-fonte. Tentei reproduzi-lo no meu, mas não funciona - não tenho os vossos ficheiros de inclusão.
 
Rosh: Пожалуйста, напишите в Сервисдеск и приложите все исходники. Я пытался воспроизвести у себя, но не получилось - у меня нет ваших включаемых файлов. 

Rosh, obrigado, mas ao passar do modelo mais simples com um mínimo de código para o modelo completo através da inclusão sucessiva de partes separadas do código, consegui devolver uma versão funcional (caso contrário teria de anexar mais de cinquenta dos meus ficheiros, pois o sistema recusou-se a aceitar o arquivo raro). No entanto, para ser honesto, não compreendi exactamente qual foi o erro.

 
DV2010:

(caso contrário, teria de anexar mais de cinquenta dos meus próprios ficheiros, pois o sistema recusava-se a aceitar arquivos raros ).


Tamanho máximo de descarga: 16 MB, não mais de 10 anexos (.gif .png .jpg .jpeg . zip.txt .log .mqh .ex5 .mq5 .mq4 .ex4 .flv .mt5)
 

Olá, hoje ao escrever um número em formato duplo no terminal de variáveis globais (manualmente) 88,71 após premir Enter, vejo o valor 88,709999999, enquanto que noutra variável global registo 87,80 e após premir Enter o valor tomou, como deveria, 87,8. E ao escrever um valor com 4 casas decimais, recebo um valor com 4 caracteres. Construir 401.

P.S. Em princípio, esta representação do número para ler o perito é susceptível de ser entendida como pretendida, mas ler uma pessoa de alguma forma não é agradável.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
kirill190982:

Olá, hoje ao escrever um número em formato duplo no terminal de variáveis globais (manualmente) 88,71 após premir Enter, vejo o valor 88,709999999, enquanto que noutra variável global registo 87,80 e após premir Enter o valor tomou, como deveria, 87,8. E ao escrever um valor com 4 casas decimais, recebo um valor com 4 caracteres. Construir 401.

P.S. Em princípio, esta representação do número para ler o perito é susceptível de ser entendida como pretendida, mas ler uma pessoa de alguma forma não é agradável.

https://www.mql5.com/ru/docs/basis/types/double

https://www.mql5.com/ru/articles/1561

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 

Obrigado, mas gostaria de ver os números na sua forma habitual e deixar a máquina contar os números como deve

 
kirill190982:

Obrigado, mas gostaria de ver os números na sua forma habitual e deixar a máquina contar os números como deve

https://www.mql5.com/ru/docs/convert/doubletostring

sem perfeição no mundo....

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
Преобразование данных / DoubleToString - Документация по MQL5
 
AlexSTAL:

https://www.mql5.com/ru/docs/convert/doubletostring

não há perfeição no mundo....

Há :) Não há nada de errado com esta questão em VB.NET. Embora, lembro-me do que disse sobre o tamanho do pessoal da Microsoft :)
 
-Alexey-:
Há :) Não há nada de errado com esta questão em VB.NET.

A questão é a que custo ))))

Muitas vezes só vemos a ponta do iceberg....

http://msdn.microsoft.com/ru-ru/library/system.decimal.aspx

P.S. Não há maneira de implementar isto da maneira normal! Tem de compreender como os números de ponto flutuante são armazenados para isso! Só se pode recorrer a truques artificiais....

Decimal - структура (System)
Decimal - структура (System)
  • msdn.microsoft.com
Пространство имен: System Сборка: (в mscorlib.dll) Тип предоставляет следующие члены. ИмяОписание В начало страницы ИмяОписание (Переопределяет ValueTypeEquals(Object).) Преобразует заданное 64-разрядное целое число со знаком, соответствующее значению денежного типа OLE-автоматизации, в эквивалентное значение типа...
Razão: