Einzelnen Beitrag anzeigen
  #11 (permalink)  
Alt 03.01.12
marccee marccee ist offline
Neues Mitglied
 
Registriert seit: Nov 2011
Ort: Wien
Beiträge: 9
marccee befindet sich auf einem aufstrebenden Ast
Standard

Die Optimierungsroutine, die ich verwende, habe ich gemeinsam mit einem Kollegen in Matlab geschrieben. Ich verwende dabei auch ein paar Perl-Scripts, die das Einlesen der Backtest-Daten erleichtern. Soll heißen: Ich hab leider gar keine Excel-Tabelle dafür vorliegen.

Grundsätzlich sollte es aber kein Problem sein, so ein Sheet zusammenzustellen. Die Datensammlung und -auswertung ist einfach und für die Optimierung könnte ich mir vorstellen, den Solver einzusetzen. Und bei LibreOffice halt die Zielwertsuche. (Den kompletten Algorithmus kann ich hier nicht gut beschreiben. Ich nenn Euch aber gerne ein paar Bücher.)

Der Solver ist auch der Grund, weshalb ich denke, dass ein Excel-Sheet praktikabler sein könnte als die Optimierung direkt in den EA einzuprogrammieren. Ich habe das bereits ansatzweise versucht und dabei festgestellt, dass die Ablauflogik des MetaTrader nicht ganz ideal für soetwas ist: Der MT ruft ja bei jedem einzelnen Tick den EA auf. Würde man nun bei jedem dieser Aufrufe die Optimierungsroutine auf der Order-History laufen lassen, wäre man ganz rasch auf einer sehr hohen Laufzeitkomplexität (die Optimierung besteht ja im Einlesen der Orderhistory und einer Suche nach dem optimalen Parameter).

Das heißt, man dürfte diese Optimierung nur hin und wieder laufen lassen... Und da der MT keine programmierbaren Events anbieten (oder irre ich mich da?), sehe ich als einzige Möglichkeit, globale Variablen zu setzen. Da habe ich aber Angst, dass durch eventuelle Unterbrechungen während der Laufzeit irgendwas durcheinanderkommen könnte.

Aber, wie gesagt: Ich arbeite noch nicht so lange mit dem MetaTrader. Vielleicht kann mir hier jemand erklären, wie man das effizient hinbekommt?