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 open-source

In pieno spirito TradingView, l'autore di questo script lo ha pubblicato open-source, in modo che i trader possano comprenderlo e verificarlo. Un saluto all'autore! È possibile utilizzarlo gratuitamente, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento. Per aggiungerlo al grafico, mettilo tra i preferiti.

Vuoi usare questo script sui tuoi grafici?

Declinazione di responsabilità