Bibliotheken: BestInterval - Seite 3

 
fxsaber:

Es würde mich nicht wundern, wenn es auf Netting läuft. CloseBy funktioniert dort nicht.

Mach es bei einem Hedge. Beim Netting habe ich mich nicht damit beschäftigt, weil MT4-advisor natürlich nicht in diesem Modus laufen sollte.

Ja, es ist eine Art Hedge. Oder ist das im MT5 anders eingerichtet?

Konto-Typ

 
Mikola_2:

Ich glaube, es ist eine Absicherung. Oder ist es noch irgendwo anders im MT5 anpassbar?

Ich habe den Tester seit einigen Monaten nicht mehr auf regulären MT5-Symbolen laufen lassen. Vielleicht habe ich etwas nicht beachtet.

Schreiben Sie den Namen des Handelsservers, ich werde es überprüfen.

 
fxsaber:

Ich habe den Tester seit einigen Monaten nicht mehr auf MT5-Symbolen laufen lassen. Vielleicht habe ich etwas nicht beachtet.

Schreiben Sie den Namen Ihres Handelsservers, ich werde es überprüfen.

AlpariEvrasia-MT5-Demo
 
Mikola_2:
AlpariEvrasia-MT5-Demo

Server unterstützt CloseBy nicht

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

PositionCloseBy funktioniert nicht in realen Konten

fxsaber, 2018.07.24 16:42

bool IsCloseBy( const string Symb )
{
  return(SymbolInfoInteger(Symb, SYMBOL_ORDER_MODE) & SYMBOL_ORDER_CLOSEBY);
}


ZY Sync.mqh aktualisiert. CloseBy wird nicht mehr verwendet. Es ist einfacher, die Geschichte in Berichten und Charts zu analysieren. Vielen Dank für den Bericht!

So sehen die Trades und das geworfene Intervall auf dem Tester-Chart aus

 

Auf dem MQ-Demoserver verlieren die Daten immer -1127 bei 10K initial.

Es war besser auf FxChoice.


Ich habe keinen Unterschied bei diesem Expert Advisor gesehen, aber ich habe einen Fehler gefunden :)

Wenn ich die Bibliothek anschließe, kann Virtual die Zeile mit OrderSend nicht kompilieren.


Ich lüge, das Ergebnis wird angezeigt :)

2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 0
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 1
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   15:34:37 - 19:55:39 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58


Dateien:
 
fxsaber:

Der Server unterstützt CloseBy nicht

ZY Sync.mqh aktualisiert. CloseBy wird nicht mehr verwendet. Die Analyse der Historie in Berichten und Diagrammen ist nun einfacher. Vielen Dank für den Bericht!

So sehen die Trades und das geworfene Intervall auf dem Tester-Chart aus

Urrraaaaah, es funktioniert! :)))) Ich muss nur noch einige Anpassungen vornehmen, damit die Zahlen übereinstimmen.

Hier ist ein erster Durchlauf:

Aktion = false

Hier ist einer mit Action = true:

Aktion = true

Hier sind die Tester-Statistiken:

Tester 1 Tester 2

 
Mikola_2:

Urrrraaaaah, es funktioniert! :)))) Ich muss nur noch einige Anpassungen vornehmen, damit die Zahlen übereinstimmen.

Bei Action = false zeigt OnTester den Gewinn an, der dem berechneten besten Intervall entspricht.

Mit Action = true (dieser Modus ist nur bei einzelnen Durchgängen sinnvoll) zeigt OnTester den Endsaldo an, der Action = false entspricht;


D.h. wenn Action = on ist, zeigt OnTester das Ergebnis so an, als ob es das beste Intervall nicht gäbe. Sie können also nachvollziehen, um wie viel Prozent sich das Ergebnis verbessert hat, indem Sie die Daten in zwei Zeilen vergleichen: Endsaldo und OnTester-Ergebnis.


Was die Null SUMMARY betrifft, wenn Action = true. Es handelt sich nicht um einen Fehler. Ich habe es so gemacht, dass ich verstehen konnte, dass der Modus Action = true läuft. Es wird notwendig sein, dies anders zu melden und SUMMARY korrekt zu füllen. Es ist nur von geringem Nutzen, weil alle diese Daten bereits im Bericht des Testers enthalten sind.

 
...:

Auf dem MQ-Demoserver verlieren die Daten immer -1127 bei 10K initial.

Auf FxChoice war es besser.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.

Bibliotheken: BestInterval

fxsaber, 2018.10.16 23:51

Auf regulären MT5-Symbolen habe ich Tester seit einigen Monaten nicht mehr laufen lassen.


Ich habe keinen Unterschied bei diesem EA gesehen, aber ich habe einen Fehler gefunden :)

Wir brauchen Daten, um einen kritischen Fehler zu reproduzieren.

Beim Verbinden der Bibliothek kann Virtual die Zeile mit OrderSend nicht kompilieren

In der Beschreibung von Virtual heißt es, dass es nur für Codes im MT4-Stil funktioniert. Ihr EA ist im MT5-Stil. Daher wird er nicht mit Virtual kompiliert. Außerdem wird Action = true nicht funktionieren, da hier die Handelsumgebung Virtual verwendet wird. Action = false wird jedoch funktionieren. Aus diesem Grund sollten Sie für den MT5-Stil nur diese Zeilen hinzufügen

#include <MT4Orders.mqh> // https://www.mql5.com/de/code/16006

#define  BESTINTERVAL_ONTESTER
#include <fxsaber\BestInterval\BestInterval.mqh>


Ich schreibe alles im MT4-Stil. Das ist bequem und universell.

 
fxsaber:

Bei Action = false zeigt OnTester den Gewinn an, der dem berechneten besten Intervall entspricht.

Bei Action = true (dieser Modus ist nur bei einzelnen Durchgängen sinnvoll) zeigt OnTester den Endsaldo an, der Action = false entsprach;

D.h. wenn Action = on ist, zeigt OnTester das Ergebnis so an, als ob es das beste Intervall nicht gäbe. Sie können also nachvollziehen, um wie viel Prozent sich das Ergebnis verbessert hat, indem Sie die Daten in den beiden Zeilen vergleichen: Endsaldo und OnTester-Ergebnis.

Was die Null SUMMARY betrifft, wenn Action = true. Es handelt sich nicht um einen Fehler. Ich habe es so gemacht, dass ich verstehen konnte, dass der Modus Action = true läuft. Es wird notwendig sein, dies anders zu melden und SUMMARY korrekt zu füllen. Es ist nur von geringem Nutzen, weil all diese Daten bereits im Bericht des Testers enthalten sind.

Nö... :)

Sehen Sie, es sind vier Ziffern:

Aktion = false: Endsaldo 9080,02

EinTester 11895

Aktion = wahr: Endsaldo 13271,09.

OnTester 12931.

Keine von ihnen stimmt überein. Es scheint mir, dass OnTester die Summe irgendwo falsch zusammenfasst.

Und irgendetwas muss mit irgendetwas übereinstimmen, wie soll man sonst sicherstellen, dass alles richtig berechnet wird... :)

 
Mikola_2:

Nö... :)

Schau, es sind vier Ziffern:

Aktion = false: Endsaldo 9080,02

OnTester 11895

Aktion = wahr: Endsaldo 13271,09

EinTester 12931

Keiner der Posten stimmt überein. Ich denke, OnTester fasst die Summe irgendwo nicht richtig zusammen.

Und irgendetwas muss ja übereinstimmen, wie kann man sonst sicher sein, dass alles richtig berechnet wird... :)

Das ist ganz einfach zu erklären. Die hervorgehobene Zahl ist der Endsaldo in der virtuellen Handelsumgebung. Sein Gewinn wird mit TickValue = 1 berechnet. Und MT5-Tester ändert TickValue bei jedem Tick. Zu diesem Zweck zieht er insbesondere Daten von anderen Paaren heran. Außerdem berechnet Virtual keine Kommissionen und Swaps, da dies nicht wirklich notwendig ist, genau wie TickValue.

Ich selbst lasse alles über benutzerdefinierte Symbole laufen. Und dort ist der Swap gleich Null. Alle Abrechnungswährungen sind gleich der Einzahlungswährung. Dann stellt sich heraus, dass es eine vollständige Übereinstimmung ist.

Im Allgemeinen ist der hervorgehobene OnTester der TS-Gewinn ohne Verwendung des besten Intervalls, berechnet mit TickValue = 1, Commission = Swap = 0. Deshalb ergibt sich, dass der Handel mit einem Lot immer einen ganzen OnTester ergibt.