Errori, bug, domande - pagina 315

 

Prossimo problema.

Dopo la reinstallazione del sistema operativo e la nuova installazione di MT5, gli indicatori personalizzati che funzionavano prima hanno smesso di caricarsi.

Ho ricontrollato i parametri - tutto è corretto.

Poi ho provato a caricare uno degli indicatori standard attraverso iCustom, mettendolo nella cartella principale Indicators,

ma il codice qui sotto, quando "#include" è presente, causa un errore di caricamento, però:

- non ci sono errori nelle classi incluse,

- il codice che coinvolge queste classi è disabilitato per una comprensione più semplice dell'errore, e prima funzionava bene,

- senza abilitare #include l'errore di caricare un indicatore personalizzato non si verifica.

#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

Non riesco proprio a capire cosa c'è che non va.

La stessa cosa avviene nel solito modo, usando le classi:

#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 questo nonostante il fatto che la versione MT5 build 401 attualmente in uso funzionava senza errori con questo codice sia sul PC di casa che su quello dell'ufficio (sul quale funziona ancora).

 
DV2010:

Prossimo problema.

Dopo la reinstallazione del sistema operativo e la nuova installazione di MT5, gli indicatori personalizzati che funzionavano prima hanno smesso di caricarsi.

Ho ricontrollato i parametri - tutto è corretto.

Poi ho provato a caricare uno degli indicatori standard attraverso iCustom, mettendolo nella cartella principale Indicators,

ma il codice qui sotto, in presenza di "#include" porta ad un errore di caricamento, anche se non ci sono errori nelle classi incluse,

il codice con loro per semplificare la comprensione dei motivi di errore non viene utilizzato ora, mentre prima funzionava bene:

- causa un errore di caricamento:

Non riesco proprio a capire cosa c'è che non va.
Si prega di scrivere al Service Desk e di allegare tutti i file di origine. Ho provato a riprodurlo nel mio, ma non funziona - non ho i tuoi file include.
 
Rosh: Пожалуйста, напишите в Сервисдеск и приложите все исходники. Я пытался воспроизвести у себя, но не получилось - у меня нет ваших включаемых файлов. 

Rosh, grazie, ma passando dal modello più semplice con un minimo di codice a quello completo per inclusione successiva di parti separate del codice sono riuscito a restituire una versione funzionante (altrimenti avrei dovuto allegare più di cinquanta dei miei file, perché il sistema ha rifiutato di accettare l'archivio rar). Tuttavia, ad essere onesti, non ho capito quale fosse esattamente l'errore.

 
DV2010:

(altrimenti avrei dovuto allegare più di cinquanta dei miei file, poiché il sistema si rifiutava di accettare gli archivi rar ).


Dimensione massima del download: 16 MB, non più di 10 allegati (.gif .png .jpg .jpeg .zip.txt .log .mqh .ex5 .mq5 .mq4 .ex4 .flv .mt5)
 

Ciao, oggi scrivendo un numero in formato doppio in variabili globali terminale (manualmente) 88.71 dopo aver premuto Invio, vedo il valore 88.709999999, mentre in un'altra variabile globale registrare 87.80 e dopo aver premuto Invio il valore ha preso, come dovrebbe, 87.8. E quando scrivo un valore con 4 decimali, ricevo un valore con 4 caratteri. Costruire 401.

P.S. In linea di principio, questa rappresentazione del numero per leggere l'esperto è probabile che sia percepito come inteso, ma per leggere una persona in qualche modo non bello.

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

Ciao, oggi scrivendo un numero in formato doppio in variabili globali terminale (manualmente) 88.71 dopo aver premuto Invio, vedo il valore 88.709999999, mentre in un'altra variabile globale registrare 87.80 e dopo aver premuto Invio il valore ha preso, come dovrebbe, 87.8. E quando scrivo un valore con 4 decimali, ricevo un valore con 4 caratteri. Costruire 401.

P.S. In linea di principio, questa rappresentazione del numero per leggere l'esperto è probabile che sia percepito come inteso, ma per leggere una persona in qualche modo non bello.

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
 

Grazie, ma vorrei vedere i numeri nella loro forma abituale e lasciare che la macchina conti i numeri come dovrebbe

 
kirill190982:

Grazie, ma vorrei vedere i numeri nella loro forma abituale e lasciare che la macchina conti i numeri come dovrebbe

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

nessuna perfezione nel mondo....

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

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

non c'è perfezione nel mondo....

C'è :) Non c'è niente di sbagliato in questo problema in VB.NET. Anche se ricordo quello che hai detto sulle dimensioni dello staff di Microsoft :)
 
-Alexey-:
C'è :) Non c'è niente di sbagliato in questo problema in VB.NET.

La domanda è a quale costo ))))

Spesso vediamo solo la punta dell'iceberg ....

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

P.S. Non c'è modo di implementare questo nel modo normale! Bisogna capire come vengono memorizzati i numeri in virgola mobile per questo! Si può andare solo per i trucchi artificiali....

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