Fibonaccibogen Programmier code

Viewing 15 posts - 1 through 15 (of 26 total)
  • Author
    Posts
  • #237597 quote
    elviko
    Participant
    New

    Moin Roberto,

    ich möchte den Fibonacci-Bogen individuell einstellen.
    Point 1 und Point 2 möchte ich individuell mit dem moving average verbinden.

    Bräuchte den Programm-Code für den Fibonacco-bogen ein Beispiel wäre super

    #237668 quote
    robertogozzi
    Moderator
    Master

    Können Sie ein reales Beispiel nennen, indem Sie einen Screenshot der Grafik mit Ihren Notizen und Hinweisen verwenden?

    #244873 quote
    elviko
    Participant
    New

    code 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
    endif

    Point2=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 = Fib6

    fibValue = 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
    endif

    return

    #244874 quote
    elviko
    Participant
    New

    hier ein bild

    #244886 quote
    elviko
    Participant
    New

    defparam drawonlastbaronly=true

    PeriodSMA1=610
    PeriodSMA2=377
    Decalage=0.5

    SMA1=average[PeriodSMA1](close)
    SMA2=average[PeriodSMA2](close)

    if barindex = PeriodSMA1-1 then
    point1 = SMA1
    barindex1 = barindex
    endif

    Point2 = SMA2

    if islastbarupdate then
    Distance = Point1 – Point2

    DRAWTEXT(“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.0

    for 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
    endif

    fibValue = 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
    wend

    textLabel = fibLevel * 100
    DRAWTEXT(str(int(textLabel)), barindex + 10, fibValue)

    next

    endif

    return

    #244957 quote
    elviko
    Participant
    New
    Ich versuch es  noch mal Fibonaccibogen Programmier code

    #244970 quote
    robertogozzi
    Moderator
    Master
    • 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.
    #244987 quote
    robertogozzi
    Moderator
    Master
    Die 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:
    //DRAWTEXT(str(int(textLabel)), barindex + 10, fibValue)
    DRAWTEXT("#textLabel#", barindex + 10, fibValue)
    #245017 quote
    elviko
    Participant
    New
    danke aber leider geht  das nicht wollte wie auf das Bild als ganzes kreis. Wenn ich den Programmiere und den Text ändere kommt das…….
    #245213 quote
    robertogozzi
    Moderator
    Master
    Versuchen Sie dies, aber Sie müssen die Position ändern, an der gedruckt werden soll.
    defparam drawonlastbaronly=true
    PeriodSMA1=610
    PeriodSMA2=377
    Decalage=0.5
    SMA1=average[PeriodSMA1](close)
    SMA2=average[PeriodSMA2](close)
    if barindex = PeriodSMA1-1 then
    point1 = SMA1
    barindex1 = barindex
    endif
    Point2 = SMA2
    if islastbarupdate then
    Distance = Point1 - Point2
    DRAWTEXT("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.0
    for 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
    endif
    fibValue = 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")
    DRAWELLIPSE(x1,y1,x2,y2) COLOURED("Red")
    angle = angle + 20
    wend
    textLabel = fibLevel * 100
    DRAWTEXT("#textLabel#", barindex + 10, fibValue)
    next
    endif
    return
    #245229 quote
    elviko
    Participant
    New
    leider nein…. total was anderes
    #245267 quote
    robertogozzi
    Moderator
    Master
    Können Sie mir die Formel zur Berechnung des ersten Kreises und der folgenden nennen?
    #245274 quote
    elviko
    Participant
    New
    Ich  hab  das nicht programmiert habe davon keine Ahnung!!!! ist von Chatgpt
    #245318 quote
    robertogozzi
    Moderator
    Master
    Fragen Sie ChatGPT nach der Formel und den Bedingungen zum Drucken des ersten und der folgenden Kreise. Er wird es Ihnen auf jeden Fall sagen.
    #245371 quote
    elviko
    Participant
    New

    Um 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 und DRAWTEXT zum Zeichnen von Linien und Texten.

    Die Berechnung der Fibonacci-Level:

    1. Berechnung von Distance:

      • Distance = Point1 - Point2
        Dies ist der Unterschied zwischen den beiden berechneten Punkten (den Werten der gleitenden Durchschnitte SMA1 und SMA2).

    2. 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:

        ini
        fibValue = Point2 + Distance * fibLevel

    Bedingung zum Drucken der Kreise:

    Die Bedingung, unter der die Kreise (in diesem Fall durch DRAWRAY und DRAWTEXT) gezeichnet werden, ist die Schleife, die für jedes Fibonacci-Level durchläuft.

    • Für jedes Fibonacci-Level:

      • Der fibValue wird basierend auf Point2 und dem berechneten Distance 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 mit DRAWTEXT gezeichnet.

    So wird es durchgeführt:

    1. Die Schleife durchläuft die Fibonacci-Level von 0.236 bis 1.0.

    2. Für jedes Level wird fibValue berechnet.

    3. Es werden DRAWRAY-Befehle ausgeführt, um Linien mit einem bestimmten Winkel zu zeichnen, die die Fibonacci-Level auf dem Chart visualisieren.

    4. 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:

      ini
      fibValue = 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.

Viewing 15 posts - 1 through 15 (of 26 total)
  • You must be logged in to reply to this topic.

Fibonaccibogen Programmier code


ProBuilder Support

New Reply
Author
author-avatar
elviko @elviko Participant
Summary

This topic contains 25 replies,
has 2 voices, and was last updated by elviko
1 month, 2 weeks ago.

Topic Details
Forum: ProBuilder Support
Language: German
Started: 09/15/2024
Status: Active
Attachments: 6 files
Logo Logo
Loading...