OPEN-SOURCE SCRIPT

5/22 MA Strategy with Dynamic Channel + AL/SAT

//version=5
indicator("5/22 MA Strategy with Dynamic Channel + AL/SAT", overlay=true)

// === Parametreler ===
length = input.int(50, title="Kanal Uzunluğu (Bar Sayısı)")
offset = input.int(2, title="Kanal Genişliği Çarpanı") // ATR ile kanal genişliği

// === Hareketli Ortalamalar (5 ve 22) ===
ma_fast = ta.ema(close, 5) // Hızlı EMA (5)
ma_slow = ta.ema(close, 22) // Yavaş EMA (22)

// === RSI Hesaplama ===
rsi = ta.rsi(close, 14)

// === MACD Hesaplama ===
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// === ATR (Volatilite için) ===
atr = ta.atr(14)

// === Üst ve Alt Seviyelerin Hesaplanması (Kanal) ===
highest_high = ta.highest(high, length) // Son 'length' barın en yüksek değeri
lowest_low = ta.lowest(low, length) // Son 'length' barın en düşük değeri
middle = (highest_high + lowest_low) / 2
upper_band = highest_high + offset * atr
lower_band = lowest_low - offset * atr

// === Kanal Çizgilerinin Gösterimi ===
plot(highest_high, title="Üst Kanal", color=color.blue, linewidth=1)
plot(lowest_low, title="Alt Kanal", color=color.blue, linewidth=1)
plot(middle, title="Orta Çizgi", color=color.orange, linewidth=1)
plot(upper_band, title="Üst Genişlik", color=color.green, linewidth=1)
plot(lower_band, title="Alt Genişlik", color=color.red, linewidth=1)

// === Al/Sat Sinyalleri (5/22 MA Stratejisi) ===
ma_crossover = ta.crossover(ma_fast, ma_slow) // 5 MA, 22 MA'yı yukarı kesiyor
ma_crossunder = ta.crossunder(ma_fast, ma_slow) // 5 MA, 22 MA'yı aşağı kesiyor

// Al Sinyali: 5/22 MA kesişimi + RSI düşük (momentum onayı) + MACD pozitif kesişim
buy_signal = ma_crossover and rsi < 50 and ta.crossover(macdLine, signalLine)

// Sat Sinyali: 5/22 MA kesişimi + RSI yüksek (momentum onayı) + MACD negatif kesişim
sell_signal = ma_crossunder and rsi > 50 and ta.crossunder(macdLine, signalLine)

// === Grafikte Al/Sat İşaretleme ===
plot(ma_fast, color=color.blue, title="Fast EMA (5)")
plot(ma_slow, color=color.orange, title="Slow EMA (22)")

// === Al ve Sat Yazıları Ekleyin ===
if buy_signal
label.new(bar_index, low, text="AL", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)
if sell_signal
label.new(bar_index, high, text="SAT", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)

// === Alarm Koşulları ===
alertcondition(buy_signal, title="Buy Signal Alert", message="5/22 MA + RSI + MACD Buy Signal Detected!")
alertcondition(sell_signal, title="Sell Signal Alert", message="5/22 MA + RSI + MACD Sell Signal Detected!")

// === Risk Yönetimi: ATR ile Stop-Loss Seviyeleri ===
long_stop_loss = buy_signal ? close - 1.5 * atr : na // Al pozisyonu için stop-loss
short_stop_loss = sell_signal ? close + 1.5 * atr : na // Sat pozisyonu için stop-loss

// Stop-loss çizgileri
if buy_signal
line.new(x1=bar_index[1], y1=long_stop_loss, x2=bar_index, y2=long_stop_loss, color=color.red, width=1, extend=extend.right, style=line.style_dashed)
if sell_signal
line.new(x1=bar_index[1], y1=short_stop_loss, x2=bar_index, y2=short_stop_loss, color=color.red, width=1, extend=extend.right, style=line.style_dashed)

Bands and ChannelsChart patternsMoving Averages

نص برمجي مفتوح المصدر

قام مؤلف هذا النص البرمجي بنشره وجعله مفتوح المصدر، بحيث يمكن للمتداولين فهمه والتحقق منه، وهو الأمر الذي يدخل ضمن قيم TradingView. تحياتنا للمؤلف! يمكنك استخدامه مجانًا، ولكن إعادة استخدام هذا الرمز في المنشور يخضع لقواعد‎‎قوانين الموقع. يمكنك جعله مفضلاً لاستخدامه على الرسم البياني.

هل تريد استخدام هذا النص البرمجي على الرسم البياني؟

إخلاء المسؤولية