Schließung von Positionen. Anzeigesignal. - Seite 7

 
Führen Sie einen Test der Eröffnungspreise durch. Ich selbst habe dies (seit Anfang dieses Jahres): Ich denke darüber nach, wie man Rückschläge reduzieren kann. Mein Expert Advisor ist auf Demo, ich habe 50% der Einzahlung in einer Woche gemacht (ohne MM). Vielleicht können wir unsere Erfahrungen austauschen.
 

Der Experte wirkt auf alle Zecken. Überhaupt nicht über die Eröffnungspreise. Im Download - Test für den 8. Februar

Dateien:
1111_1.zip  72 kb
 
Zum Beispiel zeigen meine Ticks im Tester ein Bild wie Ihres, aber wenn ich nach Balken teste, ist es ein bisschen anders, viel näher an der Realität (ich habe es mit der Demo verglichen). Dies sind nur meine Erfahrungen (ich bin im Grunde ein Anfänger) und meine Beobachtungen. Vielleicht liege ich grundlegend falsch, das lässt sich nicht leugnen. Ich weiß nicht, ob es ein Zufall ist oder nicht, aber hier ist mein Bild aus dem Demo-Konto: IMHO, sehr ähnlich zu Ihrem :)
 

Ich hatte noch keine Zeit, einen Posteingang zu erfassen. Und ich habe keinen Posteingang, der an Wochenenden arbeitet. Das verstehe ich nicht ganz. Die Tests sollten in diesem Modus durchgeführt werden, der im Code des Expert Advisors verwendet wird. Wenn der Algorithmus mit allen Ticks arbeitet, ist es falsch, nach Eröffnungskursen zu testen. Sie machen sich nur selbst etwas vor.

Sie müssen verstehen, warum die Ergebnisse in den verschiedenen Modi unterschiedlich sind. Zugleich ist "zu Eröffnungspreisen" ein schlechteres Ergebnis. In der Regel ist das Gegenteil der Fall.

Wenn der Expert Advisor "zu Eröffnungskursen" arbeitet, muss das Testergebnis außerdem mit dem Ergebnis von "zu allen Ticks" übereinstimmen. Sie fallen fast zusammen.

 

Es geht um den Tick-Generator des Testers. Die Bedingungen dort sind ideal. Z.B. Eingangsbedingung: a = 1,5001. Im Test wird es zu 100 % stimmen, aber in der Realität ist es vielleicht nicht so. Der Preis kann von 1,4999 auf 1,5003 pro 1 Tick steigen. Die Bedingung ist verfehlt, der Handel wurde nicht eröffnet. Sollte ich mich irren, wäre ich Ihnen dankbar, wenn Sie mich korrigieren würden.

Hier ist mein Zeckentest:

Ersteinlage 700.00



Reingewinn 6157.73

Maximale Absenkung 74.80 (1.50%)

Preise für die Eröffnung:

Ersteinlage 700.00



Reingewinn 1304.47

Maximale Absenkung 514.82 (29.40%)
----

Ich habe in meinem Expert Advisor die Umschaltung zwischen Ticks/Balken vorgesehen. Wenn Sie die Steuerung der Balkenöffnung aktivieren, fallen die Tests in Ticks und Balken natürlich zusammen. Das Bild ist dasselbe wie das oben gezeichnete Bild der Eröffnungspreise.

 
Lukyanov:

Das ist der Tick-Generator des Testers. Der Kurs kann pro Tick von 1,4999 auf 1,5003 springen. Die Bedingung wurde nicht erfüllt, der Handel wurde nicht eröffnet.

Ja, das ist möglich. Dennoch. Ich denke, es ist unzulässig, einen Expert Advisor zu testen, der mit allen Ticks zu Eröffnungskursen arbeitet. Und wir werden unzuverlässige Daten über große Zeiträume erhalten. Im Gegenteil, wenn dieser Experte mit offenen Kursen arbeitet, dann ist das Testen "zu allen Ticks" möglich und notwendig.....

Und es gibt einen Parameter für den Schlupf - extern int Slippage=...;

 
Schlupf ist eine Sache, aber die Bedingung: offen, wenn a = 1,5000 ist eine ganz andere...
 

Guten Tag zusammen! Diese Frage mag naiv erscheinen, aber genau das hat mich in Schwierigkeiten gebracht...

Ich habe einen Indikator, den ich in meinem Expert Advisor verwenden möchte. Hier ist die Tabelle. Hier ist der Code.

#property copyright "Copyright © 2006 , David W Honeywell , 12/12/2006"
#property link      "HellOnWheels.Trans@gmail.com"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

#property indicator_maximum 100.0
#property indicator_minimum   0.0

#property indicator_level1 70
#property indicator_level2 50
#property indicator_level3 20

extern int IndicatorTime =  0;
extern int RSI_Periods   = 14;
extern int Applied_Price =  0;
extern int LineWidth     =  4;

double Buffer0[];
double Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,LineWidth);
SetIndexBuffer(0,Buffer0);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,LineWidth);
SetIndexBuffer(1,Buffer1);

IndicatorShortName(" ColorRSI ( "+RSI_Periods+" )");

return(0);  
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+

int start()
{
  
  int     counted_bars=IndicatorCounted();
  double  RSIValue;
  int     i;
  int     limit;

  limit = Bars-counted_bars;
  
  for(i=limit; i>0; i--)
   {
     RSIValue=iRSI(Symbol(),IndicatorTime,RSI_Periods,Applied_Price,i);
    if (RSIValue > 50.00000000)
     {
       Buffer0[i] = RSIValue;
       Buffer1[i] = EMPTY_VALUE;
       if (Buffer0[i+1] == EMPTY_VALUE) Buffer0[i+1] = Buffer1[i+1]; 
     }
    else
     {
       Buffer0[i] = EMPTY_VALUE; 
       Buffer1[i] = RSIValue;
       if (Buffer1[i+1] == EMPTY_VALUE) Buffer1[i+1] = Buffer0[i+1]; 
     }
   }

//---- done
  
  return(0);
}

 

Ich kann nicht herausfinden, wie ich die Bedingung für den Wechsel von Rot zu Grün und umgekehrt festlegen kann!

Und wie stelle ich den i Custom-Ausdruck ein, um diesen Übergang zu implementieren... Bitte antworten Sie, wenn Sie etwas wissen...

 
if ( Buffer0[i+1] != EMPTY_VALUE && Buffer0[i+2] == EMPTY_VALUE )
{
  // началась зеленая линия
}
Es ist mehr oder weniger wie folgt