Fehler, Irrtümer, Fragen - Seite 170

 

Hallo. Ich habe dieses Problem, vielleicht ist es ein einfaches, aber ich bin schon erschöpft.

Ich habe den Expert Advisor in der Historie getestet und es erscheint immer wieder diese Fehlermeldung

12:17:41 TIC: erfolgreich geladen
12:19:07 Test Generator: Nicht übereinstimmende Datenfehler (Tiefstwert 87.6580 am 2010.07.08 00:00 wird nicht vom niedrigsten Zeitrahmen erreicht, Tiefstpreis 87.6590 stimmt nicht überein)
12:19:07 Test Generator: Fehler bei nicht übereinstimmenden Daten (Volumengrenze 6029 am 30.08.2010 12:00 überschritten)
12:19:09 Test Generator: Nicht übereinstimmende Datenfehler (Hochwert 81.8880 am 2010.10.12 16:00 wird nicht vom niedrigsten Zeitrahmen erreicht, Hochpreis 81.8470 stimmt nicht überein)
12:19:09 Test Generator: Nicht übereinstimmende Datenfehler (Tiefstwert 81.6610 am 2010.10.12 16:00 wird nicht vom niedrigsten Zeitrahmen erreicht, Tiefstpreis 81.7620 stimmt nicht überein)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Geringe Lautstärke, hohe Lautstärke, ich weiß nicht, welche Werte ich ändern soll.

Ich änderte MiniLotSize auf 0,1 und 1 und 0,01, änderte auch MaxLotSize und setzte es auf 0 (Broker-Einstellungen), aber es ist immer noch nicht Handel,

Völliges Versagen... Ich weiß nicht, welche Werte ich ändern soll... Hilfe. Ich würde es wirklich zu schätzen wissen...

 
A2dn:

Hallo. Ich habe dieses Problem, vielleicht ist es ein einfaches, aber ich bin schon erschöpft.

Ich habe die EA auf die Geschichte getestet und ich halte diesen Fehler erhalten

12:17:41 TIC: erfolgreich geladen
12:19:07 Test Generator: Nicht übereinstimmende Datenfehler (Tiefstwert 87.6580 am 2010.07.08 00:00 wird nicht vom niedrigsten Zeitrahmen erreicht, Tiefstpreis 87.6590 stimmt nicht überein)
12:19:07 Test Generator: Fehler bei nicht übereinstimmenden Daten (Volumengrenze 6029 am 30.08.2010 12:00 überschritten)
12:19:09 Test Generator: Fehler bei nicht übereinstimmenden Daten (Höchstwert 81.8880 am 2010.10.12 16:00 wird vom niedrigsten Zeitrahmen nicht erreicht, Höchstpreis 81.8470 stimmt nicht überein)
12:19:09 Test Generator: Nicht übereinstimmende Datenfehler (Tiefstwert 81.6610 am 2010.10.12 16:00 wird vom niedrigsten Zeitrahmen nicht erreicht, Tiefstpreis 81.7620 stimmt nicht überein)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Geringe Lautstärke, hohe Lautstärke, ich weiß nicht, welche Werte ich ändern soll.

Ich änderte MiniLotSize auf 0,1 und 1 und 0,01, änderte auch MaxLotSize und setzte es auf 0 (Broker-Einstellungen), aber es ist immer noch nicht Handel,

Völliges Versagen... Ich weiß nicht, welche Werte ich ändern soll... Hilfe. Ich würde es wirklich zu schätzen wissen...

Diese Meldungen deuten auf eine Inkonsistenz der historischen Daten verschiedener Zeiträume hin. Die Handelseinstellungen haben damit nichts zu tun. Laden Sie einfach alle Daten manuell erneut herunter.

PS Diese Frage bezieht sich auf MT4 und nicht auf MQL5

 
stringo:

Die Funktion ChartGetInteger(chartID,CHART_WIDTH_IN_PIXELS) gibt bei maximierten Diagrammen die Fenstergröße vor der Maximierung aus, wenn der Screenshot nicht vom aktuellen Diagramm gemacht wird, was falsch erscheint.
 

Ich füge den Indikator mit der Funktion ChartIndicatorAdd() zum Diagramm hinzu. Jetzt kann ich nicht herausfinden, mit welcher Funktion ich sie aus dem Diagramm entfernen kann.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 

Planen die Entwickler die Übergabe eines Parameters beim Aufruf eines (neuen) Klassenkonstruktors? Es ist problematisch, mit dynamischen Arrays in Klassen zu arbeiten.

die Zugriffsangabe "private" bei der Vererbung verbirgt nicht die Methoden des Elternteils mit der Angabe "public", wenn ich mich nicht irre, sollte es nicht so sein

ZS: Korrigieren Sie die Hilfe - Beispiel: "MQL5-Referenz / Sprachgrundlagen / Objektorientierte Programmierung / Vererbung".

Пример:

//--- Базовый класс Фигура
class CShape{}
  {.........

und darunter

//--- производный класс Круг
class CCircle{} : public CShape        // после двоеточия указывается базовый класс,
  {.................

{} lässt sich nicht kompilieren

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

An die Entwickler.

Es wurde festgestellt, dass PositionsTotal() und OrdersTotal() im Initialisierungsblock nicht korrekt funktionieren (zumindest meiner Meinung nach nicht korrekt).

Wo liegt das Problem?

Wenn die Initialisierung nach dem Wechsel des Handelskontos erfolgt, _UninitReason = 6(REASON_ACCOUNT), dann geben diese Funktionen 0 zurück.

Obwohl die Positionen und Aufträge tatsächlich existieren.

PS

Ich habe erlaubt, bei einem Kontowechsel zu handeln und habe eine gewisse Kontrolle über den ersten Start des Experten.

Der Expert Advisor sieht also, dass dies der erste Start auf einem neuen Konto ist, kann aber nicht feststellen, ob die Positionen und Aufträge im Initialisierungsblock existieren oder nicht.

Zumindest im Block der Tick-Verarbeitung funktioniert alles gut, und diese Funktionen liefern echte Daten über die Anzahl der Positionen und Aufträge.

Es scheint zu funktionieren, aber es funktioniert seltsam, nicht einmal ab und zu, sondern gelegentlich. Manchmal funktioniert es, manchmal nicht...


PPS

So wie ich es verstanden habe, wird es durch Einschlafen für eine bestimmte Anzahl von Sekunden behandelt, jetzt muss ich herausfinden, für wie viele Sekunden...
 
IgorM:

ZS: Korrigieren Sie die Hilfe - Beispiel:"MQL5 Referenz / Grundlagen der Sprache / Objektorientierte Programmierung / Vererbung "

und darunter

{} lässt sich nicht kompilieren.

Danke für den Hinweis, er wurde korrigiert.
 
Rosh:
Danke für den Hinweis, wir haben ihn korrigiert.

vielleicht habe ich es in meinem letzten Beitrag nicht ganz erklärt, aber bei der Arbeit mit Klassenkonstruktoren war es normalerweise so

http://www.delphisources.ru/pages/faq/faq_delphi_basics/Constructor.php.html oder http://ru.wikipedia.org/wiki/Конструктор_(Programmierung)

Ich war unangenehm überrascht (MQL5 Reference / Language Fundamentals / Data Types / Structures and Classes ), über die Einschränkung:

"Konstruktor hat keinen Rückgabetyp (Sie können den Typ void angeben). In MQL5 haben die Konstruktoren keine Eingabeparameter. Daher kann jede Klasse nur einen Konstruktor haben."

Aber mit einem Standard-Konstruktor (d.h. nicht meine eigenen erstellen, meine Klasse verwendet dynamische Speicherzuweisung für Arrays) die "Array out of Range"-Fehler auftritt, die nicht auftreten, wenn die Klasse Typ-Variable deklariert ist - d.h. ohne Verwendung der neuen Operator

//index_currency    aud,cad; // работает
index_currency    *aud,*cad; // не работает

int OnInit(){
   aud = new index_currency; cad = new index_currency; // неправильно работает
   aud.create(AUDX,100,PERIOD_M1,PRICE_CLOSE);
   cad.create(CADX,100,PERIOD_M1,PRICE_CLOSE);

es gibt keinen Fehler, wenn Sie einen Zeiger auf eine Klasseninstanz verwenden, aber es gibt keinen Fehler, wenn Sie sie ohne * deklarieren: index_currency aud,cad;

Delphi Constructor - Ключевое слово определяет процедуру Name конструктора для класса (справочник функций и процедур - Delphi Sources)
Delphi Constructor - Ключевое слово определяет процедуру Name конструктора для класса (справочник функций и процедур - Delphi Sources)
  • Andrey Simagin
  • www.delphisources.ru
1 type Class declaration     ...     Constructor Name; {Overload;}     ...   end; 2 type Class declaration     ...     Constructor Name(Arguments); {Overload;}     ...   end; Ключевое слово Constructor определяет процедуру Name конструктора для класса. При создании объекта, вы вызываете метод Constructor класса, а не объекта...
 
IgorM:

aber wenn ich einen Standardkonstruktor verwende (d.h. nicht meinen eigenen erstelle, meine Klasse verwendet dynamische Speicherzuweisung für Arrays), erhalte ich den Fehler "Array out of Range", der nicht auftritt, wenn ich eine Variable vom Klassentyp deklariere - d.h. nicht den new-Operator verwende

Lesen Sie die Artikel The Order of Object Creation and Destruction in MQL5 und When to Use Pointers in MQL5.
 
IgorM:

es gibt keinen Fehler, wenn ein Zeiger auf eine Klasseninstanz verwendet wird, wenn zwei oder mehr verwendet werden, tritt ein Fehler auf, kein Fehler, wenn ohne * deklariert wird: index_currency aud,cad;

Das sollte nicht passieren. Wenn Sie den Quellcode benötigen, wenden Sie sich am besten an den Service Desk.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.