Tisch für alle Berufe. Zugriff über MQL5 - Seite 2

 
prostotrader:
Ein Fehler wurde gefunden und der Vorgang optimiert.

Ein gutes Beispiel, auch wenn es bis zur optimalen Leistung noch ein weiter Weg ist. Bislang gibt es drei Hauptbremsen:

1. CopyTiks jedes OnBookEvent kopiert alle Ticks seit dem Start:

int copied= CopyTicks(Symbol(),ticks,COPY_TICKS_ALL,start_time,0);

Dies kann durch dynamische Abschneidevorgänge noch optimiert werden.

2. Vollständige Aufzählung aller empfangenen Ticks in OnBookEvent

for(int i=1; i<copied; i++)
{
   if(( ticks[i].flags  &TICK_FLAG_BUY)==TICK_FLAG_BUY)
   {
      buy_deals++;
   }
   else
   if(( ticks[i].flags  &TICK_FLAG_SELL)==TICK_FLAG_SELL)
   {
      sell_deals++;
   }
}

Auch dies kann auf Wunsch behoben werden.

3. Vollständige Aufzählung aller Balken in OnCalculation:

for(int i=rates_total-1; i>0; i--)
{
   SellBuffer[i]= SellBuffer[i-1];
   BuyBuffer[i] = BuyBuffer[i-1];
}
 
Auf Wunsch der Forumsmitglieder habe ich den Indikator fertiggestellt
Dateien:
DealsLent.mq5  9 kb
 
Vasiliy Sokolov:

Ein gutes Beispiel, auch wenn es bis zur optimalen Leistung noch ein weiter Weg ist. Bislang gibt es zwei Hauptbremsen:

1. CopyTiks jedes OnBookEvent kopiert alle Ticks seit dem Start:

Dies kann durch dynamische Abschneidevorgänge noch optimiert werden.

2. Vollständige Aufzählung aller empfangenen Ticks in OnBookEvent

Auch dies kann auf Wunsch behoben werden.

3. Vollständige Aufzählung aller Balken in OnCalculation:

Danke, aber Sie haben nicht überall Recht.

1. Nicht alle Zecken (genau hinschauen).

2. Wie wollen Sie es machen?

3. leicht zu machen

Nun, lassen Sie uns das optimieren...

 
Hier, gezwickt.
Dateien:
DealsLent.mq5  9 kb
 
prostotrader:

Danke, aber Sie haben nicht mit allem Recht.

1. Nicht alle Zecken (genau hinsehen)

2. leicht zu machen

3. leicht zu machen.

Jetzt machen wir es richtig...

Ja, in der Tat nicht alle Zecken.

Was den dritten Punkt betrifft, so bin ich mir nicht sicher, ob dies einfach zu bewerkstelligen sein wird. Der Indikator ist tickweise und muss daher stark überarbeitet werden.

Aber im Großen und Ganzen ist es in Ordnung. Danke für das Beispiel.

 
prostotrader:
Hier habe ich sie überarbeitet.
Ich danke Ihnen.
 
Vasiliy Sokolov:

Ja, in der Tat nicht alle Zecken.

Bezüglich des dritten Punktes bin ich mir nicht sicher, ob es einfach zu machen wäre. Da der Indikator ein Tick-Indikator ist, muss er neu gerendert werden.

Aber im Großen und Ganzen ist es in Ordnung. Danke für das Beispiel.

Der Indikator ist nämlich tickbasiert, so dass nur die aktuellen (jüngsten) Daten von Bedeutung sind.

Wenn der Benutzer einen längeren Verlauf aus den Puffern nehmen möchte,

Es ist sehr einfach zu machen.

Sek.

 

Hier kann der Nutzer die Größe der Daten wählen, die ihn interessieren.

Wenn ActSize = 0 - alle verfügbaren Historien

Dateien:
DealsLent.mq5  9 kb
 
Der letzte Schliff...
Dateien:
DealsLent.mq5  10 kb
 

Weiß jemand, wo der Fehler liegt?

Der Indikator arbeitet korrekt, aber es werden mehr Balken angezeigt,

als es vorgesehen war.

Grund der Beschwerde: