pinescript code has several errors.  please repair it


//@version=4
strategy("BTCUSD SuperTrend Dziwne QQE Strategy", shorttitle = "SDQ Strategy", overlay = true)

// Input parameters
supertrend_mult = input(3.0, title = "SuperTrend Multiplier")
supertrend_len = input(10, title = "SuperTrend Length")
dziwne_len = input(14, title = "Dziwne Length")
qqe_rsi_len = input(14, title = "QQE RSI Length")
qqe_wilders_len = input(5, title = "QQE Wilders Length")
atr_tp = input(true, title = "Use ATR for Takeprofit")
takeprofit_percent = input(2.0, title = "Takeprofit Percent")
atr_len = input(14, title = "ATR Length")

// Supertrend calculation
atr = atr(supertrend_len)
up = hl2 - (supertrend_mult * atr)
down = hl2 + (supertrend_mult * atr)
Trend_Up = 0.0
Trend_Down = 0.0
Trend_Up := close[1] > Trend_Up[1] ? max(up, Trend_Up[1]) : up
Trend_Down := close[1] < Trend_Down[1] ? min(down, Trend_Down[1]) : down
trend_is_up = close > Trend_Up[1]
trend_is_down = close < Trend_Down[1]

bgcolor(trend_is_up ? color.new(color.green, 50) : color.new(color.red, 50))

// Dziwne calculation
dziwne = 2 / (dziwne_len + 1) * (close - nz(dziwne[1])) + nz(dziwne[1])

plot(trend_is_up ? Trend_Up : Trend_Down, color = trend_is_up ? color.green : color.red, linewidth = 2, style = plot.style_line)

// QQE Calculation
smoothed_rsi = rma(rsi(qqe_rsi_len), qqe_wilders_len)
pair = security(syminfo.tickerid, "D", close)
QQE_Mavg = ema(pair, dziwne_len)
QQE_Variance = pair - QQE_Mavg
QQE_StdDev = sqrt(sma(QQE_Variance * QQE_Variance, dziwne_len))
QQE_ZScore = QQE_Variance / (3 * QQE_StdDev)
plot(QQE_ZScore, color = color.blue, linewidth = 2)

// Strategy logic
enter_long = trend_is_up and close > dziwne and QQE_ZScore > 0
enter_short = trend_is_down and close < dziwne and QQE_ZScore < 0

if (enter_long)
    strategy.entry("Long", strategy.long)
else
    strategy.close("Long")

if (enter_short)
    strategy.entry("Short", strategy.short)
else
    strategy.close("Short")

// Takeprofit logic
if (atr_tp)
    strategy.exit("Takeprofit", "Long", stop = close - atr*atr_len)
    strategy.exit("Takeprofit", "Short", stop = close + atr*atr_len)
else
    strategy.exit("Takeprofit", "Long", profit = round(takeprofit_percent / 100 * close))
    strategy.exit("Takeprofit", "Short", profit = round(takeprofit_percent / 100 * close))




6:01:18 PM    Error at 29:0 Undeclared identifier 'dziwne';
6:01:18 PM    Error at 34:0 Unassigned argument y;
6:01:18 PM    Error at 43:0 Undeclared identifier 'dziwne';
6:01:18 PM    Error at 44:0 Undeclared identifier 'dziwne';
6:01:18 PM    Error at 46:0 Undeclared identifier 'enter_long';
6:01:18 PM    Error at 51:0 Undeclared identifier 'enter_short'
the original author says the intended function of the code is to Take a LONG :
* When the Supertrend is green.
* Dziwne Is in a long trend in green.
* QQE is in the blue.
Take SHORT
* When the Supertrend is red.
* Dziwne Is in a long trend in red.
* QQE is in the red.
TP can use either ATR or a %
Trend Indicator A-V2" and “Trend Indicator B-V2” are updated and improved versions of my initial trend indicators. Totally rethinking the code, adding highs and lows in the calculations, including some more customisation through colour schemes.
In practice, this indicator uses EMAs and Heikin Ashi to provide an overall idea of the trend.
The “Trend Indicator A-V2” is an overlay showing “Smoothed Heikin Ashi”.
Please, take into account that it is a lagging indicator.