
La stratégie est une stratégie de négociation basée sur plusieurs indicateurs techniques, qui génère des signaux d’achat et de vente sur une période de 15 minutes en tenant compte des indicateurs tels que les bandes de Bollinger (BB), les moyennes mobiles (MA), le MACD, le RSI, l’oscillateur stochastique (STOCH) et le prix moyen pondéré en volume (VWAP). La stratégie génère des signaux d’achat ou de vente lorsque plusieurs indicateurs répondent à des conditions spécifiques en même temps, tout en définissant des stop-loss et des stop-loss pour gérer les risques et bloquer les bénéfices.
La stratégie a une bonne capacité de suivi des tendances et des mesures de gestion des risques, qui permettent d’obtenir une performance stable dans différentes conditions de marché. Cependant, la stratégie existe également un certain risque d’optimisation des paramètres et un risque de suradaptation, qui nécessite une optimisation et une amélioration supplémentaires.
/*backtest
start: 2024-04-26 00:00:00
end: 2024-05-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Gelişmiş Al-Sat Sinyalleri", overlay=true, process_orders_on_close=true)
// 15 dakikalık grafik verileri
fifteen_minute_close = request.security(syminfo.tickerid, "15", close)
// Stop loss ve take profit seviyelerini hesaplamak için kullanılacak oranlar
stop_loss_ratio = input.float(0.01, title="Stop Loss Oranı")
take_profit_ratio = input.float(0.02, title="Take Profit Oranı")
// Bollinger Bantları göstergesi
length = input.int(20, title="BB Dönemi")
mult = input.float(2.0, title="BB Çarpanı")
basis = ta.sma(fifteen_minute_close, length)
dev = mult * ta.stdev(fifteen_minute_close, length)
upper = basis + dev
lower = basis - dev
// Moving Averages (Hareketli Ortalamalar)
fast_ma = ta.sma(fifteen_minute_close, 10)
slow_ma = ta.sma(fifteen_minute_close, 30)
// MACD göstergesi
macd_line = ta.ema(fifteen_minute_close, 12) - ta.ema(fifteen_minute_close, 26)
macd_signal = ta.ema(macd_line, 9)
macd_hist = macd_line - macd_signal
// RSI göstergesi
rsi = ta.rsi(fifteen_minute_close, 14)
// Stochastic Oscillator (Stokastik Osilatör)
kPeriod = input.int(14, title="Stochastic %K Periyodu")
dPeriod = input.int(3, title="Stochastic %D Periyodu")
smoothK = input.int(3, title="Stochastic %K Düzleştirme")
k = ta.stoch(fifteen_minute_close, high, low, kPeriod)
d = ta.sma(k, dPeriod)
// Hacim ağırlıklı hareketli ortalamalar göstergesi (VWAP)
vwap_length = input.int(20, title="VWAP Dönemi")
vwap = ta.sma(volume * (high + low + fifteen_minute_close) / 3, vwap_length) / ta.sma(volume, vwap_length)
// Al-Sat Sinyallerini hesaplayın
long_signal = ta.crossover(fast_ma, slow_ma) and macd_line > macd_signal and rsi > 50 and fifteen_minute_close > vwap and k > d
short_signal = ta.crossunder(fast_ma, slow_ma) and macd_line < macd_signal and rsi < 50 and fifteen_minute_close < vwap and k < d
// Al ve Sat işaretlerini, yanlarında ok işaretleri olan üçgenlerle değiştirin
plotshape(series=long_signal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=short_signal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Uzun ve kısa pozisyonlar için girişler
if (long_signal)
strategy.entry("long", strategy.long)
strategy.exit("exit_long", "long", stop=fifteen_minute_close * (1 - stop_loss_ratio), limit=fifteen_minute_close * (1 + take_profit_ratio))
if (short_signal)
strategy.entry("short", strategy.short)
strategy.exit("exit_short", "short", stop=fifteen_minute_close * (1 + stop_loss_ratio), limit=fifteen_minute_close * (1 - take_profit_ratio))