Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 11.03.14
Forexcrawler Forexcrawler ist offline
Mitglied
 
Registriert seit: Feb 2014
Beiträge: 101
Forexcrawler befindet sich auf einem aufstrebenden Ast
Standard EA stellt Stück für Stück Handel ein??

Leute, bin gerade am verzweifeln.

Ich habe zwei MT4 Instanzen auf identischen Demokonten beim gleichen Broker laufen. Letzten Mittwoch habe ich eine Version meines Bastel-EAs (Grid) fertig gestellt und die Datei in beide reinkopiert.

Der eine handelt EURUSD und GBPUSD, der andere XAUUSD.

Habe sie Mittwoch gestartet und seither zugesehen. hat auf allen drei exakt so funktioniert, wie ich das wollte. Aaaaber....

Gestern Mittag stellte EURUSD plötzlich den Handel, den er vorher alle 10 Pip abgesetzt hat, ein. Gut, dachte, der Sturz war zu schnell, hat er nicht geschafft. Kurz drauf hat er einen 10 tiefer, also mit Distanz 20 statt 10, geöffnet. Aber auch als er wieder auf den 10er hoch kam - und da pendelte!! - hat er nicht auf gemacht? Habe ihn laufen lassen, seit gestern Mittag tradet er scheinbar 20, Parameter ist aber unverändert. Auch Neustart und MT4 schließen hat nix gebracht.

Das Interessante: Der GBPUSD im gleichen MT4 macht weiter was er soll, auch nach dem Neustart!

Jetzt wirds strange: Der XAU (Andere MT4 Instanz) hat bis vor einer Std. auch brav gehandelt... und dann plötzlich jeglichen Handel eingestellt. noch nicht mal in größerem Abstand macht er was.

Nach meinen Ausgaben, die ich mir schon letzten Mittwoch zum Debuggen eingebaut habe, scheint dieses Schnipsel nicht mehr zu klappen, die darin berechnete Anforderung wird nicht 1.

Habe es mit älternen funktionierenden Versionen verglichen, weder dort am Code noch an den verwendeten Variablen wurde irgendwas geändert, anders berechnet, etc. Auch OpenTrades ist gerade 2, während max = 100 ist. grid_lines ist 100. Seperationvalue =0.0010

Code:
   if(GetOpenTrades() <max_trades){
      Entertradebuy =0 ;
      Entertradesell=0 ;
       for (int i = 1; i<grid_lines; i++)
        {
         if (Ask == (StartPoint - GridSeperationvalue*i))
         {
           Entertradebuy=1 ;
         }
         if (Bid == (StartPoint + GridSeperationvalue*i))
         {
           Entertradesell=1 ; 
         }
         }
   }
Kluge Ideen?