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
Marketshort ist doch die rote Linie? Die schwankt doch zwischen 0 und 1 wie die anderen auch?
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?
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).
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.
Da würde normal eine Fehlermeldung kommen 🤔
Aber ist doch schön wenn jz alles läuft ^^
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.