Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL5 (http://www.expert-advisor.com/forum/forumdisplay.php?f=221)
-   -   Preis eines Objektes in der Nähe des Bid/Ask-Kurses (http://www.expert-advisor.com/forum/showthread.php?t=7176)

Yango 26.04.22 14:31

Preis eines Objektes in der Nähe des Bid/Ask-Kurses
 
Hallo zusammen,

kann mir jemand sagen, ob das möglich ist? Den Preis eines Objektes zu ermitteln, welcher sich am nächsten zum aktuellen Kurs befindet? (Es befinden sich mehrere Objekte derselben Farbe auf dem Chart).

traderdoc 26.04.22 15:13

Ja, das ist möglich.

traderdoc

Yango 26.04.22 17:11

Danke für die Antwort. Ich habe es jetzt geschafft, alle Abstände zu bekommen. Ich muss jetzt theoretisch nur noch den kleinsten raus filtern.. daran hängt es noch etwas.

( (MathAbs(bid-ObjectGetDouble(ChartID(),objects_lines,OBJPROP_PR ICE))) );

traderdoc 26.04.22 18:27

Na das sollte doch keine große Hürde darstellen.

traderdoc

Yango 26.04.22 18:37

Wenn man es kann und schon öfter gemacht hat, nicht, nein.

Yango 27.04.22 09:51

Kann mir da jemand helfen?

Indikator-Trading 27.04.22 10:40

Geh mit einer For Schleife durch alle Objekte, welche du kontrollieren willst und speichere dir den niedrigsten ab

Yango 27.04.22 11:21

Du hast es auf den Punkt gebracht, genau das fehlt mir!
Wie kann ich Werte speichern, bis ich sie wieder löschen möchte?

Das habe ich bisher: For-Schleife und alle Abstände..
Ich muss jetzt den kleinsten Abstand rausfiltern und abspeichern. Das mit dem Speichern habe ich tatsächlich noch nicht gemacht. Bei Java geht das glaube über "temp".

Indikator-Trading 27.04.22 13:41

Ich hab das hier nicht kontrolliert und nur auf die Schnelle zusammen geschrieben:

Code:

  double Price = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
  double Price_Difference_Min = DBL_MAX;
  int ObjektNumber_of_Min = -1;
  string ObjektName_of_Min = "";
  for(int i = 0; i < ObjectsTotal(0, 0, -1) ; i++)
  {
    string ObjectNameTemp = ObjectName(0, i, -1, -1);
    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;
    }
  }
  if(Price_Difference_Min != DBL_MAX)
  {
    Print("Min Object Name: ", ObjektName_of_Min, " Id: ", ObjektNumber_of_Min);
    Print("Price Difference: ", Price_Difference_Min);
  }


Yango 27.04.22 13:50

Das ist echt total lieb von dir, damit hätte ich jetzt nicht gerechnet! Vielen Dank für den Ansatz! Ich führe mir das gleich mal alles zu Gemüte und melde mich.

herzliche Grüße


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:33 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum