PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie codiere ich meinen EA, um Fibonacci-Linien zu erkennen?



xescaf
22-06-2024 11:04,
Danke! Warum ist es: start_bar-end_bar 1 Warum gibt es ein Plus 1, sollte es nicht stattdessen ein Minus 1 sein?

NespkrSpain
22-06-2024 11:32,
Hallo, wie finde ich das niedrigste Tief oder das höchste Hoch vor der Fibotime heraus?
Ich bin mir nicht ganz sicher, was Sie fragen, aber ich hoffe, das hilft. So finden Sie das höchste Hoch und das niedrigste Tief zwischen start_time und end_time (wobei end_time näher am rechten Rand des Diagramms liegt als start_time): Eingefügter Code datetime start_time = #91;color=Blue#93;(was auch immer Sie möchten: StrToTime( JJJJ.MM.TT HH:II:SS))#91;/color#93;; datetime end_time = #91;color=blue#93;(jede gewünschte Zeit: StrToTime(YYYY.MM.DD HH:II:SS))#91;/color#93;; int start_bar = iBarShift(Symbol(),Period(),start_time,0); int end_bar = iBarShift(Symbol(),Period(),end_time,0); double high = High#91;iHighest(Symbol(),Period(),MODE_HIGH, start_bar-end_bar 1, end_bar)#93;; double low = Low #91;iLowest (Symbol(),Period(),MODE_LOW, start_bar-end_bar 1, end_bar)#93;;

xescaf
22-06-2024 12:05,
Hallo, wie finde ich das niedrigste Tief oder das höchste Hoch vor der Fibotime heraus? Ich verwende den folgenden Code, um das niedrigste Tief und das niedrigste Hoch seit dem vorherigen Balken herauszufinden: int backshift = (iBarShift( Symbol(), Period(), FiboEndTime) -1); double low = Low[iLowest(NULL,0,MODE_LOW,backshift,1)]; double high = High[iHighest(NULL,0,MODE_HIGH,backshift,1)]; double lowclose = Close[iLowest(NULL,0,MODE_CLOSE,backshift,1)]; double highclose = Close[iHighest(NULL,0,MODE_CLOSE,backshift,1)]; Aber ich möchte in der Lage sein, das niedrigste Tief und das niedrigste Hoch vor der Fibo-Zeit herauszufinden, und nicht vor der Rückkehr zum vorherigen Balken.

xescaf
22-06-2024 12:46,
Da der Objektname tatsächlich spezifisch ist, kann ich die Schleife nicht verwenden und einfach diesen Code verwenden, oder? Eingefügter Code datetime StartTime = ObjectGet(Fib2Drawing,OBJPROP_TIME1);

NespkrSpain
22-06-2024 13:15,
Wenn ich die Zeit einer vertikalen Linie im Diagramm mit dem Objektnamen Fib2Drawing erhalten möchte, ist das der richtige Code?
Sieht gut für mich aus. Probieren Sie es aus und sehen Sie.

xescaf
22-06-2024 13:58,
Hallo, ich habe noch eine Frage. Wenn ich die Zeit einer vertikalen Linie im Diagramm mit dem Objektnamen Fib2Drawing erhalten möchte, ist das der richtige Code? Eingefügter Code für (int object=0; objectlt;ObjectsTotal(); object ) {/für jedes Objekt im Diagramm...... string objname = ObjectName(object);/Den Namen des Objekts abrufen/Sobald Sie den Namen haben, können Sie ObjectGet() verwenden, um alle anderen Eigenschaften abzurufen...... if (ObjectType(objname) == OBJ_VLINE) { datetime StartTime = ObjectGet (Fib2Drawing,OBJPROP_TIME1); } }

xescaf
22-06-2024 14:32,
Danke schön!

NespkrSpain
22-06-2024 14:49,
Mir ist aufgefallen, dass, wenn ich Fibo-Zeitzonen verwenden würde, dort auch der Name Fibo enthalten ist. Würde es einen Konflikt mit den Daten geben, die mein EA liest, wenn ich beide auf dem Diagramm zeichne? Wenn ja, wie unterscheide ich zwischen dem Fibonacci-Retracement-Toolobjekt und dem Fibonacci-Zeitzonenobjekt?
Entschuldigung, das ist mir erst jetzt aufgefallen. Ich hoffe, meine Antwort kommt nicht zu spät. Fibo-Retracement und Zeitzonen sind unterschiedliche Objekttypen: if (ObjectType(objname) == OBJ_FIBO) if (ObjectType(objname) == OBJ_FIBOTIMES) usw. Siehe
http://docs.mql4.com/constants/objectsfür eine vollständige Liste.

xescaf
22-06-2024 15:12,
Das ist richtig, Sie benötigen kein separates Skript. Empfohlener Code-Einsatz für Ihren EA unten: [Code]...
Mir ist aufgefallen, dass, wenn ich Fibo-Zeitzonen verwenden würde, dort auch der Name Fibo enthalten ist. Würde es einen Konflikt mit den Daten geben, die mein EA liest, wenn ich beide auf dem Diagramm zeichne? Wenn ja, wie unterscheide ich zwischen dem Fibonacci-Retracement-Toolobjekt und dem Fibonacci-Zeitzonenobjekt?

xescaf
22-06-2024 15:45,
Danke! Übrigens ist es am besten, wenn ich diese Technik verwende, nicht zu viele Objekte auf dem Diagramm zu haben, oder? Sonst könnte es die Verarbeitungsgeschwindigkeit verlangsamen?

NespkrSpain
22-06-2024 16:10,
Ich gehe davon aus, dass es sich hierbei nicht um ein separates Skript handelt, das mein EA aufruft, sondern um einen Teil des Codes in meinem EA.
Das ist richtig, Sie benötigen kein separates Skript. Empfohlener Code-Einsatz für Ihren EA unten: Eingefügter Code für (int i=0; ilt;ObjectsTotal(); i ) {/für jedes Objekt im Diagramm...... string objname = ObjectName(i);/Den Namen des Objekts abrufen/Sobald Sie den Namen haben, können Sie ObjectGet() verwenden, um alle anderen Eigenschaften abzurufen...... if (ObjectType(objname) == OBJ_FIBO) { datetime fib100dt = ObjectGet (objname,OBJPROP_TIME1);/Swing-High-Datum/Uhrzeit datetime fib0dt = ObjectGet(objname,OBJPROP_TIME2);/Swing Low Datum/Uhrzeit double fib100 = ObjectGet(objname,OBJPROP_PRICE1);/Swing High Price Double fib0 = ObjectGet(objname,OBJPROP_PRICE2);/Swing Low Price Double fib382 = fib0 0,382 * (fib100 - fib0);/Preis auf 38,2-Niveau/.... und/oder tun Sie, was auch immer Sie sonst noch vom EA erwarten.......... } } Weitere Informationen
http://docs.mql4.com/objects/ObjectCreate.

xescaf
22-06-2024 16:58,
Welchen Code muss ich in meinem EA verwenden, um jede im Diagramm gezeichnete Fibo-Linie zu erkennen und zu verwenden? Ich gehe davon aus, dass es sich hierbei nicht um ein separates Skript handelt, das mein EA aufruft, sondern um einen Teil des Codes in meinem EA.

NespkrSpain
22-06-2024 17:21,
Kann ich meinen EA so programmieren, dass er jedes Fibo auf meinem Diagramm erkennt und verwendet?
Ja, gemäß dem zweiten Absatz in meinem Beitrag (#7).

xescaf
22-06-2024 17:49,
Kann ich meinen EA so programmieren, dass er jedes Fibo auf meinem Diagramm erkennt und verwendet?

NespkrSpain
22-06-2024 18:28,
Danke! Kann ich die Fibo-Linie bei jedem Zeichnen automatisch auf einen bestimmten Namen setzen lassen?
Nicht, wenn Sie sie manuell zeichnen. MT4 weist den Namen Fibo XXXXX zu, wobei XXXXX eine vom System generierte Nummer ist. Ich gehe davon aus, dass Sie wissen, dass Sie die Namen von Objekten (einschließlich Fibos) eingeben können, wenn Sie Strg-O drücken und die Optionen “Eigenschaften nach Erstellung anzeigen� und “Objekt nach Erstellung auswählen� aktivieren (auf der Registerkarte “Objekte�) Anhängen an ein Diagramm. Alternativ können Sie, wenn Sie nur einen Fibo in Ihrem Diagramm haben, ein Skript schreiben, um den Fibo zu finden (d. h. nach Objekttyp suchen) und seinen Namen in einen beliebigen Namen ändern. Wenn Sie mehr als einen Fibo haben, müssen Sie das Skript so programmieren, dass es nach einer eindeutigen Eigenschaft sucht, damit es weiß, welcher Fibo umbenannt werden soll (z. B. den einzigen grün gefärbten Fibo umbenennen). Dann könnten Sie einen Hotkey zuweisen, um das Skript auszuführen.

xescaf
22-06-2024 19:18,
Danke! Kann ich die Fibo-Linie bei jedem Zeichnen automatisch auf einen bestimmten Namen setzen lassen?

NespkrSpain
22-06-2024 20:15,
Angenommen, Sie haben Ihr Fibo mit dem 100-Punkt beim Swing-Hoch und dem 0-Punkt beim Swing-Tief gezeichnet und ihm den Namen fib1 gegeben: datetime fib100dt = ObjectGet(fib1,OBJPROP_TIME1);/Swing-High-Datum/Uhrzeit datetime fib0dt = ObjectGet(fib1,OBJPROP_TIME2);/Swing Low Date/Time Double fib100 = ObjectGet(fib1,OBJPROP_PRICE1);/Swing High Price Double fib0 = ObjectGet(fib1,OBJPROP_PRICE2);/Swing Low Price Double fib38 = fib0 0,382 * (fib100 - fib0);/Preis auf 38,2-Niveau usw

sgg1997
22-06-2024 20:54,
Danke für den Link. Aber wie es scheint, bietet es einen EA, der Fibonnaci-Werte handeln kann. Ich habe einen Roboter erstellt, der dies tun kann, indem er die tatsächlichen Werte für Swing High und Swing Low im Code angibt. Aber was ich jetzt versuche, ist, dem Roboter zu ermöglichen, die Fibonacci-Punkte zu übernehmen, die ich selbst manuell auf dem Diagramm zeichne. In diesem Fall muss ich wissen, wie ich meinen Roboter so programmieren kann, dass er Fibonacci-Linien liest, die manuell auf dem Diagramm selbst gezeichnet werden.
Ok, wie gesagt, es tut mir leid, dass ich dir nicht helfen kann. Aber Steve Hopwood könnte es vielleicht schaffen. Auch dieser Typ war sehr hilfsbereit und ein sehr guter Programmierer: Hayseed. Er hat mir dieses Bild hier zur Verfügung gestellt:
https://www.tradingintuitive.com/crypto-trading/478--replies-pms.htmlGrüße

xescaf
22-06-2024 21:17,
Danke für den Link. Aber wie es scheint, bietet es einen EA, der Fibonnaci-Werte handeln kann. Ich habe einen Roboter erstellt, der dies tun kann, indem er die tatsächlichen Werte für Swing High und Swing Low im Code angibt. Aber was ich jetzt versuche, ist, dem Roboter zu ermöglichen, die Fibonacci-Punkte zu übernehmen, die ich selbst manuell auf dem Diagramm zeichne. In diesem Fall muss ich wissen, wie ich meinen Roboter so programmieren kann, dass er Fibonacci-Linien liest, die manuell auf dem Diagramm selbst gezeichnet werden.

sgg1997
22-06-2024 22:11,
Hallo, wenn ich eine Fibonacci-Linie von einem Punkt zum anderen im Diagramm zeichne, möchte ich als EA den Swing-High-Preis und die Swing-Time sowie den Swing-Low-Preis und die Swing-Time. Zum Beispiel: Swing Low Price = 1,36291, Zeit = 1. Okt. 6:30 Swing High Price = 1,37573, Zeit = 1. Okt. 13:30 Wie codiere ich meinen EA, um die Zeit und den Preis der beiden Punkte zu erkennen, die ich als Fibonacci zeichne? Zeilen von?
Hallo, nicht wirklich mein Fachgebiet, aber hier ist jemand, der es weiß:
https://www.tradingintuitive.com/crypto-trading/346-metatrader-5-test-drive.htmlGrüße,

xescaf
22-06-2024 22:27,
Hallo,

Wenn ich eine Fibonacci-Linie von einem Punkt zum anderen auf dem Chart zeichne, möchte ich als EA den Swing-High-Preis und die Swing-Tief-Zeit sowie den Swing-Low-Preis und die Swing-Tief-Zeit.

Zum Beispiel:

Swing Low Price = 1,36291, Zeit = 1. Okt. 6:30

Swing High-Preis = 1,37573, Zeit = 1. Okt. 13:30 Uhr


Wie codiere ich meinen EA, um die Zeit und den Preis der beiden Punkte zu erkennen, aus denen ich die Fibonacci-Linien zeichne?