Frage zur Indikator-Programmierung

Forums ProRealTime Deutsch forum ProBuilder Support Frage zur Indikator-Programmierung

Viewing 12 posts - 1 through 12 (of 12 total)
  • #45031

    Hallo liebes Formum,
    ich möchte einen Indikator programmieren der folgendes kann:

    1.Es sollen zig verschiedene Zustände definiert und mit Werten versehen werden.
    zb. positve Hinweise wie (Zp1: Zustandpositiv; Zn1:Zustandnegativ):

    Zp1=close>close[1]
    Zp2=close> EMA200
    Zp3=close>EMA50
    usw. bis Zp30 oder sogar noch mehr, was mir alles so einfällt und sinnvoll erscheint.
    Die positiven Hinweise sollen positive Werte erhalten (z.B. ganz einfach immer +1)

    negative Hinweise wie z.B.
    Zn1=close<close[1]
    Zn2=close< EMA200
    Zn3=close<EMA50
    usw.
    Zn30 oder sogar noch mehr, was mir einfällt und sinnvoll erscheint
    …sollen negative Werte erhalten (z.B. -1)
    Wenn ich so z.B. jeweils 30 positive und 30 negative Zustände definiert habe, soll der Indikator die Summe berechnen.
    So ergäbe die einfache Rechnung Zp1+Zn2+Zp3 den Summenscore 1 (1+-1+1)
    Wenn eine Candle exakt 15 negative Zustände und 15 positive Zustände erfüllte wäre der Summenscore entsprechend Null. Wenn ein Wert alle 30 positiven Zustände erfüllen würde, wäre der Score entsprechend 30 usw.
    Bin noch absolutes Greenhorn in der Sache. Bislang habe ich die Zustände definiert und mich damit beholfen, dass ich versuchte jede mögliche Kombi von Zuständen mit einem Indikatorwert zu versehen. Dies ist aber bei der gewünschte Vielzahl unübersichtlich. Kannst mir jemand sagen wie man einen solchen Indikator am Elegantesten aufsetzt?

     

    Jede Hilfe ist willkommen, ich weiß nicht mal wie man einem definierten Zustand (Variable) einen Wert zuweist, mit dem man später weiterrechnen kann.

    Gerne auch eine arbeitssparsame Lösungen mit indexierten Anweisungen, falls das geht, also nicht zum Schluss:

    Indikator=Zp1+Zp2+Zp3…Zn30 –  (Zn1+Zn2+Zn3…Zn30)

    sondern sowas wie:

    Indikator= Summenfunktion (Zp(i)-((Zn(i))

    Würde mich sehr freuen!
    Nette Tradergrüsse
    Micha

    #45038

    Dein Indikator ist sehr leicht zu programmieren in PRT, aber schön/übersichtlich wird das wohl nicht.

    Z.B. gibt es in PRT keine Arrays von Variablen. D.h. Du kommst am Ende um die lange Summe nicht drum herum. Ich helfe dir gerne, aber bis jetzt weiss ich nicht so recht, womit du Probleme hast (außer dass du gerne Array hättest – ich auch ;)).

    #45058

    @Despair

    Okay super, dann wäre es toll wenn du mir ein bisschen hilfst.

    Um im Beispiel zu bleiben: Wie weise ich “Zp1=close>close[1]” den Wert “1” zu, damit ich am Ende damit weiterrechnen kann und den Summenscore bilden?

    Am liebsten wäre es mir, wenn du mir anhand meines og Ansatzes die ersten Zeilen, also den grundsätzlichen Ansatz coden könntest. Wenn ich den kapiert hab, dann kann ich den Rest ausarbeiten und später hier veröffentlichen 🙂

    #45059

    Ich code dir das auch lieber. Das ist einfacher, als deine Fragen zu verstehen. 😉 Kleiner Scherz…

    Gib mir mal sowohl 3 positive, als auch 3 negative Zustände wie du es nennst. Dann programmiere ich das und du kannst es dann um beliebig viele Zustände erweitern.

    #45061

    Okay super, dann bleib ich bei den o.g. Beispielen:

     

    positve Hinweise wie (Zp1: Zustandpositiv; Zn1:Zustandnegativ):

    Zp1=close>close[1]
    Zp2=close> EMA200
    Zp3=close>EMA50
    Die positiven Hinweise sollen positive Werte erhalten (z.B. ganz einfach immer +1)

    negative Hinweise wie z.B.
    Zn1=close<close[1]
    Zn2=close< EMA200
    Zn3=close<EMA50

    Indikator= Summenfunktion (Zp(i)-((Zn(i))

    #45067

    Bitte schön. 🙂

    #45115

    Super, danke!

    Das sieht ja erschreckend einfach aus;-) Damit kann ich auf jeden Fall weiterarbeiten. Was ich nicht checke ist, wo der Indikator die Info her hat, dass er jedem Zustand den Wert 1 zuordnen soll. Also er rechnet ja mit 1 (Zustand erfüllt) und 0 (Zustand nicht erfüllt), aber wo steht das im Programm, frage ich mich? Kannst du mir das bitte noch verraten?

     

    Lieben Gruß

     

    #45117

    Für den Computer entsprechen 0 und 1 wahr und falsch. D.h.

    Zp1 wird der Wert 1 zugewiesen, wenn der close grösser als der davor war und 0 wenn er es nicht wahr.

    Durch diese Definition ist Zp1 eine Variable vom Typ boolesche Variable. Sie kann den Wert wahr oder unwahr annehmen.

    Du könntest sie z.B. abfragen mit:

    Für PRT ist es dasselbe ob du schreibst Zp1=TRUE oder Zp1=1.

    #45119

    Ah verstehe, kann ich einer Variable auch den Wert 2 oder 2.5 oder 4 zuweisen?

    #45120

    Du kannst jeder Variable einen Wert zuweisen, wie du willst. Hängt davon ab was du vor hast. Im schlimmsten Fall musst du für deine Variable eine IF-Schleife hinzufügen:

    Wenn du dich jedoch auf boolsche Variablen beschränkst, ersparst du dir eine Menge IF-Schleifen. Aber das kommt ja darauf an, wie du es haben willst.

    #45131

    Super, dann kann ich jetzt richtig loswerden.

    Es wartet ne Menge Arbeit auf mich. In 2-3 Monaten wissen mehr, ob mein Ansatz funktioniert. und die Profitabilitätsgrenze gesprengt wird. Jetzt muss ich erstmal ganz viele Zustände definieren und adieren 😉

     

    DANKE für die Starthilfe !!!

    #45209

    Wenn du Hilfe mit der Programmierung deines Systems brauchst, sag nur Bescheid.

Viewing 12 posts - 1 through 12 (of 12 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login