
La estrategia utiliza datos de gráficos de 15 minutos en combinación con varios indicadores técnicos, como la banda de Brin (BB), el promedio móvil (MA), el promedio móvil de convergencia y dispersión (MACD), el índice de relative strength (RSI), el oscilador aleatorio (STOCH) y el precio promedio ponderado por volumen de transacción (VWAP), para generar señales de negociación avanzadas. La estrategia abre una posición de compra o venta cuando varios indicadores dan señales de compra o venta al mismo tiempo.
La estrategia genera señales de comercio avanzadas en el gráfico de 15 minutos mediante el uso integrado de varios indicadores técnicos, al mismo tiempo que establece paros y paradas para controlar el riesgo. La lógica de la estrategia es clara y fácil de implementar, pero en la aplicación real se debe tener en cuenta los factores de riesgo como el exceso de comercio, la configuración de paradas y la respuesta a eventos inesperados.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
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))