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

Script de código abierto

Siguiendo fielmente el espíritu de TradingView, el autor de este script lo ha publicado en código abierto, permitiendo que otros traders puedan entenderlo y verificarlo. ¡Olé por el autor! Puede utilizarlo de forma gratuita, pero tenga en cuenta que la reutilización de este código en la publicación se rige por las Normas internas. Puede añadir este script a sus favoritos y usarlo en un gráfico.

¿Quiere utilizar este script en un gráfico?

Exención de responsabilidad