
Это стратегия для отслеживания тенденций и отклонения от торговли, основанная на нескольких технических показателях. Стратегия использует в комплексе Bollinger Bands, Relatively Strong Indicators (RSI), Random Indicators (Stochastic) и Capital Flow Indicators (MFI) для захвата возможностей перекупа и перепродажи на рынке, чтобы повысить надежность торговых сигналов с помощью перекрестного подтверждения нескольких показателей.
Стратегия использует многоуровневый механизм фильтрации для подтверждения торговых сигналов:
Стратегия имеет хорошую потенциал для применения с помощью разумных параметров оптимизации и мер по управлению рисками. В будущем может быть дополнительно повышена стабильность и прибыльность стратегии с помощью динамической корректировки параметров и фильтрации рыночной среды.
/*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")