
La estrategia de inversión del canal de oro es una estrategia de negociación cuantitativa basada en la línea divisoria del oro y el indicador relativamente débil (el RSI). La estrategia combina la teoría del canal de oro y el indicador de sobrecompra y sobreventa para invertir bajo una tendencia de gran ciclo con la esperanza de obtener ganancias en períodos cortos.
La estrategia primero calcula las dos zonas de precios importantes de la línea divisoria del oro, es decir, el punto alto de 0.618 veces y el punto bajo de 0.618 veces. Cuando el precio se acerca a estas dos zonas, creemos que el precio puede revertir.
Además, la estrategia también calcula el indicador RSI para determinar el estado de sobreventa y sobreventa. Cuando el RSI está por debajo de 30 es un estado de sobreventa y por encima de 70 es un estado de sobreventa. Ambos estados también significan que el precio puede revertir.
Combinando estas dos condiciones, la estrategia determina las condiciones de compra como: el precio de cierre atraviesa el punto bajo de 0.618 veces y el indicador RSI es inferior a 30; las condiciones de venta son: el precio de cierre atraviesa el punto alto de 0.618 veces y el indicador RSI es superior a 70.
Cuando se activa la señal de compra, la estrategia abre una posición en el precio de mercado de ese punto; cuando se activa la señal de venta, la estrategia abre una posición en el precio de mercado de ese punto. Además, la estrategia también establece un punto de parada y pérdida, cuando el precio se mueve en la dirección favorable y se detiene después de una cierta proporción. Cuando el precio se mueve en la dirección negativa y se detiene después de una cierta proporción.
La estrategia combina tendencias y reversiones, tanto para tomar en cuenta las tendencias de grandes ciclos como para aprovechar las reversiones de ciclos cortos. Tiene las siguientes ventajas:
La estrategia también presenta algunos riesgos que deben evitarse:
La estrategia también puede ser optimizada en los siguientes aspectos:
Recopilar más datos históricos para probar y optimizar los parámetros clave, como el alcance de la línea divisoria del oro y la línea de sobrecompra y sobreventa del RSI, para que se ajusten mejor al mercado real.
Añadir otros indicadores de juicio para formar una señal de comercio más fuerte. Como la forma de la línea K, el cambio en el volumen de transacciones, etc.
Ajustar los parámetros o las reglas de optimización según las características de las diferentes variedades de transacciones.
Se ha añadido una estrategia de stop loss automática para determinar la posición de stop loss siguiendo los cambios en el precio en tiempo real.
La estrategia de inversión del canal de oro combina factores de tendencia y factores de reversión, aprovechando la ganancia de la línea corta y controlando el riesgo, es una estrategia cuantitativa recomendable. Se espera obtener mejores retornos después de la optimización.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("FBS Trade", overlay=true)
// Fibonacci seviyeleri
fibonacciLevels = input(0.618, title="Fibonacci Düzeltme Seviyesi")
// RSI ayarları
rsiLength = input(14, title="RSI Periyodu")
overboughtLevel = input(70, title="RSI Satış Sinyali Seviyesi")
oversoldLevel = input(30, title="RSI Alış Sinyali Seviyesi")
// Take Profit ve Stop Loss yüzdesi
takeProfitPercent = input(1, title="Take Profit Yüzdesi") / 100
stopLossPercent = input(1, title="Stop Loss Yüzdesi") / 100
// Fibonacci seviyelerini hesapla
highFibo = high * (1 + fibonacciLevels)
lowFibo = low * (1 - fibonacciLevels)
// RSI hesaplama
rsiValue = ta.rsi(close, rsiLength)
// Alış ve satış koşulları
buyCondition = close > lowFibo and rsiValue < 30
sellCondition = close < highFibo and rsiValue > overboughtLevel
// Take Profit ve Stop Loss seviyeleri
takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
stopLossLong = strategy.position_avg_price * (1 - stopLossPercent)
takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
stopLossShort = strategy.position_avg_price * (1 + stopLossPercent)
// Alış ve satış işlemleri
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Take Profit ve Stop Loss seviyeleri
if (strategy.position_size > 0)
strategy.exit("Take Profit/Close Buy", from_entry="Buy", limit=takeProfitLong, stop=stopLossLong)
if (strategy.position_size < 0)
strategy.exit("Take Profit/Close Sell", from_entry="Sell", limit=takeProfitShort, stop=stopLossShort)
// Sadece mumları ve buy/sell işlemlerini göster
plot(close, color=color.black, title="Close")
// Destek ve direnç bölgeleri
supportLevel = input(27, title="Fibonacci Destek Seviyesi")
resistanceLevel = input(200, title="Direnç Seviyesi")
hline(supportLevel, "Fibonacci Destek Seviyesi", color=color.green)
hline(resistanceLevel, "Direnç Seviyesi", color=color.red)
// Trend çizgileri
var line trendLine = na
if (ta.crossover(close, highFibo))
trendLine := line.new(bar_index[1], highFibo[1], bar_index, highFibo, color=color.green, width=2)
if (ta.crossunder(close, lowFibo))
trendLine := line.new(bar_index[1], lowFibo[1], bar_index, lowFibo, color=color.red, width=2)
// RSI ve Fibo'yu grafiğe çizme
hline(overboughtLevel, "RSI Satış Sinyali", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "RSI Alış Sinyali", color=color.green, linestyle=hline.style_dashed)
plot(rsiValue, color=color.purple, title="RSI")
// 15 dakikalıkta 3 mumda bir alarm
is15MinBar = ta.change(time('15'), 1)
if (is15MinBar % 3 == 0)
alert("15 dakikalıkta 3 mum geçti.")