Einzelnen Beitrag anzeigen
  #7 (permalink)  
Alt 03.03.18
next user next user ist offline
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Ein Teil, warum es nicht geht, hat Raul0 schon erwähnt. Du kannst natürlich kein Fractal bei der aktuellen Kerze erwarten.
Üblicherweise kommt ein Shift von min. 3 zum Einsatz, damit sich die Kerzen für ein Fractal vollständig gebildet haben
und nicht die aktuell laufende Kerze (noch "undefiniert") miteinbezogen wird.

Der andere Teil, der noch zu beachten ist, auch bei Shift 3(4,5,...) muss nicht unbedingt ein Fractal sein.

Eine einfache Möglichkeit wäre folgende:
Code:
double lastfractUP = 0;
double lastfractLO = 0;

for(int i=3; i<20; i++)
{
   if(lastfractUP == 0 && iFractals(NULL,0,MODE_UPPER,i) > 0)
      lastfractUP = iFractals(NULL,0,MODE_UPPER,i);
      
   if(lastfractLO == 0 && iFractals(NULL,0,MODE_LOWER,i) > 0)
      lastfractLO = iFractals(NULL,0,MODE_LOWER,i);
      
   if(lastfractUP > 0 && lastfractLO > 0)
      break;
}
Hier werden als Beispiel die letzten 20 Kerzen (- Shift) geprüft und bei denen die letzten Fractals ermittelt.
Zitat:
Zitat von Trader93 Beitrag anzeigen
Kann man darüber hinaus noch in den globalen Variablen deklarieren, dass man bspw. eine Unterstützung überspringen will? Also z.B. bei Ordereröffnung setze den SL nicht auf die nächste, sondern auf die übernächste Unterstützung?
Klar. Musst dann entsprechend einfach nicht das letzte, aktuelle Fraktal nehmen...