
Es handelt sich um eine Trendverfolgungs- und Abweichungs-Handelsstrategie, die auf mehreren technischen Indikatoren basiert. Die Strategie verwendet Bollinger Bands, relativ starke RSI, stochastische Indikatoren und MFI, um Überkauf- und Überverkaufsmöglichkeiten in den Märkten zu erfassen und die Zuverlässigkeit der Handelssignale durch die Kreuzbestätigung mehrerer Indikatoren zu erhöhen.
Die Strategie nutzt mehrschichtige Filtermechanismen zur Bestätigung von Handelssignalen:
Die Strategie arbeitet durch die Synergie mehrerer Indikatoren zusammen, um ein relativ vollständiges Handelssystem zu schaffen. Der Kernvorteil der Strategie besteht darin, die Signalzuverlässigkeit durch die Kreuzprüfung verschiedener Arten von Indikatoren zu verbessern, wobei mehrere Markteigenschaften wie Trend, Dynamik und Kapitalfluss berücksichtigt werden. Obwohl ein gewisses Rückstandsrisiko besteht, hat die Strategie mit vernünftigen Parameteroptimierungs- und Risikomanagementmaßnahmen gutes Anwendungspotenzial.
/*backtest
start: 2022-02-09 00:00:00
end: 2025-02-06 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ahmetkaratas4238
//@version=5
strategy("İzmir Stratejisi", overlay=true)
// **Bollinger Bantları Hesaplamaları**
bbLength = 20
bbMult = 2.0
basis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
// **RSI (3,85,15) Hesaplaması**
rsiLength = 3
rsiUpper = 85
rsiLower = 15
rsi = ta.rsi(close, rsiLength)
// **Stochastic (10,3,85,15) Hesaplaması**
stochLength = 10
smoothK = 3
smoothD = 3
stochUpper = 85
stochLower = 15
k = ta.sma(ta.stoch(close, high, low, stochLength), smoothK)
d = ta.sma(k, smoothD)
// **Money Flow Index (MFI) Hesaplaması**
mfiLength = 14
mfi = ta.mfi(close, mfiLength) // Hata düzeltildi: Artık yalnızca periyot alıyor
mfiTrendUp = ta.ema(mfi, 10) > ta.ema(mfi[1], 10) // MFI yükseliş trendi
mfiTrendDown = ta.ema(mfi, 10) < ta.ema(mfi[1], 10) // MFI düşüş trendi
// **ALIM ŞARTLARI**
var bbBreakdown=false
var rsiBreakout=false
var stochBreakout=false
bbBreakdown := ta.crossunder(close,lowerBand)?true:bbBreakdown // Fiyat BB altına sarktı mı?
rsiBreakout := ta.crossover(rsi, rsiLower)?true:rsiBreakout // RSI 15 seviyesini yukarı kırdı mı?
stochBreakout := ta.crossover(k, stochLower)?true:stochBreakout // Stochastic alt bandı yukarı kırdı mı?
buyCondition = bbBreakdown and rsiBreakout and stochBreakout and mfiTrendUp
// **SATIM ŞARTLARI**
var bbBreakup=false
var rsiBreakdown=false
var stochBreakdown=false
bbBreakup := ta.crossunder(close, upperBand)?true:bbBreakup // Fiyat BB üst bandından aşağı kırdı mı?
rsiBreakdown := ta.crossunder(rsi, rsiUpper)?true:rsiBreakdown // RSI 85 seviyesini aşağı kırdı mı?
stochBreakdown := ta.crossunder(k, stochUpper)?true:stochBreakdown // Stochastic üst bandı aşağı kırdı mı?
sellCondition = bbBreakup and rsiBreakdown// and stochBreakdown and mfiTrendDown
if ta.crossunder(close,lowerBand)
bbBreakup:=false
if ta.crossover(rsi, rsiLower)
rsiBreakdown:=false
if ta.crossover(k, stochLower)
stochBreakdown:=false
if ta.crossunder(close, upperBand)
bbBreakdown:=false
if ta.crossunder(rsi, rsiUpper)
rsiBreakout:=false
if ta.crossunder(k, stochUpper)
stochBreakout:=false
// **Alım İşlemi Aç**
if buyCondition
strategy.entry("Long", strategy.long)
// **Satım İşlemi Yap (Pozisyon Kapat)**
if sellCondition
strategy.close("Long")
// **Bollinger Bantlarını Göster**
plot(upperBand, title="Üst BB", color=color.red)
plot(lowerBand, title="Alt BB", color=color.green)
plot(basis, title="Orta BB", color=color.blue)
// **Alım ve Satım Sinyallerini İşaretle**
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="AL")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SAT")