
A estratégia de reversão do canal do ouro é uma estratégia de negociação quantitativa baseada na divisão do ouro e no indicador de força relativa (RSI). A estratégia combina a teoria do canal do ouro e o indicador de sobrevenda e sobrevenda para reversão de tendências de grande ciclo com a intenção de obter lucro em períodos curtos.
A estratégia primeiro calcula as duas áreas de preço mais importantes da linha divisória do ouro, ou seja, o ponto alto de 0,618 vezes e o ponto baixo de 0,618 vezes. Quando o preço se aproxima dessas duas áreas, pensamos que o preço pode se reversar.
Além disso, a estratégia também calcula o indicador RSI para determinar o estado de sobrevenda. Quando o RSI está abaixo de 30, é um estado de sobrevenda, e quando está acima de 70, é um estado de sobrevenda.
Combinando essas duas condições, a estratégia julga as condições de compra como: o preço de fechamento atravessou o ponto baixo de 0,618 vezes e o indicador RSI está abaixo de 30; as condições de venda são: o preço de fechamento atravessou o ponto alto de 0,618 vezes e o indicador RSI está acima de 70.
Quando o sinal de compra é acionado, a estratégia abre uma posição a mais no preço de mercado do ponto; quando o sinal de venda é acionado, a estratégia abre uma posição a menos no preço de mercado do ponto. Além disso, a estratégia também configura um ponto de parada de parada quando o preço se move na direção favorável a uma certa proporção e pára quando o preço se move na direção negativa a uma certa proporção.
A estratégia combina tendências e reversões, levando em conta tendências de grandes ciclos e aproveitando reversões de curto período. Tem as seguintes vantagens:
A estratégia também apresenta alguns riscos que devem ser evitados:
A estratégia também pode ser melhorada nos seguintes aspectos:
Recolher mais dados históricos, testar e otimizar os parâmetros-chave, como a amplitude da linha divisória do ouro e a linha de superaquecimento do RSI, para que eles estejam mais em sintonia com o mercado real.
Adicionar outros indicadores de julgamento para formar um sinal de negociação mais forte. Como a forma de linha K, a mudança de volume de transação, etc.
Ajustar parâmetros ou regras de otimização de acordo com as características de diferentes variedades de negociação.
A adição de estratégias de stop loss automáticas, que acompanham as mudanças de preço em tempo real para determinar a posição de stop loss.
A estratégia de reversão do canal do ouro, combinando fatores de tendência e fatores de reversão, é uma estratégia quantitativa recomendada para controlar o risco ao mesmo tempo em que se aproveita o lucro de uma linha curta. Com otimização, espera-se obter melhores retornos.
/*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.")