Frage zum Berater für mehrere Währungen - Seite 6

 

Nun, das ist hier nicht die Beschwerde.

Es ist, als würden Sie die Regeln zum ersten Mal sehen.... Dieses Thema wurde bereits in den ersten Threads zur Meisterschaft erörtert - siehe die Homepage

 

Ich teste und optimiere meinen Expert Advisor auf der Metaquotes-Historie. Zuerst habe ich mit dem 208er Build (Installation für Alpari) gearbeitet - ich brauche Gegenpunkte, aber 209 hat sie nicht. Später habe ich den Expert Advisor mit denselben Parametern und mit derselben von Metaquotes heruntergeladenen Historie auf dieselbe Weise im Build 209 (Installation durch Metaquotes) getestet. Die Ergebnisse sind sehr unterschiedlich. Auch die Anzahl der Balken in der Historie und die Anzahl der simulierten Ticks sind unterschiedlich, auch wenn die Tests von gleicher Qualität sind. Bitte sagen Sie mir den Grund für den unterschiedlichen Betriebsalgorithmus der Builds 208 und 209, oder liegt es vielleicht an den Einstellungen der Symbole (Spread, Swap, Deposit, Stop-Levels usw.) in einem Fall sind es die von Alpari, im anderen - die von Metakvotes? Oder ist der Grund ein anderer? Und wie teste und optimiere ich die Daten von Metakvotes richtig - die Geschichte hat einen 208er Build von Alpari? Wo kann ich die Version 208 (Metakvotes-Installation) herunterladen?

Ich habe den Verlauf mit Renats Rezept 'Automated Trading Championship 2007: Common Errors in EAs' heruntergeladen und zuvor alle .hst-Dateien gelöscht.

Strategie-Tester-Bericht
Arbeiter
MetaQuotes-Demo (Build 208)


Symbol EURUSD (Euro gegenüber US Dollar)
Zeitraum 15 Minuten (M15) 1999.01.05 13:00 - 2007.09.07 22:45
Modell Alle Ticks (basierend auf allen kleinsten verfügbaren Perioden mit fraktaler Interpolation jedes Ticks)
Parameter
Bars in der Geschichte 215177 Modellierte Zecken 13375536 Qualität der Modellierung 89.96%
Ersteinlage 10000.00
Reingewinn 3484.57 Gesamtgewinn 14828.81 Totalverlust -11344.24
Rentabilität 1.31 Erwartung des Gewinns 7.20
Absolute Absenkung 896.44 Maximale Absenkung 1255.96 (12.12%) Relative Absenkung 12.12% (1255.96)
Handel insgesamt 484 Short-Positionen (% Gewinn) 249 (47.79%) Long-Positionen (% Gewinn) 235 (52.77%)
Gewinnbringende Geschäfte (% von allen) 243 (50.21%) Verlustgeschäfte (% von allen) 241 (49.79%)
Größte ertragreicher Handel 426.34 Verlustgeschäft -99.96
Durchschnitt profitables Geschäft 61.02 Verlustgeschäft -47.07
Maximale Anzahl kontinuierliche Gewinne (Gewinn) 6 (466.42) Kontinuierliche Verluste (Verlust) 7 (-275.39)
Maximum Kontinuierlicher Gewinn (Anzahl der Siege) 653.20 (4) Kontinuierlicher Verlust (Anzahl der Verluste) -286.62 (3)
Durchschnitt laufende Gewinne 2 Kontinuierlicher Verlust 2

Strategie-Tester-Bericht
Arbeiter
MetaQuotes-Demo (Build 209)


Symbol EURUSD (Euro gegenüber US Dollar)
Zeitraum 15 Minuten (M15) 1999.01.05 13:00 - 2007.09.07 22:45 (1970.01.01 - 2007.09.08)
Modell Alle Ticks (basierend auf allen kleinsten verfügbaren Perioden mit fraktaler Interpolation jedes Ticks)
Parameter
Bars in der Geschichte 215437 Modellierte Zecken 15419309 Qualität der Modellierung 89.96%
Ersteinlage 10000.00
Reingewinn 1882.77 Gesamtgewinn 13653.61 Totalverlust -11770.84
Rentabilität 1.16 Erwartete Auszahlung 3.82
Absolute Absenkung 896.21 Maximale Absenkung 1331.85 (12.52%) Relative Absenkung 12.52% (1331.85)
Handel insgesamt 493 Short-Positionen (% Gewinn) 263 (48.67%) Long-Positionen (% Gewinn) 230 (51.30%)
Gewinnbringende Geschäfte (% von allen) 246 (49.90%) Verlustgeschäfte (% von allen) 247 (50.10%)
Größte ertragreicher Handel 426.34 Verlustgeschäft -99.96
Durchschnitt profitables Geschäft 55.50 Verlustgeschäft -47.66
Maximum kontinuierliche Gewinne (Gewinn) 6 (466.42) Kontinuierliche Verluste (Verlust) 7 (-275.39)
Maximum Kontinuierlicher Gewinn (Anzahl der Siege) 522.72 (3) Kontinuierlicher Verlust (Anzahl der Verluste) -318.74 (5)
Durchschnitt laufende Gewinne 2 Kontinuierlicher Verlust 2

 

Offensichtlich liegt es am Zitat-Feed selbst. Zum Beispiel sind die Eröffnungs-/Schlusskurse der verschiedenen historischen Versionen leicht unterschiedlich und daher wird die Kursbewegung innerhalb eines Balkens leicht unterschiedlich modelliert! Und mit den Haltestellen 40/50 wird dies bereits Auswirkungen haben.

Auch, es ist nicht ganz klar - haben Sie den Test beide Male auf mt4 Alpari tun? (Mit unterschiedlichen Anführungszeichen).

Oder das zweite Mal mit mt4 MQ? Vielleicht sind die Spreads dort anders. Und bei 500 Geschäften ist bereits 1 Pip "-500".

Und die Tauschgeschäfte sind die gleichen...

 
rid:

Offensichtlich ist es der Preis, der sich selbst ernährt. So sind z.B. die Eröffnungs-/Schlusskurse der verschiedenen historischen Versionen leicht unterschiedlich und somit wird auch die Kursbewegung innerhalb des Balkens leicht unterschiedlich modelliert! Und bei Stopps =40/50 wird sich dies bereits auswirken.

Auch, es ist nicht ganz klar - haben Sie den Test beide Male auf mt4 Alpari tun? (Mit unterschiedlichen Anführungszeichen).

Oder das zweite Mal mit mt4 MQ? Vielleicht sind die Spreads dort anders. Und bei 500 Geschäften ist bereits 1 Pip "-500".

Und Tauschgeschäfte sind das Gleiche...


Worum geht es hier? Die Angebote werden vom Metacvotecs History Centre auf beide Terminals hochgeladen. Das erste Terminal wurde aus der Alpari-Installation (Build 208) erstellt, das zweite aus der Metakvotes-Installation (Build 209). Beide wurden wiederum in ein Testkonto eingeloggt (das von Metakvotes für die Teilnahme an der Meisterschaft ausgestellt wurde) und die Zitate wurden nach Renats Rezept hochgeladen. Die ersten 300 oder so Trades gehen fast 1:1 (was die Identität der Quotes, Spreads, Swaps... bestätigt), dann anders (siehe die Aussagen). Verblüffenderweise die gleiche Qualität der Modellierung :(

Und noch etwas Überraschendes: der Expert Advisor ist nicht komplex, er verwendet nur einen eingebauten Indikator und zeigt 2-3 mal bessere Ergebnisse auf Alpari Daten als auf Metakvotes History Center Daten. Und keine Optimierung erlaubt es ihm, auch nur in die Nähe der Alpari Ergebnisse zu kommen. Dies trotz der Tatsache, dass beim Handel mit konstanten 0,1 Lot MOL über 35, PF = 2,5, Angebote dauern manchmal für mehrere Tage, dh TS eindeutig nicht Scalper / Scalper.

Dateien:
test.zip  278 kb
 

Eine weitere Vermutung, die ich anstellen kann, ist diese.

Ich hatte auch schon Probleme mit der Historie, wenn ich ein MT4-Terminal bei verschiedenen DCs angemeldet habe. Zunächst schien alles in Ordnung zu sein. Und dann muss ich irgendwo geklickt haben, und Teile der Geschichte des einen Maklerunternehmens (für ein und dasselbe Paar) begannen sich in die Geschichte eines anderen einzuschleichen. Oder die Brocken fielen ganz heraus. Schließlich ist alles so durcheinander geraten, dass ich mich weigere, an einem Terminal Konten verschiedener Maklerfirmen zu eröffnen.

Jetzt habe ich vier Mt4-Konten in meinem copm von verschiedenen Maklerfirmen, aber das Problem mit diesem Chaos wurde gelöst! Versuchen Sie, es auf die gleiche Weise zu tun.

P.S. Ich habe es auch bemerkt. Es gibt eine Brokerfirma Masterforex (betrachten Sie es nicht als Werbung - ich sage nur ...) . So mit seinen Zitaten, meine EAs aus irgendeinem Grund zeigen hervorragende Ergebnisse auf Geschichte. Aber auf Lite oder Alpari - mit denselben Parametern und derselben Qualität - etwas schlechter.

 
rid:

Eine weitere Vermutung, die ich anstellen kann, ist diese.

Ich hatte auch schon Probleme mit der Historie, wenn ich ein MT4-Terminal bei verschiedenen DCs angemeldet habe. Zunächst schien alles in Ordnung zu sein. Und dann muss ich irgendwo geklickt haben, und Teile der Geschichte eines Maklerunternehmens (für ein und dasselbe Paar) begannen sich in die Geschichte eines anderen einzuschleichen. Oder die Brocken fielen ganz heraus. Schließlich ist alles so durcheinander geraten, dass ich mich weigere, an einem Terminal Konten verschiedener Maklerfirmen zu eröffnen.

Jetzt habe ich vier Mt4-Konten in meinem copm von verschiedenen Maklerfirmen, aber ich habe das Problem mit diesem Chaos behoben! Versuchen Sie, dasselbe zu tun.


Danke, aber ich bin mir dieses Problems bewusst. Ich habe oben geschrieben, dass ich saubere Installationen genommen habe, sie installiert habe, alle .hst-Dateien gelöscht habe, jedes der beiden Terminals auf nur ein Konto angemeldet habe, das von Metacvotes ausgestellt wurde, alle anderen Terminals aus dem config-Ordner gelöscht habe, damit es keine Verwirrung geben kann und fremde Teile der Geschichte nirgendwo herkommen können. Und rein das Tester-Terminal Alpari, auf dem ich früher 2-3 mal bessere Ergebnisse bekam, hat sich nie bei einer Brokerfirma oder einem Konto angemeldet. Es ist mit Alpari .hst-Dateien geladen.
 
Es bleibt die Frage, warum die gleiche Simulationsqualität bei unterschiedlicher Anzahl von Balken und simulierten Ticks gegeben ist? Und außerdem, wo ist die Garantie, dass der Download-Ordner mit einem größeren Volumen der Geschichte ohne Auslassungen? Es stellt sich heraus, der quantitativen Bewertung der Simulationsqualität durch den Prüfer nicht zu trauen ist?
 

Sie können niemandem trauen!

Ich glaube nicht, dass das Testgerät auf die Anzahl der Balken reagiert.

Was die Bewertung der Qualität betrifft, so wird die Quantität der Qualität anhand der folgenden Kriterien bewertet: - Wie vollständig der getestete Zeitrahmen mit den darin befindlichen Minutennotierungen gefüllt ist. Wenn er voll ist, dann =90%. Wenn er nicht vollständig gefüllt ist, ist die Qualität geringer.

Aber ich habe unerklärliche Einbrüche in den Kursen (von September bis Oktober/November 2006) für alle TFs in Fuj und Kiwi (beim Laden). Der Tester bemerkt dies jedoch nicht und gibt =90% an, da alle anderen Balken in jedem Zeitrahmen vollständig mit Minuten gefüllt sind.

Und die Tatsache, dass die Balken fehlen - sieht der Prüfer nicht.

Vielleicht fehlt Ihnen irgendwo eine Woche oder zwei der Geschichte. Darin liegt der Unterschied.

Z

 

Die Frage nach einem Mehrwährungs-EA ist erneut aufgetaucht. Eines der Paare muss im Modus "Offener Preis" funktionieren! Ich habe in den Artikeln ein Beispiel für ein solches Design gefunden. Ich habe sie zunächst in die Einzelversion eingefügt. Alles hat funktioniert.

int start()
//ждем открытия нового бара. Если появл. новый бар - проверяем возможность сделки
 {if(Time[0] == prevtime) 
       return(0);
   prevtime = Time[0];

Dann habe ich sie auf die gleiche Weise in meinen Multiwährungs-Expert Advisor eingefügt. Und alle Paare arbeiteten auf der Grundlage ihrer Eröffnungskurse. Aber ich brauche sie nicht alle. Ich brauche nur einen - das zweite Paar. Ich habe es so gemacht:

Ich habe in global - static int prevtime = 0 deklariert;

ЗАДАЕМ ВНЕШНИЕ ПАРАМЕТРЫ ПО КАЖДОЙ ПАРЕ
 static int prevtime = 0;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
 
int start()
  {  
 int Orders=OrdersTotal ();     //получаем кол-во открытых ордеров
if (Orders<3)                 //если  открытых ордеров <3
  { 
if (выключатель 1 вкл) {РАСЧЕТ ИНДЮКОВ И ОТКРЫВАЕМ ПЕРВУЮ ПАРУ } 
if (выключатель 2 вкл) 
{
if(Time[0] == prevtime) 
       return(0);
   prevtime = Time[0]; 
 
РАСЧЕТ ИНДЮКОВ И ОТКРЫВАЕМ ВТОРУЮ ПАРУ } 
  }
//========================================================================
for (int x=0; x<OrdersTotal(); x++)                                             {
    if (OrderSelect(x, SELECT_BY_POS, MODE_TRADES)) 
{       
if (UseTrailing 1) - ТРЕЙЛИНГ ПЕРВОЙ ПАРЫ
... ... ...
if (UseTrailing 2) - Трейлинг второй пары
}
//======================================================================
   return(0);
  }

Außerdem wird nach jedem Ticket des zweiten Paares eingefügt:

ticket=OrderSend("EURUSD", OP_BUY,Lots,_ask ,3,_bid-SL_long*_point,
                       _ask +TP_long*_point,"M_4",MagicEURUSD,0,CLR_NONE);
 
                        Sleep(30000);
                       if(ticket < 0)   {
                           prevtime = Time[1];
                         }

Nichts funktioniert! Der EA arbeitet mit dem zweiten Paar durch alle Ticks weiter!

Ich habe eine andere Konstruktion versucht. Ich habe eine andere ausprobiert.

bool isNewBar=false;
if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; }
//-------------------------------------------------------
 
if (isNewBar) {

Ich setze Variablen im Voraus:

int         ExpertBars;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
ExpertBars = Bars;
//----------------
   return(0);

Aber .... Dieselbe Geschichte. Wenn ich es an den Anfang stelle - alle Paare arbeiten mit Eröffnungspreisen. Aber wenn ich es auf ein Paar anwenden will, funktioniert es nicht! Ich kämpfe nun schon den dritten Tag.

Ich bin für jeden Ratschlag und jede Empfehlung dankbar....

 
rid:
Die von ME rot hervorgehobenen Namen beziehen sich auf das Instrument, dem der EA zugeordnet ist. Versuchen Sie, iTime() anstelle von Time[] zu verwenden.