Variable wird bei if scheinbar beschreiben ?

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #101861 quote
    sigmaslu
    Participant
    New

    Hallo Zusammen,

    ich habe in meinem Code mehrere Variablen. Wenn ich nun die Variable “Marktshort” auf den Wert “1” abfrage in der if then Anweisung für den Short einstieg, sehe ich in der Auswertung (im Graph) das die Variable einfach fest auf 1 steht und nicht mehr sich ändert. Habe die Variable schon umbenannt und diverse andere Dinge Versucht, Aber ohne Erfolg. Was übersehe ich da? Die anderen Variablen laufen sauber durch und das Programm gehts ansonsten auch.

    Vielen Dank.

     

    // RS 30.6.19
    // Idde 1. Stufe entscheiden ob long or Short
    //
    
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
    //DEFPARAM PreLoadBars = 500
    
    DEFPARAM FlatBefore = 090000
    DEFPARAM FlatAfter = 170000
    
    myKeltnerMA, myBandaSupKeltner, myBandaInfKeltner = CALL "Keltner_Channel_RS"[1, 0, 0, 52]//10
    
    EGD = ExponentialAverage[30](close)//9
    GD = Average[18](close)//11
    //erkennen Marktzustand
    
    IF Close[1] <= myBandaInfKeltner then
    Marktlong = 1
    elsIF Close[1] > myKeltnerMA then
    Marktlong = 0
    endIF
    
    IF Close[1] > myBandaSupKeltner then
    Marktshort = 1
    elsif Close[1] < myKeltnerMA then
    Marktshort = 0
    endif
    
    //erkennen ob Kauf oder Verkauf
    if EGD CROSSES OVER GD then
    golong = 1
    elsif EGD CROSSES UNDER GD then
    golong = 0
    endif
    
    if EGD CROSSES UNDER GD then
    goshort = 1
    elsif EGD CROSSES OVER GD then
    goshort = 0
    endif
    
    // darstellen im Graf
    GRAPH Marktlong COLOURED (0,255,0) AS "Marktlong"
    GRAPH Marktshort COLOURED (255,0,0) AS "Marktshort"
    GRAPH goshort COLOURED (0,0,255) AS "goshort"
    
    // Bedingungen zum Einstieg in Long-Positionen
    IF NOT LongOnMarket AND (Marktlong = 1 and golong = 1) THEN
    BUY 1 CONTRACTS AT MARKET
    //SET STOP LOSS TRADEPRICE - myBandaInfKeltner
    ENDIF
    
    // Bedingungen zum Ausstieg von Long-Positionen
    If LongOnMarket AND (golong = 0) THEN
    SELL AT MARKET
    ENDIF
    
    // Bedingungen zum Einstieg in Short-Positionen
    IF NOT ShortOnMarket and Marktshort = 1 and goshort = 1 THEN
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF
    
    
    // Bedingungen zum Ausstieg aus Short-Positionen
    IF ShortOnMarket AND (goshort = 0) THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops und Targets: Legen Sie hier schützende Stops und Profit Targets fest
    //SET STOP pTRAILING 10
    //SET STOP pLOSS 100
    IF STRATEGYPROFIT < -500 THEN
    QUIT
    ENDIF
    
    #101980 quote
    ERoNiX69
    Participant
    Average

    Marketshort ist doch die rote Linie? Die schwankt doch zwischen 0 und 1 wie die anderen auch?

    #101990 quote
    sigmaslu
    Participant
    New

    Ja aber nur wenn ich nicht die Variable marktshort auf 1 abfrage, sobald ich das mache schwank diese nicht mehr und das ganze Programm funktioniert nicht mehr.

    Nur wenn ich die Variable raus nehme geht das ganze, aber warum ist mir nicht klar?

    #102009 quote
    Nicolas
    Keymaster
    Master

    Ihre Variable "marketshort" bleibt auf 1, bis die Bedingung in Zeile 25 als wahr getestet wird. Es gibt auch etwas anderes als in Zeile 59, in der Sie in Ihrem Zustand keine Klammern verwenden (es sollte sich zwar gleich verhalten, aber nur zur Sicherheit).

    #102097 quote
    sigmaslu
    Participant
    New

    Habe es nun nochmals mit dem gleichen Programm versucht und es geht jetzt alles. Kann es sein das es an einer sehr langsamen Internetverbindung gelegen haben könnte, da ich im Urlaub in den Bergen war. Nun egal, vielen Dank Euch und ich teste weiter. Schönen Abend.

    #102102 quote
    ERoNiX69
    Participant
    Average

    Da würde normal eine Fehlermeldung kommen 🤔

     

    Aber ist doch schön wenn jz alles läuft ^^

    #102200 quote
    sigmaslu
    Participant
    New

    Hätte ich auch gedacht. Aber ich hatte es sogar soweit gebracht, das Code einfach weg war den ich Sekunden vorher eingegeben hatte. Aber egal nun geht es. danke.

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

Variable wird bei if scheinbar beschreiben ?


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
sigmaslu @sigmaslu Participant
Summary

This topic contains 6 replies,
has 3 voices, and was last updated by sigmaslu
6 years, 7 months ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 07/03/2019
Status: Active
Attachments: 2 files
Logo Logo
Loading...