Fibonaccibogen Programmier code
Forums › ProRealTime Deutsch forum › ProBuilder Support › Fibonaccibogen Programmier code
- This topic has 14 replies, 2 voices, and was last updated 15 hours ago by
elviko.
-
-
09/15/2024 at 3:45 PM #23759709/17/2024 at 4:49 AM #237668
Können Sie ein reales Beispiel nennen, indem Sie einen Screenshot der Grafik mit Ihren Notizen und Hinweisen verwenden?
03/12/2025 at 1:00 PM #244873code ist falsch geht nicht warum??? für den fibonacci bogen
defparam drawonlastbaronly=true
PeriodSMA1=100 // Period of the SMA for the first Fibonacci point
PeriodSMA2=200 // Period of the SMA for the last Fibonacci point
Decalage=0.5 // Distance to display the line name above the Fibonacci line, in points.SMA1=average[PeriodSMA1](close)
SMA2=average[PeriodSMA2](close)if barindex = PeriodSMA1-1 then
point1=SMA1
barindex1=barindex
endifPoint2=SMA2
if islastbarupdate then
Distance=Point1-Point2// 0% line
DRAWTEXT(“0,00%”, barindex+10, Point2+Decalage*PointSize)
DRAWRAY(barindex1, Point1, barindex, Point2) STYLE(DOTTEDLINE,3) COLOURED(“brown”)// Fibonacci-Level Definition
Fib1 = 0.236
Fib2 = 0.382
Fib3 = 0.5
Fib4 = 0.618
Fib5 = 0.786
Fib6 = 1.0// Fibonacci-Bögen zeichnen
for i = 1 to 6 do
if i = 1 then fibLevel = Fib1
if i = 2 then fibLevel = Fib2
if i = 3 then fibLevel = Fib3
if i = 4 then fibLevel = Fib4
if i = 5 then fibLevel = Fib5
if i = 6 then fibLevel = Fib6fibValue = Point2 + Distance * fibLevel
// Fibonacci-Bogen als Halbkreis zeichnen
DRAWARC(barindex1, Point1, barindex, fibValue, 180, 360) STYLE(DOTTEDLINE,2) COLOURED(“red”)// Beschriftung für Fibonacci-Level
DRAWTEXT(string(fibLevel * 100) + “%”, barindex + 10, fibValue + Decalage*PointSize)
next
endifreturn
03/12/2025 at 1:56 PM #24487403/12/2025 at 6:49 PM #244886defparam drawonlastbaronly=true
PeriodSMA1=610
PeriodSMA2=377
Decalage=0.5SMA1=average[PeriodSMA1](close)
SMA2=average[PeriodSMA2](close)if barindex = PeriodSMA1-1 then
point1 = SMA1
barindex1 = barindex
endifPoint2 = SMA2
if islastbarupdate then
Distance = Point1 – Point2DRAWTEXT(“0,00%”, barindex+10, Point2+Decalage*PointSize)
DRAWRAY(barindex1, Point1, barindex, Point2) STYLE(DOTTEDLINE,3) COLOURED(“brown”)// Fibonacci-Level Definition (kein Array!)
Fib1 = 0.236
Fib2 = 0.382
Fib3 = 0.5
Fib4 = 0.618
Fib5 = 0.786
Fib6 = 1.0for i = 1 to 6 do
if i = 1 then
fibLevel = Fib1
endif
if i = 2 then
fibLevel = Fib2
endif
if i = 3 then
fibLevel = Fib3
endif
if i = 4 then
fibLevel = Fib4
endif
if i = 5 then
fibLevel = Fib5
endif
if i = 6 then
fibLevel = Fib6
endiffibValue = Point2 + Distance * fibLevel
angle = 0
while angle <= 180
x1 = barindex1 + (barindex – barindex1) * (angle / 180)
y1 = fibValue + (sin(angle) * Distance * 0.5)x2 = barindex1 + (barindex – barindex1) * ((angle + 20) / 180)
y2 = fibValue + (sin(angle + 20) * Distance * 0.5)DRAWRAY(x1, y1, x2, y2) STYLE(DOTTEDLINE,2) COLOURED(“red”)
angle = angle + 20
wendtextLabel = fibLevel * 100
DRAWTEXT(str(int(textLabel)), barindex + 10, fibValue)next
endif
return
03/16/2025 at 9:39 AM #244957Ich versuch es noch mal Fibonaccibogen Programmier code
03/16/2025 at 8:56 PM #244970- Duplizieren Sie keine Nachrichten. Stellen Sie Ihre Frage einmal und in einem Forum. Doppelte Nachrichten werden ohnehin gelöscht. Wenn Sie also dieselbe Frage mehrmals posten, verschwenden Sie Ihre Zeit und werden nicht schneller beantwortet. Das doppelte Posten schafft nur Verwirrung in den Foren.
. - Es gibt einfache Regeln für die Verwendung von Foren, die jeder befolgen muss. Die Regeln sind folgende:
Veröffentlichen Sie Ihr neues Thema im richtigen Forum:
_ ProRealTime-Unterstützung: Nur Probleme im Zusammenhang mit der Plattform.
_ ProOrder: nur die Themen zu Strategien.
_ ProBuilder: nur Themen zu Indikatoren.
_ ProScreener: Nur Themen auf Screenern.
_ Allgemeine Diskussionen: alle anderen Themen.
_ Willkommen bei neuen Mitgliedern: damit sich neue Mitglieder des Forums vorstellen können.
Das richtige Forum ist ProBuilder, ich habe es verschoben.
Ich werde versuchen, Ihnen so schnell wie möglich zu antworten.
03/17/2025 at 2:43 PM #244987Die Zeile DRAWTEXT(str(int(textLabel)), barindex + 10, fibValue) ist falsch, Sie haben eine nicht vorhandene STR-Funktion verwendet, Sie müssen sie durch “#textLabel#” ersetzen:
12//DRAWTEXT(str(int(textLabel)), barindex + 10, fibValue)DRAWTEXT("#textLabel#", barindex + 10, fibValue)03/18/2025 at 4:27 PM #24501703/24/2025 at 3:21 PM #245213Versuchen Sie dies, aber Sie müssen die Position ändern, an der gedruckt werden soll.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657defparam drawonlastbaronly=truePeriodSMA1=610PeriodSMA2=377Decalage=0.5SMA1=average[PeriodSMA1](close)SMA2=average[PeriodSMA2](close)if barindex = PeriodSMA1-1 thenpoint1 = SMA1barindex1 = barindexendifPoint2 = SMA2if islastbarupdate thenDistance = Point1 - Point2DRAWTEXT("0,00%", barindex+10, Point2+Decalage*PointSize)DRAWRAY(barindex1, Point1, barindex, Point2) STYLE(DOTTEDLINE,3) COLOURED("brown")// Fibonacci-Level Definition (kein Array!)Fib1 = 0.236Fib2 = 0.382Fib3 = 0.5Fib4 = 0.618Fib5 = 0.786Fib6 = 1.0for i = 1 to 6 doif i = 1 thenfibLevel = Fib1endifif i = 2 thenfibLevel = Fib2endifif i = 3 thenfibLevel = Fib3endifif i = 4 thenfibLevel = Fib4endifif i = 5 thenfibLevel = Fib5endifif i = 6 thenfibLevel = Fib6endiffibValue = Point2 + Distance * fibLevelangle = 0while angle <= 180x1 = barindex1 + (barindex - barindex1) * (angle / 180)y1 = fibValue + (sin(angle) * Distance * 0.5)x2 = barindex1 + (barindex - barindex1) * ((angle + 20) / 180)y2 = fibValue + (sin(angle + 20) * Distance * 0.5)//DRAWRAY(x1, y1, x2, y2) STYLE(DOTTEDLINE,2) COLOURED("red")DRAWELLIPSE(x1,y1,x2,y2) COLOURED("Red")angle = angle + 20wendtextLabel = fibLevel * 100DRAWTEXT("#textLabel#", barindex + 10, fibValue)nextendifreturn03/24/2025 at 10:47 PM #24522903/25/2025 at 2:38 PM #245267Können Sie mir die Formel zur Berechnung des ersten Kreises und der folgenden nennen?
03/25/2025 at 4:55 PM #24527403/26/2025 at 2:20 PM #245318Fragen Sie ChatGPT nach der Formel und den Bedingungen zum Drucken des ersten und der folgenden Kreise.
Er wird es Ihnen auf jeden Fall sagen.03/28/2025 at 7:51 AM #245371Um die Kreise gemäß der Formel und den Bedingungen zu drucken, schauen wir uns den relevanten Teil des Codes an und analysieren, was genau benötigt wird. Ich nehme an, du möchtest, dass die Kreise entsprechend den Fibonacci-Leveln (oder anderen Berechnungen) auf einem Diagramm gezeichnet werden. Der Code, den du gepostet hast, verwendet
DRAWRAY
undDRAWTEXT
zum Zeichnen von Linien und Texten.Die Berechnung der Fibonacci-Level:
-
Berechnung von
Distance
:-
Distance = Point1 - Point2
Dies ist der Unterschied zwischen den beiden berechneten Punkten (den Werten der gleitenden Durchschnitte SMA1 und SMA2).
-
-
Fibonacci-Level:
-
Es werden 6 Fibonacci-Level (0.236, 0.382, 0.5, 0.618, 0.786, 1.0) definiert.
-
Diese Level werden in einer Schleife durchlaufen und für jedes Level wird der entsprechende Wert berechnet:
inifibValue = Point2 + Distance * fibLevel
-
Bedingung zum Drucken der Kreise:
Die Bedingung, unter der die Kreise (in diesem Fall durch
DRAWRAY
undDRAWTEXT
) gezeichnet werden, ist die Schleife, die für jedes Fibonacci-Level durchläuft.-
Für jedes Fibonacci-Level:
-
Der
fibValue
wird basierend aufPoint2
und dem berechnetenDistance
für das jeweilige Fibonacci-Level berechnet. -
Dann wird
DRAWRAY
verwendet, um Linien zu zeichnen (diese Linien können als Kreise dargestellt werden, wenn sie richtig formatiert sind, z. B. mit einem kleineren Winkelabstand oder durch Anpassungen der Zeichenfunktionen). -
Der Text mit dem entsprechenden Fibonacci-Level (
fibLevel * 100
) wird mitDRAWTEXT
gezeichnet.
-
So wird es durchgeführt:
-
Die Schleife durchläuft die Fibonacci-Level von 0.236 bis 1.0.
-
Für jedes Level wird
fibValue
berechnet. -
Es werden
DRAWRAY
-Befehle ausgeführt, um Linien mit einem bestimmten Winkel zu zeichnen, die die Fibonacci-Level auf dem Chart visualisieren. -
Der Text, der das Level darstellt (z.B. „23.6“ für 0.236), wird neben dem Punkt
fibValue
angezeigt.
Anpassung für Kreise:
Wenn du tatsächlich Kreise anstelle von Linien oder für eine andere Art von Darstellung möchtest, solltest du den Code möglicherweise so anpassen, dass er statt Linien kleine
CIRCLE
-Befehle verwendet oder die Berechnungen für den Winkel und die Position der Linien so ändert, dass sie kreisförmig erscheinen.Zusammenfassung:
-
Formel für Fibonacci-Level:
inifibValue = Point2 + Distance * fibLevel
-
Bedingungen zum Drucken:
-
Die Schleife läuft über die Fibonacci-Level.
-
Für jedes Level wird der Wert berechnet und der entsprechende Text sowie die Linie (oder Kreis) auf dem Diagramm gezeichnet.
-
Falls du Kreise explizit auf dem Diagramm haben möchtest, könnte die Funktion zum Zeichnen von Kreisen abhängig von der verwendeten Plattform angepasst werden, z. B. durch
DRAW CIRCLE
oder eine entsprechende Alternative. - Duplizieren Sie keine Nachrichten. Stellen Sie Ihre Frage einmal und in einem Forum. Doppelte Nachrichten werden ohnehin gelöscht. Wenn Sie also dieselbe Frage mehrmals posten, verschwenden Sie Ihre Zeit und werden nicht schneller beantwortet. Das doppelte Posten schafft nur Verwirrung in den Foren.
-
AuthorPosts