eine Rückkehr zum Märchen - Seite 4

 

Die Situation scheint so zu sein: Auf den Dukes gibt es 4 Ziffern (und Brüche) und auf den Nds gibt es 5...also in der Codestelle.

if(currentSymbolOrderPos < 0)
{
if(priceUp < ask-p)
{
up = up + 1;
priceUp = ask;
if(TimBoolUp == false)
{
TimeSpeedUp = TimeCurrent();
TimBoolUp = true;

}

es gibt eine natürliche Filterung mit Schwellenwert p ( Hysterese )...

Es ist möglich, dass das Hinzufügen eines ähnlichen Wertes für einen solchen Schwellenwert zum μl-Code die Situation in mt...
verbessern würde.

Dateien:
 
Bitte nennen Sie mir die Einstellungen(EA-Eingabeparameter, Symbol, TF, Spread, Broker), bei denen der FOC im Tester Graalität anzeigt.
 

default (das obige Beispiel)...anyf (es geht um Ticks)...euur -usd... alpari undd

Februar:


Chart-Mismatch-Fehler 0
Ersteinlage 1000.00
Nettogewinn 40153.45
Gesamtgewinn 50140.24
Gesamtverlust -9986.79
Rentabilität 5.02
Gewinnerwartung 102.43
Absoluter Drawdown 8.64
Maximaler Drawdown 2223.76 (5.28%)
Relativer Drawdown 5.28% (2223.76)
Gesamttransaktionen 392
Gewinntransaktionen (% von allen) 293 (74.74%)
Verlusttransaktionen (% von allen) 99 (25.26%)



 
atik:
Nun, in diesem habe ich die Öffnung des Balkens eingefügt... &&TimeCurrent()==Time[0]... es gibt also nur noch einen Wert, der im Tester voreingenommen ist ( mt synthesis ) es ist der Wert im Moment Speed

Eine solche Bedingung wird auch ausgelöst, wenn die Bar nicht geöffnet ist. Beispiel:

void start()
{
  static int PrevTime = 0;
  static int i = 0;
  
  int P = Period() * 60;
  
  if (Time[0] != PrevTime)
  {
    PrevTime = Time[0];
    i = 0;
    
    Print("NewBar: " + TimeToStr(PrevTime, TIME_SECONDS));
  }
    
  i++;
  
  Print("Tick " + i + ": " + TimeToStr(TimeCurrent() % P, TIME_SECONDS) + ", " + DoubleToStr(Bid, Digits));
      
  return;
}

P.S. Ersetzen Sie Ihre Bedingung durch diese:

... && Volume[0] == 1)
und sehen Sie sich die Ergebnisse an.
 
hrenfx:

Eine solche Bedingung wird auch ausgelöst, wenn die Bar nicht geöffnet ist. Beispiel:

P.S. Ersetzen Sie Ihre Bedingung durch diese:

und Sie werden das Ergebnis sehen.

Warum sollten Sie ein Volumen gleich ==1 einfügen wollen? Sie könnten diese Bedingung übrigens ganz entfernen...

Es ist sinnvoll, einen Schwellenwert für die Menge einzuführen:

... && Volume[0] > PV )
 

Diese Bedingung ist nur bei der Öffnung der Bar erfüllt.

P.S. Der Gral im Testgerät entpuppt sich als genau das.

 
hrenfx:

Diese Bedingung ist nur bei der Öffnung der Bar erfüllt.

P.S. Der Gral im Testgerät entpuppt sich als genau das.


Es gibt also eine logische Lösung: Warum nicht den Einstiegszeitpunkt durch den Zeitpunkt der Balkeneröffnung begrenzen (oder z.B. nach der Balkeneröffnung beim 1. oder 2. oder 3. Tick) und die vorherigen Ticks auf die gleiche Weise wie bei mt synthetisieren (und diese synthetischen Ticks anstelle der realen zum Vergleich heranziehen)?
 
Der Gral hätte in diesem Fall funktioniert, wenn die Eröffnung der Positionen zu Beginn des Taktes stattgefunden hätte.
 
hrenfx:
Der Gral hätte in diesem Fall funktioniert, wenn die Eröffnung der Positionen zu Beginn des Taktes stattgefunden hätte.

d.h. glauben Sie, dass es möglich ist, ein reales System zu schaffen, das dem Testersystem im Prinzip ähnlich ist, indem man das oben erwähnte Prinzip seiner Schaffung verwendet?
 

Sie haben einen völlig berechtigten Versuch unternommen, die Vorausschau in diesem EA abzuschaffen - nur am Anfang eines Taktes zu öffnen. Wenn eine solche Eröffnung korrekt umgesetzt würde, würde dieser EA Gewinn zeigen, dann wäre er genauso gut für reale geeignet. Man müsste lediglich die Synthese der Tester-Ticks simulieren.

All dies ist natürlich Unsinn. Es ist besser, solche Ideen von Anfang an anhand von Tickdaten zu überprüfen.