Vielen Dank für diesen interessanten Artikel.
War die Verwendung einer Datei zum Puffern von Daten zwingend erforderlich?
War es nicht möglich, die Verlaufsdaten im Speicher zu puffern, indem man ein Statis-Array verwendet?
Mit freundlichen Grüßen
Guten Tag!
Ich würde gerne zweite Charts sehen - eine Kerze ist ein paar Sekunden (5 sec, 6 sec, 10, 12,15). Um zu sehen, Preisänderungen in Bezug auf die Zeit.
Ein Tippfehler?
Im Text des Artikels. Im Beispiel ist es richtig, AskBufferGuten Tag!
Ist es möglich, die vom vorgeschlagenen Indikator empfangenen Tick-Dateien für Multicurrency-Tests im Tester zu verwenden, während die Erstellung virtueller Ticks im Tester deaktiviert wird und die Synchronisierung der Daten über die Preise der Instrumente nach Zeit erfolgt?
Ich danke Ihnen.
- www.mql5.com
Guten Tag!
Ich würde gerne zweite Charts sehen - eine Kerze ist ein paar Sekunden (5 sec, 6 sec, 10, 12,15). Um Preisänderungen im Verhältnis zur Zeit zu sehen.
Guten Tag!
Ist es möglich, Tick-Dateien zu verwenden, die der vorgeschlagene Indikator für das Testen mehrerer Währungen im Tester empfängt, wobei die Erstellung virtueller Ticks im Tester deaktiviert und die Synchronisierung der Daten zu den Instrumentenpreisen nach Zeit vorgenommen wird?
Ich danke Ihnen.
Die Dateien mit den vom Indikator erstellten Kursen können natürlich für andere Zwecke verwendet werden. Ich schlage vor, dass Sie unnötige Funktionen (z.B. das Zeichnen von Charts) und die Datenverarbeitung (z.B. die Synchronisation der Daten verschiedener Instrumente) deaktivieren. Übrigens ist es meiner Meinung nach einfacher, mit Hilfe eines solchen Expert Advisors Kurse in eine Datei zu schreiben (sie ist auch in der angehängten Datei enthalten):
int h; void OnInit() { string s; StringConcatenate(s,Symbol(),".txt"); h=FileOpen(s,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ); FileSeek(h,0,SEEK_END); } void OnTick() { string s; StringConcatenate(s,TimeCurrent()," ",DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits)," ",DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_ASK),_Digits)); FileWrite(h,s); FileFlush(h); } void OnDeinit(const int reason) { FileClose(h); }
Toller Artikel, danke für die Indikatoren!
Ich habe dieses Problem bei der Ausführung von tickindicator.mq5.
Ich habe den Indikator kompiliert. Ich führe ihn aus.
Das Fenster des Indikators erscheint. Es gibt eine Skala mit großen Zahlen für Minimum und Maximum. Und der Indikator bewegt sich entlang der horizontalen Linie. Ich habe versucht, das Minimum und das Maximum des Indikators festzulegen. Der Indikator scheint zu erscheinen, aber es gibt einige vertikale Linien auf dem Angebot.
Toller Artikel, danke für die Indikatoren!
Ich habe dieses Problem bei der Ausführung von tickindicator.mq5.
Ich habe den Indikator kompiliert. Ich führe ihn aus.
Das Fenster des Indikators erscheint. Es gibt eine Skala mit großen Zahlen für Minimum und Maximum. Und der Indikator bewegt sich entlang der horizontalen Linie. Ich habe versucht, das Minimum und das Maximum des Indikators festzulegen. Der Indikator scheint zu erscheinen, aber es gibt einige vertikale Linien auf dem Angebot.
Es ist notwendig, alle Werte im Indikatorpuffer zu initialisieren.
Höchstwahrscheinlich IMHO - ich habe mir den Code nicht angesehen)
Sagen Sie mir, wo ich etwas korrigieren muss.
Bei Zeitrahmen größer als M30 beginnt die Skala wilde Zahlen zu zeigen.
Wie mein Kollege Dima_S vorgeschlagen, bei der Initialisierung des Indikators, ist es wert, die Puffer mit etwas zu füllen.
Und da wir den Code TickIndicator.mq5 haben:
//+------------------------------------------------------------------+ //| OnInit() Funktion| //+------------------------------------------------------------------+ void OnInit() { // Array BidBuffer[] ist ein Indikatorpuffer SetIndexBuffer(0,BidBuffer,INDICATOR_DATA); // AskBuffer[] Array ist ein Indikatorpuffer SetIndexBuffer(1,AskBuffer,INDICATOR_DATA); // Nullwerte der Bid-Linie werden nicht gezeichnet PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0); // Nullwerte der Ask-Linie werden nicht gezeichnet PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0); }
Es ist notwendig, die folgenden Zeilen einzufügen:
ArrayInitialize(BidBuffer,0); ArrayInitialize(AskBuffer,0);
Wie mein Kollege Dima_S vorschlug, lohnt es sich, beim Initialisieren des Indikators die Puffer mit etwas zu füllen. Ich habe das getan:
ArrayInitialize(BidBuffer,EMPTY_VALUE); ArrayInitialize(AskBuffer,EMPTY_VALUE);
Ich habe das getan, aber es hat nicht geholfen.
ArrayInitialize(BidBuffer,0.0); ArrayInitialize(AskBuffer,0.0);So auch hier.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.


Neuer Artikel Erzeugung von Kursschwankungs-Indikatoren in MQL5 :
In diesem Beitrag geht es um die Erzeugung von zwei Indikatoren: dem Kursschwankung-Indikator, der das Chart der Kursschwankungen des Kurses zeichnet und dem Kursschwankungs-"Kerzen" Indikator, der "Kerzen" mit der angegebenen Anzahl von Kursschwankungen zeichnet. Jeder dieser Indikatoren schreibt die eingehenden Kurse in eine Datei und verwendet die gespeicherten Daten dann nach einem Neustart des Indikators (diese Daten können auch von anderen Programmen verwendet werden).
Autor: Denis Zyatkevich