Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Facebook!
und werden Sie Mitglied unserer Fangruppe
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Bewerten Sie es im Terminal MetaTrader 5
TypeToBytes - Bibliothek für den MetaTrader 5
- Ansichten:
- 823
- Rating:
- Veröffentlicht:
- 2017.01.09 15:07
- Aktualisiert:
- 2017.07.17 17:20
- Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Diese Cross-Plattform-Bibliothek ermöglicht bequeme Durchführung byteweiser Operationen mit Strukturen und Standarddatentypen .
Features:
- Byteweiser Vergleich (== und! =) der Strukturen und Standarddatentypen miteinander (in MQL fehlen Operatoren für den Vergleich von Strukturen standardmäßig).
- Bestimmung der Byte-Verschiebung einer Struktur, die durch einen Namen abgelegt ist.
- Lesen des Wertes eines beliebigen Standardtyps durch Byte-Verschiebung in den Quelldaten.
- Schreiben von Strukturen und Standardtypen durch Byteverschiebung an den Quelldaten.
- Umwandlung von Strukturen und Standarddatentypen in ein Bytearray.
Alles erwähnte findet Anwendung bei simplen Strukturen.
Ein Skript mit ausführlichen Kommentaren ist beigefügt, um die Möglichkeiten der Bibliothek zu demonstrieren
// MQL4&5-code #property strict #include <TypeToBytes.mqh> #define PRINT(A) ::Print(#A + " = " + (string)A); void OnStart( void ) { MqlTick Tick; ::SymbolInfoTick(::Symbol(), Tick); MqlTick CloneTick = Tick; // Operation mit Strukturen if (_R(Tick) == CloneTick) // Nun können die Strukturen verglichen werden ::Print("Equal"); // Ergebnis des benötigten Typs durch Verschiebung erhalten PRINT(_R(Tick)[(datetime)0]) // Prüfe den 'datetime' Wert mit Null-Verschiebung im Objekt der MqlTick Struktur - Tick.time // Hole the Verschiebung of the structure field const int Offset = _OFFSET(Tick, bid); // Verschiebung in Bytes des Bid-Feldes im MqlTick Objekt gefunden PRINT(Tick.bid) // Wert von Tick.bid geprüft _W(Tick, Offset, (double)1.23456); // (double) Wert 1.098765 geschrieben der bei der Verschiebung gefunden wurde PRINT(Tick.bid) // Sicherstellen, dass Tick.bid nun gleich 1.098765 ist PRINT(_R(Tick)[(double)Offset]) // 'double' Wert der sich beim Verschiebungs-Offset befindet ausgegeben - es ist wieder ein Tick.bid PRINT(_R(Tick).Bytes[8]) // Wert des Bytes mit der Verschiebung von 8 im Objekt der MqlTick Struktur geprüft PRINT(_R(Tick)[(uchar)8]) // Das gleiche aber mit einer anderen Methode PRINT(CloneTick.bid) // Wert von CloneTick.bid geprüft _W(CloneTick, 0, Tick); // Wert des Tick-Struktur-Objektes in CloneTick mit Null-Verschiebung geschrieben PRINT(CloneTick.bid) // Sicherstellen, dass CloneTick.bid == Tick.bid // Operation mit den Standardtypen color Color = C'241,248,255'; PRINT(_R(Color)[(uchar)1]) // Grün-Komponente der Farbe - 248 _W(Farbe, 2, (uchar)230); // (uchar) Wert 230 mit der Verschiebung von 2 geschrieben. PRINT(Color) // Sicherstellen, dass Farbe nun C'241,248,230' ist // Simulatene Operationen mit gemischten Typen if (_R(Tick) != Farbe) // Es ist sogar möglich Strukturen mit Standardtypen zu vergleichen ::Print("Not equal"); return; }
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/16280
PriceLines
Skript zum Zeichnen von Preismarkierungen.
StochasticDiff_HTFDer StochasticDiff Indikator mit der Option TimeFrames in den Eingabeparametern auszuwählen.
Monthly Weekly Levels
Das Skript zeigt die monatlichen und wöchentlichen Levels am Chart.
PricePositionDer PricePosition Indikator liefert die Position des Preises im Punkt des Winkels wenn der Preis über (KAUF) oder unter (VERKAUF) die Winkelschnittlinie steigt/fällt.