Open Range Indikator im Chart

Viewing 15 posts - 1 through 15 (of 59 total)
  • Author
    Posts
  • #176624 quote
    Mr_Nice_Guy
    Participant
    New

    Hallo,

    Kann mir jemand beim Erstellen eines Open Range Indikators Helfen?

    Oder hat jemand schon einen?

    Der Indikator sollte im Chart mit Linien die Range anzeigen und ausrechnen wie groß die Range ist.

    Und dann, die ausgerechnete Range, mit der Vortages ATR und der  60 min ATR abgleichen und mir dann anzeigen, ob Sie nicht größer

    als die halbe Tages ATR und nicht Kleiner als die 60 min ATR ist!

    Danke im Voraus!

    #176877 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Mr. Nice Guy,
    habs mal auf die schnelle wie folgt umgesetzt, aber ob ich es so richtig verstanden habe? Der Zweck?
    Nachfolgend Screenshot zur Optik mit meinen Plattform-Setup. Mit der Variable TXTD kannst due prozentuale Zeilenabstände einstellen. ATRPerioden selbsterklärend.
    Liebe Grüße
    Rainer

    Defparam Drawonlastbaronly   = True
    //********************************************************************************************************************************************************************
    Timeframe (1 Day, Updateonclose)
    RATR1 = AverageTrueRange[ATRPerioden][1]   // Vortages ATR
    RATR2 = AverageTrueRange[ATRPerioden]/2    // aktuelle 1/2 Tages ATR
    //********************************************************************************************************************************************************************
    TimeFrame(1 Hour, Updateonclose)
    RATR3 = AverageTrueRange[ATRPerioden]      // 60 Min ATR
    //********************************************************************************************************************************************************************
    TimeFrame(Default)
    //*****************
    RATR0 = AverageTrueRange[ATRPerioden]      // ATR aktuell
    RAN = DHigh(0) - DLow(0)                   // aktuelle Tages Range
    DrawSegment(BarIndex-50,DHigh(0),BarIndex+50,DHigh(0))Coloured(0,255,0)Style(Line,3)
    DrawSegment(BarIndex-50,DLow(0),BarIndex+50,DLow(0))Coloured(255,0,0)Style(Line,3)
    //TXTD = 0.0003 // Differenz Zeilenabstand
    HighTxTFx1 = 1-TXTD
    HighTxTFx2 = 1-(TXTD*2)
    HighTxTFx3 = 1-(TXTD*3)
    HighTxTFx4 = 1-(TXTD*4)
    HighTxTFx5 = 1-(TXTD*5)
    RXTB = 30      // TextAbstand letzter Barindex 
    
    DrawText("TagesRange = #RAN#",BarIndex+RXTB,DHigh(0)*HighTxTFx1,Dialog,Bold,14) coloured(255,255,255,155)
    DrawText("ATR Vortag = #RATR1#",BarIndex+RXTB,DHigh(0)*HighTxTFx2,Dialog,Bold,14) coloured(255,255,255,155)
    DrawText("ATR 1/2 aktuell = #RATR2#",BarIndex+RXTB,DHigh(0)*HighTxTFx3,Dialog,Bold,14) coloured(255,255,255,155)
    DrawText("ATR 1H = #RATR3#",BarIndex+RXTB,DHigh(0)*HighTxTFx4,Dialog,Bold,14) coloured(255,255,255,155)
    If (RATR0 < RATR2) AND (RATR0 > RATR3) Then
    DrawText("ATR < 1/2 ATR Vortag & ATR > ATR 1H",BarIndex+RXTB,DHigh(0)*HighTxTFx5) coloured(255,255,255,155)
    EndIf
    
    Return
    
    robertogozzi thanked this post
    #176931 quote
    Mr_Nice_Guy
    Participant
    New

    Hallo Rainer,

    erstmal vielen Dank für die Umsetzung!

    Ich habe vergessen dazu zu schreiben, dass die Open Range für verschiedene Märkte zeitlich einstellbar sein sollte.

    z.B.

    Dax               von 8:00 bis 9:00

    EUR/USD   von 00:00 bis 08:00

    S&P              von 15:30 bis 16:15

    Für den Handel der Open Range  in verschiedenen Märkten in Trendrichtung und unter den oben genannten Voraussetzungen.

    ” nicht größer als die halbe Tages ATR und nicht kleiner als die 60 min ATR”

    Grüße

    Andreas

    #176932 quote
    Mr_Nice_Guy
    Participant
    New

    Wenn ich den Indikator bei mir einfügen will, kommt die Fehlermeldung :

    “Die folgende Variable ist nicht definiert: ATRPerioden, TXTD”

    Hast du eine Idee woran das liegen kann?

    #176934 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Mr. Nice Guy,
    gern doch, mit gewünschter Zeiteinstellung wird es eine größer Sache, da komme ich nochmal in den nächsten Tagen, ggf. nächste Woche erst, darauf zurück.
    Die Fehlermeldung kommt, da Du die Variablen noch definieren musst, oben links im Code-Editor. Der Einfachheit halber habe ich die .itf-Datei zum Indikator-Import angefügt. Darin sind die Variablen enthalten.
    Liebe Grüße
    Rainer

    #176943 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Mr. Nice Guy,
    das hat mir jetzt keine Ruhe gelassen; Denn ich habe eine sehr einfache schnelle Umsetzung gefunden.
    Denke es nun verstanden zu haben.
    Anbei .itf-Datei für den Import. Allerdings für ein externes Fenster mit Darstellung als Histogramm, was ich hierfür am sinnigsten halte mit entsprechender Anpassung der ATR Perioden und Open/CLose Zeiten.Siehe Screenshot.
    Hoffe es passt so.
    Liebe Grüße
    Rainer

    #176946 quote
    Rainer (RFW)
    Participant
    Senior

    …ersetze ggf. noch Open/Close durch High/Low…

    #176975 quote
    Mr_Nice_Guy
    Participant
    New

    Danke für die Mühe!

    Ich habe in den Chart eine Bsp.  Eingezeichnet wie ich es mir vorstelle.

    Vielleicht kannst du es ca. so Umsätzen.

    Danke nochmal im Voraus!

    #176978 quote
    Mr_Nice_Guy
    Participant
    New

    Habe noch die Vortages ATR vergessen und die Voraussetzungen umgedreht 🙂

    Hier das richtige Bsp.

    #177004 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Mr. Nice Guy,
    habs soweit, aber genau nach den Vorstellung lässt es sich leider nicht umsetzen, da keine links/rechtsbündige, bzw. fixe Textanordnung möglich ist. Es wird immer zentriert von der X-Koordinate (BarIndex der Candle) der Text ausgerichtet. Insofern bringen wir es so nicht hin, es wäre auch nicht empfehlenswert, denn wenn beispielsweise vor/nach Deiner Open/Close-Zeit extreme Hochs/Tiefs wären, würde der Text schon durch den Kurs überdeckt, es wäre nicht mehr lesbar, just heute, siehe Screenshot, würde es mal passen.

    Zu empfehlen wäre die Zukunft in % der Bandbreite z.B. auf 20% zu setzen und dann den Text am letzten BarIndex, also letzte Candle, zu positionieren. Siehe 2. Screenshot.

    Uhrzeiten können, wie auch die ATR Perioden angepasst werden. Ich habe beide Versionen zum Import beigefügt.
    Version1 Text über Hoch
    Version2 Text am letzten Bar mit Einstellung 20% Bandbreite in der Zukunft.

    Bei Fragen/Problemen bitte melden, denn ich habe es nicht ausgiebig getestet.
    Liebe Grüße und erfolgreichen Tag.
    Rainer

    #177008 quote
    Rainer (RFW)
    Participant
    Senior

    Hier noch die .itf-Dateien der zwei Versionen

    #177011 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Mr. Nice Guy,
    nunmehr die korrekte V2 Version anbei.
    Sorry und liebe Grüße
    Rainer

    Defparam Drawonlastbaronly   = True
    Defparam CalculateOnLastBars = 10000
    //********************************************************************************************************************************************************************
    //TXTD = 0.0003                              // Differenz Zeilenabstand
    HighTxTFx1 = 1+TXTD
    HighTxTFx2 = 1+(TXTD*2)
    HighTxTFx3 = 1+(TXTD*3)
    HighTxTFx4 = 1+(TXTD*4)
    HighTxTFx5 = 1+(TXTD*5)
    HighTxTFx6 = 1+(TXTD*6)
    HighTxTFx7 = 1+(TXTD*7)
    LowTxTFx1 = 1-TXTD
    //********************************************************************************************************************************************************************
    Timeframe (1 Day, Updateonclose)
    RATR1 = AverageTrueRange[ATRPerioden][1]     // Vortages ATR
    RATR2 = AverageTrueRange[ATRPerioden]/2      // aktuelle 1/2 Tages ATR
    //********************************************************************************************************************************************************************
    TimeFrame(1 Hour, Updateonclose)
    RATR3 = AverageTrueRange[ATRPerioden]        // 60 Min ATR
    //********************************************************************************************************************************************************************
    TimeFrame(5 Minute, Updateonclose)
    //********************************
    TimeFrame(Default)
    //********************************
    If IsLastBarupdate Then
    //********************************************************************************************************************************************************************
    For BIOx = 0 To LookBack DO                  // BarIndex OpenTime suchen
    If Time[BIOx] = ROpenTime Then
    OpenBI = BarIndex[BIOx]
    OTime = Time[BIOx]/10000
    For BICx = (BIOx-1) DownTo 0 Do
    If Time[BICx] = RCloseTime Then // BarIndex CloseTime suchen
    CloseBI = BarIndex[BICx]
    CTime = Time[BICx]/10000
    RLOW = 999999999
    For RLOWx = BIOx DownTo BICx Do  // Low Range-Berechnung suchen
    If Low[RLOWx] < RLOW Then
    RLOW = Low[RLOWx]
    EndIf
    Next
    RHIGH = 0
    For RHIGHx = BIOx DownTo BICx Do // High Range-Berechnung suchen
    If High[RHIGHx] > RHIGH Then
    RHIGH = High[RHIGHx]
    EndIf
    Next
    ORange = Abs(RHIGH-RLOW)
    BITXT = 15
    DrawSegment(BarIndex[BIOx],RHIGH,BarIndex[BICx],RHIGH)Coloured(0,255,0)Style(Line,3)
    DrawSegment(BarIndex[BIOx],RLOW,BarIndex[BICx],RLOW)Coloured(255,0,0)Style(Line,3)
    DrawText("Low = #RLOW#",BarIndex[BIOx],RLOW*LowTxTFx1,Dialog,Bold,14)// coloured(255,255,255,155)
    DrawText("High = #RHIGH#",BarIndex[BIOx],RHIGH*HighTxTFx1,Dialog,Bold,14)// coloured(255,255,255,155)
    DrawText("#ORange# = Range / #OTime#- #CTime# Uhr",BarIndex+BITXT,HIGH*HighTxTFx2,Dialog,Bold,14) //coloured(255,255,255,155)
    If ORange < RATR3 Then
    DRAWTEXT("OpenRange < ATR 60min", BarIndex+BITXT,HIGH*HighTxTFx3, Dialog, bold, 14) Coloured(0,255,0)
    ElsIf Orange > RATR3 Then
    DRAWTEXT("OpenRange > ATR 60min", BarIndex+BITXT,HIGH*HighTxTFx3, Dialog, bold, 14) Coloured(0,255,0)
    Endif
    DrawText("ATR 60min / #RATR3#",BarIndex+BITXT,HIGH*HighTxTFx4,Dialog,Bold,14) //coloured(255,255,255,155)
    If ORange > RATR2 Then
    DRAWTEXT("OpenRange > 1/2 ATR-D", BarIndex+BITXT,HIGH*HighTxTFx5, Dialog, bold, 14) Coloured(0,255,0)
    ElsIf Orange < RATR2 Then
    DRAWTEXT("OpenRange < 1/2 ATR-D", BarIndex+BITXT,HIGH*HighTxTFx5, Dialog, bold, 14) Coloured(0,255,0)
    EndIf
    DrawText("1/2 ATR-D / #RATR2#",BarIndex+BITXT,HIGH*HighTxTFx6,Dialog,Bold,14) //coloured(255,255,255,155)
    DrawText("ATR Vortag / #RATR1#",BarIndex+BITXT,HIGH*HighTxTFx7,Dialog,Bold,14) //coloured(255,255,255,155)
    Break
    EndIf
    Next
    Break
    EndIf
    Next
    EndIf
    
    TimeFrame(Default)
    Return
    
    #177013 quote
    Fr7
    Participant
    Master

    Hallo Rainer, gute Arbeit.
    Können Sie den Code für den Indikator “RFW-TREND-CCI-E” posten und wie Sie ihn bekommen?

    #177014 quote
    Mr_Nice_Guy
    Participant
    New

    Hallo Rainer,

    Wenn, dass so funktioniert wäre es super.

    Leider zeigt er bei mir nichts an!

    Hab ich etwas vergessen?

    #177018 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Mr. Nice Guy,
    Du musst den Indikator im Preischart hinzufügen, oben links auf Kurs gehen und Indikator hinzufügen. Aber mit 500 Einheiten wirds dann auch nicht funktionieren, denn Du möchtest ja auch Daily-Daten, also auf 5k hochgehen und entsprechen skalieren.
    Der Indikator CCI-E ist noch in Entwicklung und funktioniert noch nicht zuverlässig, dauert noch, dann gerne.
    Bitte für Hilfe melden.
    Liebe Grüße
    Rainer

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

Open Range Indikator im Chart


ProBuilder Support

New Reply
Author
Summary

This topic contains 58 replies,
has 6 voices, and was last updated by Mr_Nice_Guy
3 years, 5 months ago.

Topic Details
Forum: ProBuilder Support
Language: German
Started: 09/01/2021
Status: Active
Attachments: 52 files
Logo Logo
Loading...