Einzelnen Beitrag anzeigen
  #11 (permalink)  
Alt 28.04.22
Yango Yango ist offline
Mitglied
 
Registriert seit: Apr 2022
Beiträge: 31
Yango befindet sich auf einem aufstrebenden Ast
Standard

Hallo

also ich muss sagen, stark und clever gelöst.. und das ohne Array(dachte ich bräuchte eins). Ich habe es für mich noch etwas angepasst, jetzt habe ich auch meinen Preis! mit DBL_MAX habe ich bis jetzt noch nicht gearbeitet, sehr interessant zu sehen. Kannst du mir noch sagen, warum du "ObjektNumber_of_min" auf -1 gesetzt hast, beim initialisieren? Kann es sein, dass die Objektnummern automatisch über ein Array abgefragt werden?

double Price = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
double Price_Difference_Min = DBL_MAX;

int ObjektNumber_of_Min = -1;
string ObjektName_of_Min = "";
double price_temp = "";


for(int i = 0; i < ObjectsTotal(0, 0, -1) ; i++){
string ObjectNameTemp = ObjectName(0, i, -1, -1);
if (ObjectGetInteger(ChartID(), ObjectNameTemp, OBJPROP_TYPE) == OBJ_HLINE && ObjectGetInteger(ChartID(), ObjectNameTemp, OBJPROP_COLOR) == clrAqua){
double TempValue = ObjectGetDouble(0, ObjectNameTemp, OBJPROP_PRICE, 0);

if(MathAbs(TempValue - Price) < Price_Difference_Min){
Price_Difference_Min = MathAbs(TempValue - Price);
ObjektName_of_Min = ObjectNameTemp;
ObjektNumber_of_Min = i;
price_temp = TempValue;
}
}
}

if(Price_Difference_Min != DBL_MAX){
Print("Min Object Name: ", ObjektName_of_Min, " Id: ", ObjektNumber_of_Min);
Print("Price Difference: ", Price_Difference_Min);
Print("Price : ", price_temp);
}