Hi Neueinsteiger,
erstmal kurz ein paar Tipps:
- Wenn du einen Beitrag verfasst, kannst du mit dem Doppelkreuz(Raute)-Zeichen Code etwas besser formatiert einfügen.
- Wenn du unter Windows bist, kannst du mit der Druck/Drucken-Taste auf der Tastatur einen Screenshot machen, den du
dann in einem Bildbearbeitungsprogramm (Paint in Windows) mit STR+V einfügen kannst.
- Für Objekteigenschaften würde ich nicht "ObjectSet()", sondern die spezielleren, umfangreicheren Funktionen
- ObjectSetInteger(): Für Ganzzahlige (Integer) Werte wie z.B. Farbe, Breite, X & Y-Koordinaten ect.
- ObjectSetDouble(): Für Gleitpunktwerte (Double) wie z.B. Preiskoordinate, Winkel ect.
- ObjectSetString(): Für Textwerte (String) wie z.B. Objektname, Objektbeschreibung, Schriftart ect.
verwenden. Genaueres findest du hier.
- Eine horizontale Linie hat nur eine Koordinate, nähmlich den Preis. Somit solltest du bei deinen "ObjectCreate()" die Zeitkoordinate,
bei dir "Time[0]", mit einer einfachen "0" ersetzen.
- Neben dem Setzen der Koordinaten mit "ObjectSet...()" wie du es machst, kann man die Koordinaten auch direkt beim Erstellen
des Objekts angeben, so spart man bischen Code und muss die Koordinaten nicht direkt nach Erstellung ändern.
In deinem Fall könntest du die Variablen "HighestPrice / LowestPrice" direkt in "ObjectCreate()" anstatt der Angabe "Open[0]" verwenden.
Mit den obigen Punkten würde dein Code dann so aussehen:
Code:
// finde den hoechsten Preis fuer 30 Kerzen
double HighestPrice = High[iHighest(NULL,0,MODE_HIGH,30,0)];
// Erstelle ein Linien-Objekt fuer Hoechstpreis
ObjectCreate("ObereLinie",OBJ_HLINE,0,0,HighestPrice);
// Setze die Objektfarbe
ObjectSetInteger(0,"ObereLinie",OBJPROP_COLOR,clrGold);
// Setze Linienbreite
ObjectSetInteger(0,"ObereLinie",OBJPROP_WIDTH, 3);
// finde den niedrigsten Preis fuer 30 Kerzen
double LowestPrice = Low[iLowest(NULL,0,MODE_LOW,30,0)];
// Erstelle ein Linien-Objekt fuer Niedrigstpreis
ObjectCreate("UntereLinie",OBJ_HLINE,0,0,LowestPrice);
// Setze die Objektfarbe
ObjectSetInteger(0,"UntereLinie",OBJPROP_COLOR,clrGold);
// Setze Linienbreite
ObjectSetInteger(0,"UntereLinie",OBJPROP_WIDTH,3);
=== === === === === === === === === === === ===
Zitat:
Zitat von Neueinsteiger
ABER - ich will die beiden horizontalen Linien unabhängig nach oben bzw. unten bewegen können.
|
Üblicherweise kannst du auf ein Objekt doppelklicken. Dann erscheint am Objekt ein kleines Rechteck, was die "Selektierung markiert".
Wenn du jetzt auf das Objekt klickst und die Maustaste hälst, so kannst du das Objekt frei verschieben.
Zitat:
Zitat von Neueinsteiger
... und den Abstand der beiden Linien über den Kurs bestimmen
|
Wenn du damit meinst, das du die Linien im EA mit dem Kurs verschieben willst (und nicht selbst per Hand), dann kannst du
die Funktion "ObjektMove()" aufrufen.