Diskussion zum Artikel "Erzeugung von Kursschwankungs-Indikatoren in MQL5" - Seite 2

 

Wie wäre es damit?

//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Iterationsfunktion |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   if(prev_calculated==0)
     {
      ArrayInitialize(BidBuffer,0);
      ArrayInitialize(AskBuffer,0);

     }
.....
  }
 

danke

ich denke, es wird effektiver sein, wenn die Kerzen des "Tick-Indikators"

die sich auf eine Kerze des aktuellen Zeitrahmens beziehen, integriert und/oder von anderen Gruppen getrennt werden

 

Sehr schön. Ich danke Ihnen.

Könnte eine Zeitskala und ein einfacher oder exponentieller Durchschnitt zu dem Tick Candle Indikator hinzugefügt werden?

 

Wenn der Zeitraum des Diagramms geändert wird, wird die Größe der dynamischen Arrays BidBuffer[] und AskBuffer[] , die mit den Indikatorpuffern verbunden sind, geändert. Danach werden die Arrays mit "zufälligen" Werten gefüllt, die sich von den zuvor eingegebenen Werten unterscheiden; sie unterscheiden sich auch von dem Wert 0, für den kein Rendering angegeben ist. Daher sollten Sie die Arrays jedes Mal, bevor Sie sie füllen, mit dem Wert 0 initialisieren (wie denkir schrieb):

if(prev_calculated==0)
  {
   ArrayInitialize(BidBuffer,0);
   ArrayInitialize(AskBuffer,0);

Ich füge die korrigierte Version des Indikators bei.

Dateien:
 

Danke!
Sehr interessant. Die Zeckenkanten müssen vielleicht auch noch hinzugefügt werden

   if(prev_calculated==0)
     {
      //*************
      ArrayInitialize(TicksBuffer,0);
      ArrayInitialize(OpenBuffer,0);
      ArrayInitialize(HighBuffer,0);
      ArrayInitialize(LowBuffer,0);
      ArrayInitialize(CloseBuffer,0);
      //*************
 
Sehr gute Arbeit!
 

Können Sie mich bitte wissen lassen, wie wir dies zu MT4 hinzufügen können?

Auch, können wir die gleitenden Durchschnitt Plots auf diese Tick-Charts verwenden?

[Gelöscht]  
Praveen Moragaspitiya #: Können Sie mich bitte wissen lassen, wie wir dies zu MT4 hinzufügen können? Auch können wir die gleitenden Durchschnitt Plots auf dieser Tick-Charts verwenden?

MT4 speichert keine historischen Tickdaten. Sie müssten die Tickdaten selbst speichern. Suchen Sie in der CodeBase, da es mehrere MT4-Versionen für Tick-Charts geben sollte.

 
Fernando Carreiro #:

MT4 speichert keine historischen Tickdaten. Sie müssten die Tickdaten selbst speichern. Suchen Sie in der CodeBase, da es mehrere MT4-Versionen für Tick-Charts geben sollte.

Vielen Dank für die Antwort.
 
hakita #:

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

Wie hat er Ticks heruntergeladen, ohne Befehle zum Herunterladen von Ticks, wie z.B. Ticks kopieren. Ich bin verwirrt, könnten Sie bitte erklären