und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 110
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
timer.mqh - timer, nur um die asynchrone Ausführung zu demonstrieren
Sie können auch über den npm-Paketmanager herunterladen
npm i mql5-promise
Promise Beispiel :
#include "timer.mqh" #include "index.mqh" void OnInit () { new Promise(printAndTimoutResolve, "111" ) .then(printAndReject, "222" ) // dann - ausführen, wenn vorheriges Versprechen aufgelöst wird .ccatch(printAndResolve, "333" ) // ccatch - wird ausgeführt, wenn das vorherige Versprechen abgelehnt wird .ccatch(printAndResolve, "444" ) .ccatch(printAndResolve, "555" ) .then(printAndResolve, "666" ) .finally(printAndResolve, "end" ) // schließlich - alles ausführen .destroy(); // Löscht den Speicher dieser Versprechen, nachdem alle Versprechen ausgeführt wurden Print ( "start" ); // printAndTimoutResolve 111 // Timeout nach Druck // Start // printAndReject 222 // printAndTimoutResolve 333 // printAndTimoutResolve 666 // printAndTimoutResolve end }; void promiseAllResolve( ulong promiseId, string &prevResult[], string parametr) { Print ( "promiseAllResolve " + parametr); }; void printAndTimoutResolve( ulong promiseId, string prevResult, string parametr) { Print ( "printAndTimoutResolve " + parametr); Timer::setTimout(resolveByIdStr, 2000 , string (promiseId)); }; void resolveByIdStr( string id) { Promise::resolveById( ulong (id)); } void printAndResolve( ulong promiseId, string prevResult, string parametr) { Print ( "printAndResolve " + parametr); Promise::resolveById(promiseId); }; void printAndReject( ulong promiseId, string prevResult, string parametr) { Print ( "printAndReject " + parametr); Promise::rejectById(promiseId); };
Zum Beispiel, Promise:all:
void OnInit () { Promise* list1[] = { new Promise(printAndTimoutResolve, "Promise 1" ) .then(printAndTimoutResolve, "Promise 1.1" ) , new Promise(printAndReject, "Promise 2" ), new Promise(printAndTimoutResolve, "Promise 3" ), }; Promise::all(list1, promiseAllResolve) // auflösen, wenn alle Versprechen aufgelöst sind .then(printAndResolve, "Promise::all resolved" ) .ccatch(printAndResolve, "Promise::all rejected" ) .destroy(); // alle Versprechen löschen // printAndTimoutResolve Verheißung 1 // printAndReject Verheißung 2 // printAndTimoutResolve Verheißung 3 // printAndResolve Promise::all abgelehnt };
Beispiel für ein Versprechen:Rennen:
void OnInit () { Promise* list2[] = { new Promise(printAndTimoutResolve, "Promise 1" ) .then(printAndTimoutResolve, "Promise 1.1" ) , new Promise(printAndReject, "Promise 2" ), new Promise(printAndTimoutResolve, "Promise 3" ), }; Promise::race(list2, printAndResolve, "Promise::race" ) // Auflösen/Ablehnen nach dem ersten Versprechen .then(printAndResolve, "Promise::race resolved" ) .ccatch(printAndResolve, "Promise::race rejected" ) .destroy(); // printAndTimoutResolve Verheißung 1 // printAndReject Verheißung 2 // printAndTimoutResolve Verheißung 3 // Promise::race abgelehnt };
Zum Beispiel: Promise:any:
void OnInit () { Promise* list3[] = { new Promise(printAndTimoutResolve, "Promise 1" ) .then(printAndTimoutResolve, "Promise 1.1" ) , new Promise(printAndReject, "Promise 2" ), new Promise(printAndTimoutResolve, "Promise 3" ), }; Promise::any(list3, printAndResolve, "Promise::any" ) .then(printAndResolve, "Promise::any resolved" ) .ccatch(printAndResolve, "Promise::any rejected" ) .destroy(); // printAndTimoutResolve Verheißung 1 // printAndReject Verheißung 2 // printAndTimoutResolve Verheißung 3 // printAndResolve Promise::any // printAndResolve Promise::any aufgelöst };
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/54412

Der Profit Maximiser (PMax) Indikator ist ein Indikator, der durch die Integration des gleitenden Durchschnitts des Supertrend Indikators erstellt wurde.

Prototyp für die Datenerfassung. Dummy-Puffer für das Datenfenster (zum Zwecke der Datenerfassung) für die Stunde des Tages und ein zusätzlicher Puffer für die Stunde des Tages. Kommentare die Stunde des Tages.

Erstellen von Gewinnkennzeichnungen für Geschäfte (geschlossene Trades), die auch im Strategietester angezeigt werden

Es handelt sich um einen Indikator, der die Zielniveaus auf der Grundlage des Durchschnitts der Kursbewegungen bestimmt.