Einzelnen Beitrag anzeigen
  #8 (permalink)  
Alt 15.03.18
Trader93 Trader93 ist offline
Neues Mitglied
 
Registriert seit: Feb 2017
Beiträge: 16
Trader93 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von next user Beitrag anzeigen
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.

Klar. Musst dann entsprechend einfach nicht das letzte, aktuelle Fraktal nehmen...
Hi zusammen,

vielen lieben Dank für eure Rückmeldung. Ich habe in der Zwischenzeit einen anderen Ansatz verfolgt. Ich habe, um Unterstützungen (SL) und Widerstände (TP) zu ermitteln, die Fibonnaci genutzt. Hierzu habe ich folgendes angestellt:#

Code:
// Hochs ermitteln
   int FindHigh = iHighest(NULL,0,MODE_HIGH,15,3);
   double HighestHigh = High[FindHigh];
  
// Tiefs ermitteln
   int FindLow = iLowest (NULL,0,MODE_LOW,20,3);
   double LowestLow = Low[FindLow];
  
// Fibonacci Retracements

   double Differenz = HighestHigh - LowestLow;
  
   double Level_1 = LowestLow + (Differenz * 0.236); 
   double Level_2 = LowestLow + (Differenz * 0.382);
   double Level_3 = LowestLow + (Differenz * 0.500);
   double Level_4 = LowestLow + (Differenz * 0.618);
   double Level_5 = LowestLow + (Differenz * 0.764);
   double Level_6 = LowestLow + (Differenz * 1.000);
   double Level_7 = LowestLow + (Differenz * 1.616);
   double Level_8 = LowestLow + (Differenz * 2.618);
Im Anschluss einfach via OrderSend() bspw.Level_1 (SL) ,Level_5 (TP) einbetten (Bsp. LongOrder)