Der Autor - Seite 3

 
ivandurak:
Ich bin gerade dabei, einen Strategietester zu schreiben, und stehe vor einem Dilemma: Wenn wir 4 als Basis nehmen, erhalten wir ein einfaches und sehr effektives Tool für die TS-Analyse auf der Grundlage von Handelsergebnissen. Wenn wir 5 nehmen, dann die Bequemlichkeit der Portabilität des Codes. Bislang tendiere ich imho zur ersten Option, wie man so schön sagt: Check or go.

Hierhttps://www.mql5.com/ru/forum/4956/page46#comment_117097 undhttps://www.mql5.com/ru/forum/4956/page47#comment_118646 können Sie sich einen ersten Überblick verschaffen.

Erst prüfen und streichen, dann fahren. imho.

 
Bene_Nota:
Und nach meinen Beobachtungen wiederholt sich die Geschichte nicht, so dass ich dem ersten Punkt nicht zustimmen würde.

Argumentieren Sie.

Wir sagen nicht, dass die derzeitige Bewegung genau einen Punkt näher an das herankommt, was sie war. Wenn wir ein paar Anzeichen für eine Flaute, ein paar Anzeichen für einen Trend nehmen und das alles in ein Neuronennetz einfügen, erhalten wir eine begrenzte Anzahl von Clustern (das ist nicht meine Schlussfolgerung, ich habe eine Notiz gesehen, in der ich sie nicht finden kann). Wir können für jedes Stück Geschichte oder jeden Cluster einen adäquaten TS erstellen, der keinen Beweis benötigt. Daher sollten wir rechtzeitig erkennen, in welchem Cluster wir uns befinden, um Zeit zu haben, einige Krümel herauszupicken. Statistiken erstellen, Zeit finden, über mögliche Trajektorien von Marktcharakteristika nachdenken, um präventiv den TS auszuwählen .........

Der.Mensch

Ich werde einen Blick darauf werfen. Die Sache ist die, dass, wenn wir die Philosophie der Reihenfolge und der Position für 5. Ich denke, dass die besten der multitemporalen Expert Advisors durch die Nettoposition kompliziert ist, ohne eine zusätzliche Gleichung ist es unmöglich zu sagen, welche TS auf eine Stunde oder Minute ist mehr vorzuziehen, und wenn Sie eine multitemporale Strategie habe ich nicht wissen, wie man eine solche Aufgabe außer für die Schaffung einer Reihe von Objekten und deren Verwaltung zu nähern. Auf 4 ist alles viel einfacher, was den Programmierkomfort angeht. Es reicht aus, ein Array von Strukturen zu erstellen, die den Auftrag beschreiben und von denen jede ihr eigenes Leben hat; alle Daten über Eröffnung, Abschluss, Gewinne und Verluste werden gespeichert. Das habe ich bereits getan, und es hat sich als eine recht akzeptable Lösung erwiesen.

 
ivandurak:

Zu ihr.mensch

Danke.

1) Die Sache ist die, dass, wenn wir die Philosophie der 5er-Reihenfolge und des Positionslaufs akzeptieren. Ich weiß nicht, wie ich dieses Problem lösen kann, außer durch die Erstellung einer Vielzahl von Objekten und deren Verwaltung.

2) In 4 ist alles viel einfacher, was die Bequemlichkeit der Programmierung anbelangt. Es reicht aus, ein Array von Strukturen zu erstellen, die den Auftrag beschreiben und von denen jede ihr eigenes Leben hat; alle Daten über Eröffnung, Abschluss, Gewinne und Verluste werden gespeichert. Ich habe es bereits getan, und es hat sich als eine recht akzeptable Lösung erwiesen.

1) Der Punkt ist, dass, wenn Sie ein virtuelles Journal (Tester) der Verwaltung und Buchhaltung Positionen in MT5, alle Probleme mit gleichzeitigen Tests von mehreren Strategien und Sperren (im Zusammenhang mit der Verwendung von mehreren Strategien), verschwinden. Sie können auch einen virtuellen Handel durchführen und auf der Grundlage der Analyse des virtuellen Handels Schlussfolgerungen für den realen Handel ziehen und die Gesamtposition auf den Markt bringen.

Ich habe so etwas in MT5, aber nicht als eine separate Bibliothek (Klasse), ich sehe keine Probleme.

2) In MT4 gibt es keineArray-Strukturen . In MT4 können Sie dasselbe ohne Probleme tun, aber Sie verwenden ein zweidimensionales Array anstelle des Arrays der Strukturen.

Vielleicht ist etwas zwischen MT4 und MT5 verwechselt worden?

 
her.human:

1) Das ist der Punkt, wenn Sie ein virtuelles Journal (Tester) von Verwaltungs- und Buchhaltungspositionen in МТ5 erstellen, verschwinden alle Probleme mit dem gleichzeitigen Testen von mehreren Strategien und dem Sperren (im Zusammenhang mit der Verwendung mehrerer Strategien). Sie können auch einen virtuellen Handel durchführen und auf der Grundlage der Analyse des virtuellen Handels Schlussfolgerungen in Bezug auf den realen Handel ziehen und die Gesamtposition auf den Markt bringen.

Ich habe so etwas in MT5, aber nicht als eine separate Bibliothek (Klasse), ich sehe keine Probleme.

2) In MT4 gibt es keineArray-Strukturen . In MT4 können Sie dasselbe ohne Probleme tun, aber verwenden Sie ein zweidimensionales Array anstelle des Arrays der Strukturen.

Vielleicht ist etwas verwechselt MT4 - MT5?

Wir sprechen über dieselbe Sache mit anderen Worten. Ich nutze die Handelsfunktionen von MT4 Copy nur als notwendiges und ausreichendes Minimum.

Ich habe noch ein anderes Problem: Wie synchronisiere ich Handelsinstrumente für Multicurrency-Tester? Ich werde die Artikel durchgehen.

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 
ivandurak:

Wir sprechen über dieselbe Sache mit anderen Worten.

1) Ich nutze die Handelsfunktionen der MT-4-Kopie nur als notwendiges und ausreichendes Minimum.

2) Ich habe ein weiteres Problem: Wie synchronisiert man Handelswerkzeuge in einem Multiwährungs-Tester? Ich werde die Artikel durchgehen.

1) Ich stimme zu. Mein Standpunkt ist derselbe.

2) Wir brauchen keine Synchronisierung für den Prüfer. Die Einspeisung von Zitaten in das Prüfgerät ist eine andere Sache.

Was ist das Problem mit der Synchronisierung? Vielleicht gebe ich Ihnen einen Tipp.

 
her.human:

1) Ich stimme zu. Das ist es, was ich meine.

2) Eine Synchronisierung ist für einen Prüfer nicht erforderlich. Die Einspeisung von Zitaten in das Prüfgerät ist ein anderes Thema.

Was ist das Problem mit der Synchronisierung? Vielleicht gebe ich Ihnen einen Tipp.

Ich habe die Aufgabe selbst noch nicht vollständig formuliert.

Für Multicurrency-Tests sollten alle Balken auf den ausgewählten Symbolen in einem ausgewählten Optimierungssegment synchronisiert werden, da es sonst bei einer Lücke zu einem Blick in die Zukunft kommen kann (Gral des Testers auf 4, Signale für ein Instrument können Positionen für ein anderes eröffnen ).

Im Grunde können wir die Details der Taktsynchronisation ausarbeiten, indem wir unser eigenes Array von synchronisierten Kursen bilden, das vom Tester verwendet wird.

Das Problem liegt in der Konstruktion von Indikatoren, auf denen Strategien in den meisten Fällen beruhen, denn der Wert des Indikators wird für eine bestimmte Taktzahl berechnet. Wenn wir die Dateien mit Geschichte in der vierten Version korrigieren können, können wir es hier nicht tun.

Als Alternative führen wir den EA im Mehrwährungsmodus aus, das Terminal synchronisiert die Historie selbst, nun schreiben wir die Historiendatei zusammen mit Indikatorwerten, und wenn nötig tauchen wir in sie ein, aber es ist das Kratzen am rechten Ohr mit der linken Hand.

 
ivandurak:

Ich habe noch ein anderes Problem: Wie synchronisiere ich Handelswerkzeuge, wenn ich einen Multiwährungs-Tester mache? Ich werde die Artikel durchgehen.

Es gibt eine Lösung für Synchronisationsprobleme für das echte Kontohier . Vielleicht erhalten Sie dadurch einige Anregungen zur Synchronisierung für Ihr Testgerät.
 

Am besten ist es bisher, eine Methode hinzuzufügen.

bool  HoleHistory(int Bar,string Simb) ;//метод возвращает признак дыры в истории если выбранный бар выбранного символа
      //моложе одноименного бара хотя бы одного из выбранных символов возвращaем фальсе расчеты на этом баре не производятся  
Es besteht jedoch nach wie vor eine Verbindung zu dem geprüften Finanzinstrument.
 
ivandurak:

Ich habe die Aufgabe noch nicht formuliert.

Für das Testen mehrerer Währungen sollten alle Balken auf ausgewählten Symbolen in einem ausgewählten Optimierungssegment synchronisiert werden, da sonst bei einer Lücke ein Blick in die Zukunft möglich ist (der Gral des Testers auf 4 - Signale für ein Symbol öffnen Positionen für ein anderes).

Im Grunde können wir die Details der Taktsynchronisation ausarbeiten, indem wir unser eigenes Array von synchronisierten Kursen bilden, das vom Tester verwendet wird.

Das Problem liegt in der Konstruktion von Indikatoren, auf denen Strategien in den meisten Fällen beruhen, denn der Wert des Indikators wird für eine bestimmte Taktzahl berechnet. Wenn wir die Dateien mit Geschichte in 4 korrigieren können, können wir es hier nicht tun.

Als Alternative lassen wir den EA im Mehrwährungsmodus laufen, das Terminal synchronisiert die Historie selbst, nun schreiben wir die Historiendatei zusammen mit den Indikatorwerten und tauchen bei Bedarf in sie ein.

Wenn ich das Problem richtig verstehe.

//=============================================================================================
// Подготавливаем массивы цен с синхронизацией по времени 
void PrepareQuotes()
{
 CopyTime("EURUSD",0,0,Количество_Баров,Time);
 CopyOpen("EURUSD",0,0,Количество_Баров,OpenEU);
 for(int i=0; i<Количество_Баров; i++)
    {
     CopyOpen("EURJPY",0,Time[i],1,OpenEJ);
     CopyOpen("EURGBP",0,Time[i],1,OpenEG);
    }
}
//=============================================================================================
// Получаем значение индикатора по времени    
CopyBuffer(handle,0,Time[i],1,Buffer);

Der Indikator sollte nicht nach der Taktnummer, sondern nach der Zeit berechnet werden. Oder berechnen Sie es selbst, es gibt genügend Bibliotheken in der Basis.

 
Wenn vor dem Takt für ein Instrument ein Sprung steht, ist es besser, gar nichts zu tun. Es ist leicht, die Lücke zu erkennen, es genügt, die Eröffnungszeit des Balkens mit der Eröffnungszeit des Balkens auf anderen Instrumenten zu vergleichen.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5