Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1241

 
igrok333:
es nahm den Preis vor, als die Nachfrage noch alt war,
und dann nur refreshrates änderte die Nachfrage, richtig?

ja

die Logik der Codeausführung ist linear - ein Befehl wird ausgeführt, Änderungen werden vorgenommen, dann wird der nächste Befehl ausgeführt

In Ihrem Code ist es dasselbe, Sie haben eine Zuweisung vorgenommen, und die Preisaktualisierung steht bereits unterhalb des Codes

eine Cena-Berechnung in der Schleife durchführen und die Quoten.... vor der Berechnung aktualisieren Vergessen Sie nicht, cena zu normalisieren, wenn es sich um eine Berechnung handelt, sonst wird Ihre nächste Frage lauten, warum es jetzt nicht funktioniert)))

 
Igor Makanu:

ja

die Logik der Codeausführung ist linear - ein Befehl wird ausgeführt, Änderungen werden vorgenommen, dann wird der nächste Befehl ausgeführt

In Ihrem Code ist es dasselbe, Sie haben eine Zuweisung vorgenommen, und die Preisaktualisierung steht bereits unterhalb des Codes

eine Cena-Berechnung in der Schleife durchführen und die Quoten.... vor der Berechnung aktualisieren Vergessen Sie nicht, cena zu normalisieren, wenn es sich um eine Berechnung handelt, sonst wird Ihre nächste Frage lauten, warum es jetzt nicht funktioniert)))


Jetzt ist klar, wie man das überprüfen kann.

double cena=Ask;

for (int i=0; i<=10; i++)
   {
   RefreshRates();   
   Alert(cena);
   Sleep(3000);
   }

und

for (int i=0; i<=10; i++)
   {   
   RefreshRates();   
   double cena=Ask;
   Alert(cena);
   Sleep(3000);
   }
 
Hallo. In der Standardbibliothek gibt es einen Ordner WinApi. Es wäre gut, wenn die MQL5-Referenz mit einer Beschreibung ihres Inhalts erscheinen würde. Könnten Sie in der Zwischenzeit eine Methode vorschlagen, um das Feld des Startdatums der Vorwärtsoptimierung im Tester zu lesen und zu schreiben? Oder vielleicht sogar einen neuen Anteil wie 1/5 hinzufügen?
 
Good Beer:
Hallo. In der Standardbibliothek gibt es einen Ordner WinApi. Es wäre gut, wenn die MQL5-Referenz eine Beschreibung ihres Inhalts hätte. Könnten Sie in der Zwischenzeit eine Methode vorschlagen, um das Feld des Startdatums der Vorwärtsoptimierung im Tester zu lesen und zu schreiben? Oder vielleicht sogar einen neuen Anteil wie 1/5 hinzufügen?

Das hat nichts mit mql zu tun.

https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-api-list

Viel Glück!

Windows API index - Win32 apps
  • 2018.05.31
  • GrantMeStrength
  • docs.microsoft.com
A list of the reference content for the Windows API.
 
Good Beer:
Gibt es nicht eine Methode, mit der das Feld für den Terminbeginn im Prüfgerät gelesen und geschrieben werden kann?

Ich werde nicht sagen, wie es in einer Fünf ist, es ist wie in einer Vier:

extern datetime dtDateBegin   = D'2008.12.01';
extern datetime dtDateEnd     = D'2009.01.01';

#import "user32.dll"
   int SendMessageA(int hWnd, int Msg, int wParam, int lParam[]);
   int GetAncestor(int hWnd, int gaFlags);
   int GetDlgItem(int hDlg, int nIDDlgItem);
   int FindWindowExA(int hWndParent, int hWndChildAfter, string lpszClass, string lpszWindow);
#import

#define  DTM_SETSYSTEMTIME      0x1002

void start()
{
   int hTerminalWnd, hTesterWnd, hDateTimeBegin, rglSysTime[4];
   
// определяем системный дескриптор окна тестера
   
   hTerminalWnd = GetAncestor(WindowHandle(Symbol(), Period()) ,2);
   hTesterWnd = GetDlgItem(hTerminalWnd, 0xE81E);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x53);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x81BF);

// устанавливаем дату начала  оптимизации\тестирования

   hDateTimeBegin = FindWindowExA(hTesterWnd, GetDlgItem(hTesterWnd, 0x3FF), "SysDateTimePick32", "");
   ArrayInitialize(rglSysTime, 0);
   
   rglSysTime[0] = (TimeMonth(dtDateBegin) << 16) | TimeYear(dtDateBegin);
   rglSysTime[1] = (TimeDay(dtDateBegin)   << 16) | TimeDayOfWeek(dtDateBegin);
   
   SendMessageA(hDateTimeBegin, DTM_SETSYSTEMTIME, 0, rglSysTime);
}
 

Warum kompiliert keines der bereitgestellten Beispiele von fertigem Code aus dem mql4-Tutorial?

Ich habe versucht, etwas zu schreiben und bin mit der Tatsache konfrontiert, dass die OnTick-Funktion auf die .mqh-Funktion umschaltet, aber andere .mqh-Funktionen werden von dieser Funktion aus aufgerufen und der Compiler sieht sie nicht, und ich verstehe nicht, wie man es macht. Ich habe die fertigen Codes aus dem Lehrgang heruntergeladen, aber auch sie funktionieren nicht. Ich hatte Angst, dass mein Programm nein nein nein ja erscheint 5-7 Fehler, aber wenn ich lief die von der offiziellen Bibliothek heruntergeladen, so dass es eine Hölle von einer Menge... 60-80-90 Fehler. Kompiliert ohne Fehler nur die Datei Variables.mqh, alles andere brennt lichterloh. Wo ist das eigentliche Material zu dieser Sprache? All diese Video-Tutorials, wie alt sind sie? Es funktioniert nicht, nur das, was es sagt - tun Sie es und Sie werden Ergebnisse erhalten.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Denis Diakonov:

Warum kompiliert keines der bereitgestellten Beispiele von fertigem Code aus dem mql4-Tutorial?

Ich habe versucht, etwas zu schreiben und bin mit der Tatsache konfrontiert, dass die OnTick-Funktion auf die .mqh-Funktion umschaltet, aber andere .mqh-Funktionen werden von dieser Funktion aus aufgerufen und der Compiler sieht sie nicht, und ich verstehe nicht, wie man es macht. Ich habe die fertigen Codes heruntergeladen, die im Tutorial verwendet werden, und auch sie funktionieren nicht. Ich hatte Angst, dass mein Programm nein nein nein ja erscheint 5-7 Fehler, aber wenn ich lief die von der offiziellen Bibliothek heruntergeladen, so dass es eine Hölle von einer Menge... 60-80-90 Fehler. Kompiliert ohne Fehler nur die Datei Variables.mqh, alles andere brennt lichterloh. Wo ist das eigentliche Material zu dieser Sprache? All diese Video-Tutorials sind von wann? Es funktioniert nicht, sondern nur das, was da steht - mach es und du wirst Ergebnisse erzielen.

Ehrlich gesagt, es ist ein Strom des Bewusstseins :)

Und keine Einzelheiten.

 
wie man sich anmeldet
 
Artyom Trishkin:

Strom des Bewusstseins, um ehrlich zu sein :)

Und keine Einzelheiten.

Eine Kopie aus einem anderen Thread.


Bitte beraten Sie mich. Ich habe benutzerdefinierte Funktionen in separaten .mqh-Dateien und ich habe sie durch #include geschrieben. Ich rufe sie in Start eine Funktion auf einmal, aber wenn Start zu einer Funktion geht, muss Programm eine andere .mqh-Datei aufrufen (zum Beispiel, um einen Wert des Auftragsvolumens zu erhalten) und es funktioniert nicht. Wenn ich alles in ein Blatt schreibe, funktioniert es, oder wenn ich die Formel zur Berechnung des Loses direkt in die Auftragseröffnungsparameter schreibe. Ich habe mir die MQL4-Lektionen angesehen und die Programmdokumentation gelesen, aber ich habe nichts gefunden. Ich verstehe nicht wirklich, warum eine .mqh-Funktion nicht mit einer anderen .mqh-Funktion innerhalb von Berechnungen interagieren kann. Oder sollten wir das Programm zum Start zurückkehren lassen, wenn wir eine solche Notwendigkeit konfrontiert - es würde das Ergebnis zum Start zurückgeben und dann mit dieser Berechnung beginnen würde zurück zur Funktion gehen, die einen .mqh Auftrag öffnet? Das ist doch Blödsinn... Oder sollten wir vielleicht alle vorhandenen Funktionen irgendwie anders deklarieren, damit sie zusammenwirken? Danke

 
Artyom Trishkin:

Strom des Bewusstseins, um ehrlich zu sein :)

Und keine Einzelheiten.

Es ist kein Bach, sondern ein Abfluss.