Mal wieder am basteln und an einem Hindernis angekommen. Diesmal hapert es am automatischen platzieren einer Trendlinie.
Erst einmal den Code der dafür zuständigen Funktion:
Code:
void Func_Trend_Lines () {
int Pos1 =iHighest (NULL,PERIOD_H1,MODE_HIGH,24,1); //Ermitteln welcher Bar den höchsten Preis aufweist
double Price1=iHigh (NULL,0,Pos1); //Den höchsten Preis abfragen
datetime Time1 =StringToTime ((string)TimeYear(Time[0])+"."+(string)TimeMonth(Time[0])+"."+(string)TimeDay(Time[Pos1])); //Ermitteln zu welcher Zeit der höchste Preis war
int Pos2 =iHighest (NULL,PERIOD_H1,MODE_HIGH,48,25);
double Price2=iHigh (NULL,0,Pos2);
datetime Time2 =StringToTime ((string)TimeYear(Time[0])+"."+(string)TimeMonth(Time[0])+"."+(string)TimeDay(Time[Pos2]));
int Pos3 =iLowest (NULL,PERIOD_H1,MODE_LOW,24,1);
double Price3=iLow (NULL,0,Pos3);
datetime Time3 =StringToTime ((string)TimeYear(Time[0])+"."+(string)TimeMonth(Time[0])+"."+(string)TimeDay(Time[Pos3]));
int Pos4 =iLowest (NULL,PERIOD_H1,MODE_LOW,48,25);
double Price4=iLow (NULL,0,Pos4);
datetime Time4 =StringToTime ((string)TimeYear(Time[0])+"."+(string)TimeMonth(Time[0])+"."+(string)TimeDay(Time[Pos4]));
if(Price2<Price1){
ObjectCreate(0,"High_Trendline",OBJ_TREND,0,Time1,Price1,Time2,Price2);
ObjectSetInteger(0,"High_Trendline",OBJPROP_COLOR,clrAqua);
ObjectSetInteger(0,"High_Trendline",OBJPROP_WIDTH,1);
ObjectSetInteger(0,"High_Trendline",OBJPROP_STYLE,STYLE_DOT);
}
if(Price4>Price3){
ObjectCreate(0,"Low_Trendline",OBJ_TREND,0,Time3,Price3,Time4,Price4);
ObjectSetInteger(0,"Low_Trendline",OBJPROP_COLOR,clrAqua);
ObjectSetInteger(0,"Low_Trendline",OBJPROP_WIDTH,1);
ObjectSetInteger(0,"Low_Trendline",OBJPROP_STYLE,STYLE_DOT);
}
}
Kurz und Knapp, die Funktion soll zwischen dem höchsten Punkt von vorgestern und gestern eine Linie zeichnen. Ebenso zwischen den beiden tiefsten Punkten. Dafür sollen/werden in den ersten beiden Abschnitten die entsprechenden Werte ermittelt.
In den letzten beiden Absätzen werden dann die Linien gesetzt und formatiert. Ein Fehler oder Warnung wird nicht ausgegeben. Ich denke es ist ein Problem beim ermitteln der benötigten Werte.