DRAWSEGMENT – Länge/2.X Koordinate dynamisch aus Kursziel ?

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #160650 quote
    Rainer (RFW)
    Participant
    Senior

    Liebe PRTLer!

    Ich dachte mal kurz meinen ersten einfachen  Indikator zu machen sei einfach, denn er ist wirklich ein simpler.  Aber ich schaffe es wohl ohne Hilfe nicht, bin schon am verzweifeln und bitte Euch höflich um Hilfe, oder um Lösungsansätze/Tuipps.

    Im Grunde ist das Problem, wie ich die 2. X Koordinate dynamisch bei erreichen des vorherigen Kurszieles ermittele. Ich habe es schon mit rückwärtigen Schleifen, Schleifen in Schleifen usw.. versucht.  Hat jemand eine Idee. Dafür wäre ich äußerst dankbar.

    Nachfolgend 2 von gefühlten 100 Varianten sowie Screenshot. Womöglich habe ich auch einen totalen Denkfehler?

    Liebe Grüße und DANKE vorab.
    Rainer

    For i = BarIndex downto 0 do
    If (Close[i] Crosses Over Average[Perioden](Close)[i]) Then
    Y = Close[i] //High[0] //highest[1](high)
    X1 = barindex[i]
    For x = X1+1 to BarIndex do
    If barindex[x] > X1 Then
    If (Close Crosses Under Close[i]) Then
    X2=barindex[x]+5
    Else
    x2=barindex+1000
    Endif
    EndIf
    Next
    DRAWSEGMENT(X1,Y,X2,Y) coloured(200,20,200)
    EndIf
    Next
    Return
    
    If (Close Crosses Over Average[Perioden](Close)) Then
    Y = Close
    X1 = BarIndex
    DRAWVLINE(X1) Coloured(200,20,200)
    DRAWTEXT(Y, X1, close+20)
    If (BarIndex > X1) And (Close < Y) Then
    X2 = BarIndex
    Else
    x2 = BarIndex+1000
    Endif
    DRAWSEGMENT(X1,Y,X2,Y) Coloured(200,20,200)
    EndIf
    Return
    2021-02-08-11_13_18-Window.jpg 2021-02-08-11_13_18-Window.jpg
    #160655 quote
    robertogozzi
    Moderator
    Master

    Verwenden Sie immer die Schaltfläche “Insert PRT Code” , wenn Sie Code in Ihre Nachrichten einfügen, um das Lesen für andere zu erleichtern.

    Danke 🙂

    #160656 quote
    robertogozzi
    Moderator
    Master

    Beginnt ein neuer Indikator nach Zeile 17?

    Sie müssen getrennt werden, nur Kommentare sind nach RETURN zulässig.

    #160708 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo und Danke.
    Nach Zeile 17 war einfach eine weitere Variante aufgeführt.
    Bin mal auf Vorschläge gespannt.
    Nochmals Danke.

    #160710 quote
    Rainer (RFW)
    Participant
    Senior
    For i = BarIndex downto 0 do
    If (Close[i] Crosses Over Average[Perioden](Close)[i]) Then
    Y =  Close[i] 
    X1 = barindex[i]
    For x = X1+1 to BarIndex do
    If barindex[x] > X1 Then
    If (Close[x] Crosses Under Y) Then
    X2=barindex[x]+5
    Else
    x2=barindex+300
    Endif
    EndIf
    Next
    DRAWSEGMENT(X1,Y,X2,Y) coloured(200,20,200)
    EndIf
    Next
    Return
    #160721 quote
    robertogozzi
    Moderator
    Master

    Fügen Sie in Bezug auf Ihren ersten Beitrag im ersten Indikator die Zeile hinzu

    Break

    Nach 11 können Sie also ausgehen, ohne auf 0 zu warten, denn bei vielen Einheiten ist es sehr langsam! Ich verstehe nicht ganz, was Sie erreichen wollen.

    Worauf möchten Sie nach der Kreuzung achten? Was Sie suchen möchten, möchten Sie es vor oder nach der Kreuzung finden?

    #160805 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Roberto,
    vielen Dank für Deine Antwort.
    Der Break in Zeile 11 macht Sinn, dennoch funktioniert es leider nicht.
    Die Frage nach dem Sinn dieses Indikators, wenn man es überhaupt so nennen kann, ist angebracht.
    Ich bin leider stark sehbehindert und für mich ist es eine Erleichterung, wenn nicht viele Linien bis nach rechts gehen, obwohl der Kurs schon erreicht wurde. Ich möchte einfach den Rücklauf nach dem Durchkreuzen, wie hier im Average, indiziert bekommen.
    Hast Du oder jemand eine Idee, ggf. mit Arrays oder das ganz in mehrere Indikatoren mit Call verschachtelt?
    Wäre sehr dankbar.
    Liebe Grüße
    Rainer

    #160821 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo nochmal,
    ich gebe nicht auf und habe versucht, die 2. X Koordinate aus einem separaten Indikator zu holen. Jedoch erhalte ich immer den Fehler das 0 zurückgegeben wird. Was mache ich beim Einbinden mit CALL falsch?
    Danke vorab und liebe Grüße
    Rainer

    #160822 quote
    Rainer (RFW)
    Participant
    Senior
    If (Close Crosses Over Average[Perioden](Close)) Then
    YD =  Close
    X1 = BarIndex
    X2 = CALL "RWFI_XD2"[Perioden, YD]
    IF X2 = 0 Then 
    X2 = BarIndex+300
    EndIf
    DRAWVLINE(X1) coloured(200,20,200)
    DRAWSEGMENT(X1,YD,X2,YD) coloured(200,20,200)
    Endif
    Return
    2021-02-09-15_00_59-Window.jpg 2021-02-09-15_00_59-Window.jpg
    #160824 quote
    Rainer (RFW)
    Participant
    Senior
    If (Close Crosses Under YD) And (Barindex > XD1) Then
    XD2 =  BarIndex
    EndIf
    Return
    
    #160828 quote
    robertogozzi
    Moderator
    Master

    Es heißt, dass das Flag "RWFI_XD2" keine Werte zurückgibt . während Sie erwarten, dass es eins zurückgibt, um es der Variablen X2 zuzuweisen.

    #160838 quote
    Rainer (RFW)
    Participant
    Senior
    YD, XD1 = CALL "RWFI_XD_1"[15]
    If (Close Crosses Under YD) And (Barindex > XD1) Then
    XD2 =  BarIndex
    Else
    XD2 = XD1 + 300
    EndIf
    DRAWVLINE(XD2) Coloured(255,255, 255)
    DRAWSEGMENT(XD1,YD,XD2,YD) Coloured(200,20,200)
    Return
    
    #160839 quote
    Rainer (RFW)
    Participant
    Senior

    Nochmals Danke, habe die Indikatoren gedreht, erhalte immer den Fehler dass keine Werte zurückgegeben werden. Jeder für sich alleine gibt jedoch Werte zurück. Ratlosigkeit.
    Ich bedanke mich jedoch für  die Hilfe-Versuche, sehr nett.
    Schade, dass eigentlich so was banales nicht umsetzbar erscheint, keiner eine Idee?
    Liebe Grüße und Gesundheit.
    Rainer

    #160841 quote
    Rainer (RFW)
    Participant
    Senior

    Nachsatz:
    Ich denke, dass Problem liegt darin, dass der jeweils eingebundene Indikator oder wie oben die interne Schleifen, nicht den kompletten Chart durchlaufen, sondern nur rückwirkend ab aktueller Bar?

    #160847 quote
    Rainer (RFW)
    Participant
    Senior

    Ergänzung:
    Auch wenn ein Indikator nur für ein Einbinden mit Call benötigt wird, muss Return mit AS “:::” ergänzt werden.  Somit werden keine 0 Werte mehr zurückgegeben. Aber Problem dennoch nicht gelöst, da wie vermutet, auch der eingebundene Indikator nur rückwärtig rechnet und nicht alle Bars. Schade, wenn sich dies lösen könnte?

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

DRAWSEGMENT – Länge/2.X Koordinate dynamisch aus Kursziel ?


ProBuilder: Indikatoren & Custom Tools

New Reply
Author
Summary

This topic contains 14 replies,
has 2 voices, and was last updated by Rainer (RFW)
5 years ago.

Topic Details
Forum: ProBuilder: Indikatoren & Custom Tools
Language: German
Started: 02/08/2021
Status: Active
Attachments: 2 files
Logo Logo
Loading...