Fehler, Irrtümer, Fragen - Seite 315

 

Nächstes Problem.

Nach einer Neuinstallation des Betriebssystems und einer neuen MT5-Installation werden die benutzerdefinierten Indikatoren, die vorher funktionierten, nicht mehr geladen.

Ich habe die Parameter erneut überprüft - alles ist korrekt.

Dann habe ich versucht, einen der Standardindikatoren über iCustom zu laden, indem ich ihn in den Stammordner Indicators legte,

aber der nachstehende Code verursacht einen Ladefehler, wenn "#include" vorhanden ist:

- Es gibt keine Fehler bei den eingeschlossenen Klassen,

- der Code, der diese Klassen beinhaltet, ist deaktiviert, um den Fehler besser verstehen zu können, und vorher hat er gut funktioniert,

- ohne die Aktivierung von #include tritt der Fehler beim Laden eines benutzerdefinierten Indikators nicht auf.

#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

Ich kann überhaupt nicht verstehen, was los ist.

Das Gleiche geschieht auf die übliche Art und Weise, nämlich mit Klassen:

#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;
   };
}

Und das, obwohl die derzeit verwendete MT5-Build-401-Version mit diesem Code sowohl auf dem Heim- als auch auf dem Büro-PC (auf dem er immer noch funktioniert) fehlerfrei funktionierte.

 
DV2010:

Nächstes Problem.

Nach einer Neuinstallation des Betriebssystems und einer neuen MT5-Installation werden die benutzerdefinierten Indikatoren, die vorher funktionierten, nicht mehr geladen.

Ich habe die Parameter erneut überprüft - alles ist korrekt.

Dann habe ich versucht, einen der Standardindikatoren über iCustom zu laden, indem ich ihn in den Stammordner Indicators legte,

aber der nachstehende Code führt bei Vorhandensein von "#include" zu einem Fehler beim Laden, obwohl in den eingeschlossenen Klassen keine Fehler auftreten,

der Code mit ihnen, um das Verständnis der Fehlerursachen zu vereinfachen, wird jetzt nicht verwendet, während es vorher gut funktionierte:

- verursacht einen Ladefehler:

Ich kann überhaupt nicht herausfinden, was los ist.
Bitte schreiben Sie an Service Desk und fügen Sie alle Quelldateien bei. Ich habe versucht, es in meinem zu reproduzieren, aber es funktioniert nicht - ich habe Ihre Include-Dateien nicht.
 
Rosh: Пожалуйста, напишите в Сервисдеск и приложите все исходники. Я пытался воспроизвести у себя, но не получилось - у меня нет ваших включаемых файлов. 

Rosh, vielen Dank, aber indem ich vom einfachsten Modell mit einem Minimum an Code zum vollständigen Modell überging, indem ich nach und nach einzelne Teile des Codes einfügte, gelang es mir, eine funktionierende Version zurückzugeben (sonst hätte ich mehr als fünfzig meiner Dateien anhängen müssen, weil das System sich weigerte, das rar-Archiv zu akzeptieren). Um ehrlich zu sein, habe ich jedoch nicht verstanden, worin genau der Fehler bestand.

 
DV2010:

(sonst hätte ich mehr als fünfzig meiner eigenen Dateien anhängen müssen, da das System sich weigerte, rar-Archive zu akzeptieren).


Maximale Downloadgröße: 16 MB, nicht mehr als 10 Anhänge (.gif .png .jpg .jpeg .zip.txt .log .mqh .ex5 .mq5 .mq4 .ex4 .flv .mt5)
 

Hallo, heute beim Schreiben einer Zahl im doppelten Format in globalen Variablen Terminal (manuell) 88,71 nach dem Drücken der Eingabetaste, sehe ich den Wert 88,709999999, während in einer anderen globalen Variable Rekord 87,80 und nach dem Drücken der Eingabetaste der Wert nahm, wie es sollte, 87,8. Und wenn ich einen Wert mit 4 Dezimalstellen schreibe, erhalte ich einen Wert mit 4 Zeichen. Bauen Sie 401.

P.S. Im Prinzip ist diese Darstellung der Zahl, um den Experten zu lesen wahrscheinlich als beabsichtigt wahrgenommen werden, aber eine Person irgendwie nicht schön zu lesen.

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

Hallo, heute beim Schreiben einer Zahl im doppelten Format in globalen Variablen Terminal (manuell) 88,71 nach dem Drücken der Eingabetaste, sehe ich den Wert 88,709999999, während in einem anderen globalen Variable Rekord 87,80 und nach dem Drücken der Eingabetaste, der Wert erhalten hat, wie es sollte, 87,8. Und wenn ich einen Wert mit 4 Dezimalstellen schreibe, erhalte ich einen Wert mit 4 Zeichen. Bauen Sie 401.

P.S. Im Prinzip ist diese Darstellung der Zahl, um den Experten zu lesen wahrscheinlich als beabsichtigt wahrgenommen werden, aber eine Person irgendwie nicht schön zu lesen.

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
 

Danke, aber ich möchte die Zahlen in ihrer üblichen Form sehen und die Maschine die Zahlen so zählen lassen, wie sie sollte.

 
kirill190982:

Danke, aber ich würde die Zahlen gerne in ihrer üblichen Form sehen und die Maschine die Zahlen so zählen lassen, wie sie es sollte

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

keine Perfektion in der Welt....

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

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

Es gibt keine Vollkommenheit in der Welt....

Es gibt sie :) In VB.NET gibt es keine Probleme mit diesem Thema. Allerdings erinnere ich mich an Ihre Worte über die Größe des Personals von Microsoft :)
 
-Alexey-:
Es gibt sie :) In VB.NET gibt es keine Probleme mit diesem Thema.

Die Frage ist, zu welchem Preis ))))

Oft sehen wir nur die Spitze des Eisbergs....

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

P.S. Es gibt keine Möglichkeit, dies auf normalem Wege zu implementieren! Dazu muss man wissen, wie Fließkommazahlen gespeichert werden! Sie können nur auf künstliche Tricks zurückgreifen....

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