Tradingview Pine Script Strategy tester funktioniert nicht?
Heyho,
Ich habe möglicherweise einen oder mehrere Fehler in meinem Code, ich verstehe aber nicht wo der Fehler liegt:
-------------------------------------+
// © Pumel
//@version=5
strategy("TEMA-DEMA Crossover Strategy", overlay=true)
// Benutzerdefinierte TEMA Funktion
tema(source, length) =>
ema1 = ta.ema(source, length)
ema2 = ta.ema(ema1, length)
3 * ema1 - 3 * ema2 + ta.ema(ema2, length)
// Benutzerdefinierte DEMA Funktion
dema(source, length) =>
ema1 = ta.ema(source, length)
ema2 = ta.ema(ema1, length)
2 * ema1 - ema2
// Eingabeparameter
tema_period = input(14, title="TEMA Period")
dema_period = input(14, title="DEMA Period")
lot_size = input(0.1, title="Lot Size")
// TEMA und DEMA Indikatoren berechnen
tema_value = tema(close, tema_period)
dema_value = dema(close, dema_period)
// Farben für die Long- und Short-Positionen
long_color = color.new(color.green, 50) // Grüne Farbe mit 50% Transparenz
short_color = color.new(color.red, 50) // Rote Farbe mit 50% Transparenz
// Hintergrundfarben basierend auf der Handelslogik ändern
bgcolor(ta.rising(tema_value, 1) and ta.falling(dema_value, 1) ? long_color : na)
bgcolor(ta.falling(tema_value, 1) and ta.rising(dema_value, 1) ? short_color : na)
// Handelslogik
if ta.rising(tema_value, 1) and ta.falling(dema_value, 1)
strategy.entry("Long", strategy.long, qty=lot_size)
strategy.close("Short")
if ta.falling(tema_value, 1) and ta.rising(dema_value, 1)
strategy.entry("Short", strategy.short, qty=lot_size)
strategy.close("Long")
-------------------------------------+
(beachtet die section mit den Farben nicht :D)
Aber wieso generiert das script jetzt keine orderes wenn ich sie teste? Und wieso zeigt der dude die Indikatoren nicht?
Vielen Dank schonmal im Vorraus und bleibt gesund!
2 Antworten
Hi
also es könnte sein, dass kein Indikator angezeigt wird, weil im Skript kein plot(tema_value), plot(dema_value) oder was auch immer du angezeigt haben willst vorhanden ist.
leider wird die Formatierung nicht so gut angezeigt, als dass ich erkennen könnte, was effektiv in einem If-Block usw ist, und wo dieser endet. Jedoch sehe ich, dass nach dem Strategy.entry("Short"),...) auch gleich ein Strategy.close("Sell").
Ich verwende Strategy.exit(), aber wie Strategy.exit(), sollte auch Strategy.close() als Parameter die ID der zu schliessenden Order beinhalten. Du solltest die ID's etwas differenzierter bezeichnen, ausser es sollte deine Absicht sein, dein Long zu schliessen, wenn du Short gehst, und den Short schliessen, wenn du Long gehst
Ich kenne PineScript nicht, gehört zur JS Familie. Da TradingView sehr beliebt ist wird es sicher spezielle Foren für die PineScript Coder geben. Da wäre deine Frage besser aufgehoben.
Also Anfang, um überhaupt eine Aussage machen zu können fehlt was der Code machen soll, und dann was er jetzt tut, bzw. was fehlt.
https://www.tradingview.com/support/solutions/43000667474-rules-for-the-pine-script-q-a-public-chat/
// © Pumel
//@version=5
strategy("TEMA-DEMA Crossover Strategy", overlay=true)
// Benutzerdefinierte TEMA Funktion
tema(source, length) =>
ema1 = ta.ema(source, length)
ema2 = ta.ema(ema1, length)
3 * ema1 - 3 * ema2 + ta.ema(ema2, length)
// Benutzerdefinierte DEMA Funktion
dema(source, length) =>
ema1 = ta.ema(source, length)
ema2 = ta.ema(ema1, length)
2 * ema1 - ema2
// Eingabeparameter
tema_period = input(14, title="TEMA Period")
dema_period = input(14, title="DEMA Period")
lot_size = input(0.1, title="Lot Size")
// TEMA und DEMA Indikatoren berechnen
tema_value = tema(close, tema_period)
dema_value = dema(close, dema_period)
// Farben für die Long- und Short-Positionen
long_color = color.new(color.green, 50) // Grüne Farbe mit 50% Transparenz
short_color = color.new(color.red, 50) // Rote Farbe mit 50% Transparenz
// Hintergrundfarben basierend auf der Handelslogik ändern
bgcolor(ta.rising(tema_value, 1) and ta.falling(dema_value, 1) ? long_color : na)
bgcolor(ta.falling(tema_value, 1) and ta.rising(dema_value, 1) ? short_color : na)
// Handelslogik
if ta.rising(tema_value, 1) and ta.falling(dema_value, 1)
strategy.entry("Long", strategy.long, qty=lot_size)
strategy.close("Short")
if ta.falling(tema_value, 1) and ta.rising(dema_value, 1)
strategy.entry("Short", strategy.short, qty=lot_size)
strategy.close("Long")