![]() |
|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
![]() |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
![]()
Wie ich bereits auch in einem anderen Forum geschrieben habe:
Chart events im Strategietester zu benutzen, wäre eine komfortable Angelegenheit. Man könnte dann z.B. via Buttons verschiedenste Steuerungen vornehmen, ohne den Tester jedes mal zu beenden, um irgendwelche Parameter zu ändern und wieder neu zu starten. Aber, was soll ich sagen - Metaquotes hat es verbockt! Es ist nicht möglich, die Funktion OnChartEvent() im Strategietester anzuspringen. Auch die OnTimer()-Funktion ist nicht im Tester benutzbar. Damit ist es nicht möglich, zeitgesteuerte Ereignisse auszulösen. Das betrifft sowohl die Programmversion im MT4 als auch im MT5. Sollte jemand eine Lösung haben, dann nichts wie raus damit. I am very angry and just high pulse. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
![]() Zitat:
Ich behelfe mir im Tester damit, dass ich über die Barzählung vorübergehend einen Auslöser einbaue, bzw. über die normale Zeit: PHP-Code:
|
|
|||
![]()
Ja, danke, das geht sicherlich. Nur bei kleinen Timefrequenzen (< 1 Sekunde) die zuverlässig regelmäßig kommen sollen, wird das in tickschwachen Zeiten auf Dauer unbefriedigend.
Das funktioniert aber auf jeden Fall, je gößer die Timefrequenz wird und in marktfrequenten Tagenzeiten. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
![]()
Wenn es in so kleinen Zeiten sein soll, hilft nur eine Berechnungsroutine, welche man auf den benötigten Zeitintervall einstellt.
Sprich CPU Auslastung. Aber mal grundlegend, der MT4 hat im Tester doch keine Tickdaten, sondern das kleinste ist M1 mit Datum,Zeit,Open,Hoch,Tief,Close und Volumen, den Rest simuliert er innerhalb des M1 Bars. Was macht das für ein Sinn sich in solchen Feinheiten mit dem Tester zu beschäftigen? |
|
|||
![]() Zitat:
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
![]()
Ja, ich verstehe.
Eine Idee war eine Schleife mit der Verzögerung solange durchlaufen zu lassen, bis ein neues Tick kommt, jedoch bleibt diese unabhängig von Außen hängen. Dann hilft nur Metaquotes anschreiben und eine OnTime Funktion für den Tester fordern. |
|
|||
![]() Zitat:
Ich warte nun geduldig auf eine hoffentliche Antwort. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
![]()
Sehr schön das du sie angeschrieben hast, die sollen das mal beim nächsten Update beheben.
Ich glaube die Sache mit den simulierten M1 Ticks werden sie allerdings nicht ändern. Also man muss damit leben das innherhalb einer M1 Kerze zB nur 12 Ticks erzeugt werden. Wenn man sekündlich ein Aufruf braucht dann müssten mindestens 60 Ticks pro Minute simuliert werden aber ich bezweifel, dass die ihre Ticksimulation für den OnTimer() auf den Kopf stellen. Allerdings! alles was > 1 Min ist sollten die möglich machen was OnTimer() betrifft zumindest sollte dann wenn OnTimer < eine Minute dann eben mindestens jeder simulierter Tick als Trigger genommen werden. Und OnChartEvent() sollte definitiv im visu-modus funktionieren das ist sowieso kein Zustand! C$D ps: es macht manchmal Sinn für Backtest und Live getrennte Logiken zu schreiben. Für Live dann so wie man es will und bei Backtest dann eine Variante die eine möglichst gute Annäherung verspricht. Ich habe das so beim Aufruf Chartsfremder Währungspaare gemacht da hier keine Ticks simuliert werden. Beim Backtest wird so eine andere Logik aufgerufen als bei Live. |
|
|||
![]()
Hallo traderdoc,
eine Möglichkeit wäre eine Gui extern zu programmieren, deren Status könntest du dann in jedem Tick abfragen. Vielleicht kannst du auch aus einer DLL den Status aus der Oberfläche auslesen, ich habe das aber noch nicht gemacht. Dies sollte auch im Tester funktionieren. Gruß yytrader |
![]() |
Lesezeichen |
Stichworte |
chart events strategietester, mql4, onchartevent(), ontimer(), programmierung, programmierung metatrader, strategietester, strategietester mql4, tester |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|