//@version=5
strategy("Optimalizált QQE, MACD, DMI, HAMA Színváltó MA Indikátor", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Paraméterek
ma_length = input.int(55, "MA Length")
qqe_length = input.int(14, "QQE Length")
qqe_smooth = input.int(5, "QQE Smooth")
macd_fast = input.int(12, "MACD Fast")
macd_slow = input.int(26, "MACD Slow")
macd_signal = input.int(9, "MACD Signal")
dmi_length = input.int(14, "DMI Length")
atr_period = input.int(14, "ATR Period")
atr_multiplier = input.float(1.5, "ATR Multiplier")
// HAMA Színváltó MA
ma = ta.wma(close, ma_length)
ma_color = ta.rising(ma, 1) ? color.green : ta.falling(ma, 1) ? color.red : color.yellow
// QQE számítások
qqe_rsi = ta.ema(ta.rsi(close, qqe_length), qqe_smooth)
qqe_color = qqe_rsi > 50 ? color.green : color.red
// MACD számítások
[macd, signal, hist] = ta.macd(close, macd_fast, macd_slow, macd_signal)
// DMI számítások
[diplus, diminus, adx] = ta.dmi(dmi_length, dmi_length)
// ATR
atr = ta.atr(atr_period)
// Kereskedési logika
var float trail_price = 0.0
var bool in_trade = false
// Feltételek
ma_condition = ma_color == color.green
qqe_condition = qqe_color == color.green
macd_condition = macd > signal
dmi_condition = diplus > diminus
buy_condition = ma_condition and qqe_condition and macd_condition and dmi_condition
sell_condition = ma_color == color.red and close < ma
if buy_condition and not in_trade
strategy.entry("Long", strategy.long)
trail_price := close * (1 - atr_multiplier * atr / close)
in_trade := true
label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, style=label.style_label_up, yloc=yloc.belowbar)
label.new(bar_index, high, "🚩", color=color.green, textcolor=color.white, style=label.style_label_down, yloc=yloc.abovebar, size=size.large)
if in_trade
trail_price := math.max(trail_price, close * (1 - atr_multiplier * atr / close))
if sell_condition or close <= trail_price
strategy.close("Long")
in_trade := false
label.new(bar_index, high, "SELL", color=color.red, textcolor=color.white, style=label.style_label_down, yloc=yloc.abovebar)
label.new(bar_index, low, "🚩", color=color.red, textcolor=color.white, style=label.style_label_up, yloc=yloc.belowbar, size=size.large)
// Vizualizáció
plot(ma, color=ma_color, linewidth=2, title="HAMA Színváltó MA")
plot(trail_price, color=color.red, style=plot.style_stepline, title="Trailing Stop")
// QQE megjelenítése
plot(qqe_rsi, "QQE RSI", color=qqe_color)
// MACD megjelenítése
plot(hist, title="MACD Histogram", style=plot.style_columns, color=hist >= 0 ? color.green : color.red, histbase=0)
plot(macd, title="MACD", color=color.blue)
plot(signal, title="Signal", color=color.orange)
// DMI megjelenítése
plot(diplus, color=color.green, title="+DI")
plot(diminus, color=color.red, title="-DI")
plot(adx, color=color.white, title="ADX")
// Alertek és Webhookok
alertcondition(buy_condition and not in_trade, title="Vételi Jelzés", message="Vételi lehetőség: Minden feltétel teljesül")
alertcondition(sell_condition and in_trade, title="Eladási Jelzés", message="Eladási jelzés: Ár a piros MA alatt vagy trailing stop elérve")