Probleme mit Time() - Seite 6

 
CFx:

Können Sie konsequent profitable Handelslogiken für ALLE Markttypen schreiben, weil Sie sich die Mühe gemacht haben, zu lernen?

Nein, ich bin noch am Lernen. Aber ich weiß, wie man kein Arsch ist... Wie ich sehe, sind Sie noch dabei, diese Fähigkeit zu erlernen.

Ich habe gerade einen Testcode geschrieben, um zu versuchen, Ihnen zu helfen, und ich habe ihn durch den Strategy Tester laufen lassen ... warum habe ich das getan? mit einer Einstellung wie der Ihren weiß ich wirklich nicht, warum ich mir die Mühe gemacht habe ...

Aber wie auch immer, ich sage Ihnen, was ich herausgefunden habe, ich kann das immer noch tun, da ich die Fähigkeit "kein Arsch zu sein" gemeistert habe.

Day(), DayOfWeek(), TimeDay() und TimeDayOfWeek() scheinen im Straegy-Tester (Build 427) alle korrekt zu funktionieren . . wolltest du wirklich Day() in deinem Code verwenden oder sollte dein Code, den du zum Programmieren verwendest, DayOfWeek() verwenden ? das erste, Day() gibt einen Wert von 0 - 31, das zweite DayOfWeek() gibt einen Wert von 0 - 6 Sunday is 0

Comment("Day() of the month: ",Day(), " Day of week(): ", DayOfWeek(), "\n", "TimeDay Current: ", TimeDay(TimeCurrent() ), " TimeDay of week Current: ", TimeDayOfWeek(TimeCurrent()) );
 
CFx:

Ich sollte also etwas anderes als die "modellierte" Serverzeit erhalten.

Nein. Sie erhalten die modellierte Serverzeit, weil Sie den Strategietester ausführen sollten, während Sie nicht mit dem Server Ihres Brokers verbunden sind... es gibt also keine tatsächliche Serverzeit... was Sie erhalten, ist also modelliert. Wenn Sie noch mit Ihrem Broker verbunden wären und die tatsächliche Serverzeit abrufen wollten, würden Sie die Zeit vom Server Ihres Brokers zu dem Zeitpunkt abrufen, zu dem Sie Ihren EA im Strategietester ausgeführt haben, und das würde Ihnen wahrscheinlich nicht viel nützen.

Seien Sie also froh, dass die Serverzeit, die Sie erhalten, modelliert ist.

 
RaptorUK:

Nein, ich bin noch am Lernen. Aber ich weiß, wie man kein Arsch ist... Wie ich sehe, lernen Sie diese Fähigkeit noch.

Ich habe gerade einen Testcode geschrieben, um Ihnen zu helfen, und ich habe ihn durch den Strategietester laufen lassen ... warum habe ich das getan? mit einer Einstellung wie der Ihren weiß ich wirklich nicht, warum ich mir die Mühe gemacht habe ...

Aber wie auch immer, ich sage Ihnen, was ich herausgefunden habe, ich kann das immer noch tun, da ich die Fähigkeit "kein Arsch zu sein" gemeistert habe.

Day(), DayOfWeek(), TimeDay() und TimeDayOfWeek() scheinen im Straegy-Tester (Build 427) alle korrekt zu funktionieren . . . wollten Sie wirklich Day() in Ihrem Code verwenden oder sollte Ihr Code, den Sie zum Programmieren verwenden, DayOfWeek() verwendet haben? das erste, Day() gibt einen Wert von 0 - 31, das zweite DayOfWeek() gibt einen Wert von 0 - 6 Sunday ist 0


Nun, ich würde sagen, so wie Sie mir geantwortet haben, haben Sie es nicht geschafft, kein Arsch zu sein. Es gibt jedoch einen deutlichen Unterschied (und Nachteil) zu einem Klugscheißer. Einfach nur ein Arsch zu sein, ist bestenfalls harmlos. Aber ein Klugscheißer zu sein, ist das Äquivalent dazu, sich vor Bruce Lee zu stellen und ihm seinen Namen ins Gesicht zu rufen. Oder sich vor einen Selfmade-Millionär zu stellen und ihm zu sagen, dass er pleite ist. Oder vor einem Kriegsveteranen zu stehen und ihm zu sagen, dass er feige ist. Oder sich vor einen Professor für angewandte Mathematik zu stellen und ihm zu sagen, dass er nichts über logische Konstruktionen weiß. Das ist ein Klugscheißer.

Zweitens kann ich jedem dabei helfen, ein erfolgreicher Trader zu werden - ich habe es bereits fünf (5) Mal geschafft. Diese Leute möchten anonym bleiben, bevor Sie fragen. Ich bin nicht hier, weil ich nach Handelslogik-Fähigkeiten suche. Ich bin hierher gekommen, um Hilfe bei MQL zu bekommen, weil ich kein MQL-Entwickler bin und nicht die Zeit habe, eine Programmiersprache so weit zu lernen, dass ich meine kreativen Problemlösungsfähigkeiten mit der Sprache erweitern kann. Ich verbringe meine Zeit damit, die Kunst der Erstellung von Handelslogiken weiterzuentwickeln und zu beobachten, wie sich meine tägliche Position auf dem Markt entwickelt. Neue Handelskonzepte zu entwickeln, ist meine Stärke. In MQL den Kopf unten zu haben, hat mich nicht profitabel gemacht. Vielleicht hat das bei Ihnen aber funktioniert.

Drittens, ich teste nicht in Build 427. Eine weitere Annahme, die nur ein Esel machen würde. Ich muss unter Build 409 testen, und dafür gibt es einen guten Grund (auf den ich hier nicht näher eingehen werde). Ich sagte bereits, dass ich ALLE Time()-basierten Funktionen in MQL ausprobiert habe, die mit dem Bedarf des EA zusammenhängen, und keine von ihnen hat funktioniert: Day(), TimeHour, TimeMinute, DayOfWeek, etc.

Ich verstehe den Unterschied zwischen Day() und DayOfWeek(), da ich immer die MQL-Dokumentation lese, bevor ich einen Beitrag schreibe und um Hilfe bitte. Ich renne nicht einfach in ein Forum und bitte um Hilfe. In der Regel schöpfe ich jede Quelle aus, die ich im Internet finden kann, und ich probiere jede Konfiguration aus, die ich mir vorstellen kann, einschließlich FALSCHER Konfigurationen wie TimeHour und TimeHour nacheinander, nur um zu sehen, ob ich irgendeine Art von nachvollziehbarem Unterschied im Verhalten des EA erhalte.

Wenn alles andere fehlschlägt, melde ich mich an und bitte um Hilfe. Klugscheißer tun genau das Gegenteil von dem, was ich getan habe - und Sie sollten in der Lage sein, den Unterschied zu erkennen.

 
RaptorUK:

Nein. Sie erhalten die modellierte Serverzeit, weil Sie den Strategy Tester ausführen sollten, während Sie nicht mit dem Server Ihres Brokers verbunden sind... es gibt also keine tatsächliche Serverzeit... was Sie erhalten, ist also modelliert. Wenn Sie noch mit Ihrem Broker verbunden wären und die tatsächliche Serverzeit abrufen wollten, würden Sie die Zeit vom Server Ihres Brokers zu dem Zeitpunkt abrufen, zu dem Sie Ihren EA im Strategietester ausgeführt haben, und das würde Ihnen wahrscheinlich nicht viel nützen.

Seien Sie also froh, dass die Serverzeit, die Sie erhalten, modelliert ist.


Das ist eigentlich nicht korrekt.

Das Skript, das ich verwende, versorgt die Tester-Engine mit der tatsächlichen historischen Serverzeit. Der Prozess erfordert, dass ich .csv-Dateien in .hst-Dateien und dann .hst- in .fxt-Dateien konvertiere. Die Tester-Engine wird nicht nur mit Marktticks (Bid/Ask) gefüttert, sondern auch mit dem zugehörigen Datum/Uhrzeit für jeden Tick. Die Daten/Zeit werden zusammen mit den Bid/Ask-Ticks an den Tester weitergeleitet. Ich habe das Testskript nicht entworfen, aber es erzeugt eine 99%ige Modellierung und, was am wichtigsten ist, der Candle Build für jeden Zeitrahmen entspricht dem historischen Markt. Mit anderen Worten: Da das Datum und die Uhrzeit zusammen mit den Ticks an den Tester weitergegeben werden, enthält jede erzeugte .hst-Datei das tatsächliche Marktvolumen, wie es vom Markt zu den mit jedem Balken verbundenen Daten und der Uhrzeit erzeugt wird.

Ich sollte die tatsächliche historische Serverzeit erhalten, verbunden oder getrennt vom Backend des Brokers. Dies ist, was das Skript tut, und das ist, wie ich in der Lage, Multi-Time-Frame-Backtesting zu tun.

 
CFx:

Das ist eigentlich nicht korrekt.

Das Skript, das ich verwende, versorgt die Prüfmaschine mit der tatsächlichen historischen Serverzeit. Der Prozess erfordert, dass ich .csv-Dateien in .hst-Dateien und dann .hst- in .fxt-Dateien konvertiere. Die Tester-Engine wird nicht nur mit Marktticks (Bid/Ask) gefüttert, sondern auch mit dem zugehörigen Datum/Uhrzeit für jeden Tick. Die Daten/Zeit werden zusammen mit den Bid/Ask-Ticks an den Tester weitergeleitet. Ich habe das Testskript nicht entworfen, aber es erzeugt eine 99%ige Modellierung und, was am wichtigsten ist, der Candle Build für jeden Zeitrahmen entspricht dem historischen Markt. Mit anderen Worten: Da das Datum und die Uhrzeit zusammen mit den Ticks an den Tester weitergegeben werden, enthält jede erzeugte .hst-Datei das tatsächliche Marktvolumen, wie es vom Markt zu den mit jedem Balken verbundenen Daten und der Uhrzeit erzeugt wird.

Ich sollte die tatsächliche historische Serverzeit erhalten, verbunden oder nicht verbunden mit dem Broker-Backend. Dies ist, was das Skript tut, und das ist, wie ich in der Lage, Multi-Time-Frame-Backtesting zu tun.

Es tut mir leid, dass Sie einige der Fakten nicht verstehen.

Ich habe auch Tick-Daten von Dukascopy verwendet, die von den Eareview-Skripten verarbeitet wurden, und ja, ich verstehe, wie sie funktionieren. Wenn Sie mit dem Strategy Tester am 31. Mai 2012 testen und die Daten, die Sie verwenden, aus dem Jahr 2008 stammen, ist die angegebene Serverzeit aus dem Jahr 2008, das ist eine modellierte Serverzeit und keine tatsächliche Serverzeit.

Übrigens ist die Zahl 99% Modellierungsqualität bedeutungslos ... es ist nur eine Zahl, die in die fxt-Datei geschrieben wird . . lesen Sie das Zeug bei eareview und Sie werden es selbst sehen. Sie brauchen keine Tick-Daten, um Backtests mit mehreren Zeitrahmen durchzuführen... Sie können keinen Zeitrahmen unterhalb von M1 betrachten... Ich stimme allerdings zu, dass Tickdaten als abschließende Prüfung eines EAs verwendet werden sollten. Vielleicht können wir uns darauf einigen.

 
CFx:

Drittens: Ich teste nicht in Build 427. Eine weitere Annahme, die nur ein Arsch machen würde.

Es ist keine Annahme, die ich gemacht habe... Ich wollte Sie nur wissen lassen, in welchem Build ich getestet habe... ich dachte, das sei relevant.
 
CFx:

Ich bekomme die Unterscheidung zwischen Day() und DayOfWeek(),

Tun Sie das? Ihr Code in Ihrem OP zeigt, dass Sie versuchen, einen Handel zu schließen, wenn der Tag 1 oder 2 usw. ist ... nun, der 1. April 2012 war ein Sonntag, Ihr Code wird einen Handel an einem Sonntag nicht schließen ... nun, wenn Sie DayOfWeek() anstelle von Day() gemeint hätten, hätte das vielleicht Sinn gemacht ...

Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57

Note: The problem is that all trades remain open Monday through Thursday, through 23:57. Also, all trades remain open on Friday, through 21:57.

Wo ist Ihre Prüfung für den Monat? Sie können nicht feststellen, ob Day() == 4 ein Freitag ist, wenn Sie nicht feststellen, was der Monat ist ... und was ist mit den anderen 3 Wochen des Monats? erwarten Sie ernsthaft, dass ich glaube, dass Sie nur die ersten 5 Tage des Monats handeln - selbst wenn sie ein Samstag oder Sonntag sind?

 
CFx:

Es funktioniert NICHT. Die Art der Mentalität, die automatisch davon ausgeht, dass es funktioniert, ist wahrscheinlich die gleiche Mentalität, die denkt, dass sie weiß, wie man handelt, wenn es nicht funktioniert.


Das ist nicht die Art von Mentalität, die ich habe, obwohl Sie eine ziemlich gute Arbeit geleistet haben, um zu zeigen, welche Art Sie haben,

Ich habe nichts vermutet, ich habe gesagt, dass es funktioniert, weil ich weiß, dass es funktioniert.

Strategie-Tester:

 
Kann jeder Körper erklären mir, was ist Funktion Rückgabewerte? Und wie es funktioniert im Detail plz....
 
Jonathan:
Kann jeder Körper erklären mir, was ist Funktion Rückgabewerte? Und wie es funktioniert im Detail plz....
Ich habe ein Thema nur für Sie erstellt: Was sind Funktionsrückgabewerte? Wie verwende ich sie?