Einzelnen Beitrag anzeigen
  #17 (permalink)  
Alt 23.09.16
Trader6666 Trader6666 ist offline
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

hab auch nur über den thread geschaut, aber ich bin mir sicher dass Susanne recht hat.

Wenn immer wieder neue Order eröffnet werden, dann nur weil die EntrySignale nicht zurück gesetzt werden oder die Variable einfach falsch ist. Glaub damit hat jeder Neuling zu kämpfen, kenn das auch ganz gut. Versuchs mal so:

Code:
   double MA_lang            = iMA(NULL,0,MA_Periode_lang,0,0,0,1);
   double MA_lang_Vorperiode = iMA(NULL,0,MA_Periode_lang,0,0,0,2);
   double MA_kurz            = iMA(NULL,0,MA_Periode_kurz,0,0,0,1);
   double MA_kurz_Vorperiode = iMA(NULL,0,MA_Periode_kurz,0,0,0,2);

if(BarCount != Bars)
  {
    if(/*Regel Kreuzung Long*/)
   {
     //OrderSend Long rein hauen
   }
    if(/* Regel Kreuzung Short*/)
   {
     //OrderSend Short rein hauen
   }
   BarCount = Bars;
  }
so fragst du die Einstiegssignale nur einmal pro neuer Kerze ab, was bei Kreuzungen ja auch eher sinn macht. So sparst du dir auch das rücksetzten der Signale. Must oben eben nur noch BarCount initialisieren oberhalb von start(). Bedeutet du setzt einfach folgende Zeile hin : int BarCount =0 ;

Es gibt zich Tutorials zu C++. Würd dir empfehlen erst mal Basics zu lernen bevor du weiter machst, denn dann tust du dich nicht so schwer, das hält doppelt und dreifach auf.Wenn man nicht weiß wofür int, double oder string steht,dann macht das echt keinen Sinn. Bin auch kein Profi also quereinsteiger und tuh mich oft trotz einigem Wissen noch schwer. Gelernte Programmierer haben es eben leichter

LG