Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ticks in einer Access-Datenbank speichern

Geschrieben

Um die Trades meiner laufenden EAs im Nachhinein besser analysieren zu können, bin ich (zumindest bei den Kurzfrist-Handelsstrategien) auf Tickdaten angewiesen. Dabei nützen mir ausschließlich die Tickdaten meines Brokers, welche beim MT4 nicht verfügbar sind.

 

Daher habe ich einen EA, bzw. vielmehr eine DLL geschrieben. Diese DLL kann über einen EA jeden Tickwert in einer Accessdatenbank ablegen. Dies funktioniert sogar im Backtest. Das heißt, dass die im Backtest verwendeten Ticks im Nachhinein sehr gut analysiert werden können, wodurch eine weitere Optimierung des EAs per Programmcode möglich wird. Oder man nutzt die Tickdaten, um darauf basierend eigene Charts zu erstellen. Möglichkeiten gibt es sicherlich viele :palomitas:

 

Das ZIP-Archiv mit der DLL und dem EA habe ich hier im Downloadbereich abgelegt: KLICK-MICH

 

Installationsanleitung:

TickSaver.ex4

--> in das EXPERTS-Verzeichnis des MetaTrader

 

TickSaver.dll

--> in das EXPERTS\LIBRARIES-Verzeichnis des MetaTrader

 

TickSaver.ini

--> in das Hauptverzeichnis des MetaTrader (dort wo die terminal.exe liegt)

--> in der INI den Pfad zur tickbase.mdb hinterlegen

 

TickBase.mdb

--> in das in der INI angegebene Verzeichnis legen

 

In den MetaTrader-EA-Optionen den Import von DLLs zulassen.

optionen-dll.png

 

In der TickBase.dll existiert eine Tabelle TICKS:

tickbase.png

 

So könnte eine Excelanbindung aussehen:

tickbase-excel.png

 

In dem ZIP-Archiv ist der EA als ex4 enthalten. Der Quellcode besteht aber nur aus diesen Zeilen und lässt sich daher sehr einfach in eigene EAs einbinden:

//+------------------------------------------------------------------+
//|                                                    TickSaver.mq4 |
//|                                       Copyright © 2011, RAiNWORM |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, RAiNWORM"
#property link      ""

#import "ticksaver.dll" 
  int  ts_init(); 
  void ts_deinit(); 
  void ts_savetick(string send); 
#import

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
 {
  ts_init();
  return(0);
 }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
 {
  ts_deinit();
  return(0);
 }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
 {
  string strSend;
  strSend = Symbol()+";"+Bid+";"+Ask+";"+TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS); 
  ts_savetick(strSend);
  return(0);
 }
//+------------------------------------------------------------------+

Featured Replies

Geschrieben

Und wieder ein Mosaikstein für das Gesamtkunstwerk, Danke Rainworm tolle Sache. :top:

 

Nur um sicher zu gehen, dass auch ich das verstanden habe: Du läßt den EA live laufen, er speichert dann brav jedes Tickchen und später kann man diese Ticks sich in der History wieder reinziehen.

Ist das so korrekt?

 

 

Geschrieben
  • Autor

Nur um sicher zu gehen, dass auch ich das verstanden habe: Du läßt den EA live laufen, er speichert dann brav jedes Tickchen und später kann man diese Ticks sich in der History wieder reinziehen.

Es gibt zwei Möglichkeiten:

  1. Du nimmst den EA wie er ist und pflanzt ihn auf ein Chart. Es wird jeder Tick gespeichert.
  2. Du nimmst die Quellcodezeilen von oben und baust diese in deinen eigenen EA ein.

 

Die Ticks aus der Accessdatenbank können nicht direkt in die History zurückgespielt werden. Diese müssten in M1-Daten mit OHLC umgewandelt werden. Wenn du einen EA hast, der z.B. auf einem Demokonto läuft, und dieser einen nicht erfolgreichen Trade hatte, dann kannst du anhand der Tickdaten den tatsächlichen Verlauf der Kurse nachvollziehen. Und zwar anhand der Tickdaten deines Brokers. M1-Daten wären unter Umständen zu ungenau. Für EAs, die Positionen über mehrere Tage aufrecht erhalten ist dies uninteressant. Hast du jedoch einen EA, der im Minutenbereich handelt, dann wirst du um die Tickdaten für eine präzise Analyse nicht umherkommen. Wohlgemerkt musst du die Analyse per Hand durchführen. Oder du bastelst dir in Excel Auswertungen.

 

Oder du hast deinen EA im Backtest laufen und möchtest einen bestimmten Trade näher analysieren. Auch diese Tickdaten kannst du nachvollziehen und dann mit diesen Infos ggf. deinen Programmcode anpassen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.