
Chiến lược đảo ngược kênh vàng là một chiến lược giao dịch định lượng dựa trên đường phân chia vàng và chỉ số tương đối mạnh (RSI). Chiến lược này kết hợp lý thuyết kênh vàng và chỉ số mua bán quá mức để thực hiện hoạt động đảo ngược trong xu hướng chu kỳ lớn để kiếm lợi nhuận trong thời gian ngắn.
Chiến lược này đầu tiên tính toán hai vùng giá quan trọng của đường phân chia vàng, đó là điểm cao 0.618 lần và điểm thấp 0.618 lần. Khi giá gần hai vùng này, chúng tôi cho rằng giá có thể bị đảo ngược.
Ngoài ra, chiến lược cũng tính toán chỉ số RSI để xác định tình trạng quá mua quá bán. Khi RSI thấp hơn 30, nó là quá bán và cao hơn 70 là quá mua. Cả hai tình trạng này cũng có nghĩa là giá có thể đảo ngược.
Kết hợp hai điều kiện này, chiến lược quyết định mua điều kiện là: giá đóng cửa vượt quá mức thấp 0.618 lần và chỉ số RSI thấp hơn 30; bán điều kiện là: giá đóng cửa vượt quá mức cao 0.618 lần và chỉ số RSI cao hơn 70.
Khi kích hoạt tín hiệu mua, chiến lược sẽ mở nhiều vị trí tại giá thị trường tại điểm đó; khi kích hoạt tín hiệu bán, chiến lược sẽ mở lỗ tại giá thị trường tại điểm đó. Ngoài ra, chiến lược cũng sẽ thiết lập vị trí dừng lỗ, dừng lỗ khi giá di chuyển theo hướng thuận lợi đến một tỷ lệ nhất định, dừng lỗ khi giá di chuyển theo hướng bất lợi đến một tỷ lệ nhất định.
Chiến lược này kết hợp các yếu tố xu hướng và đảo ngược, xem xét cả xu hướng chu kỳ lớn và lợi nhuận từ các biến động chu kỳ ngắn. Nó có những lợi thế sau:
Chiến lược này cũng có một số rủi ro cần được đề phòng:
Chiến lược này cũng có thể được tối ưu hóa bằng cách:
Thu thập nhiều dữ liệu lịch sử hơn, kiểm tra và tối ưu hóa các tham số quan trọng như phạm vi của đường phân chia vàng, đường mua bán RSI, để phù hợp hơn với thị trường thực.
Thêm các chỉ số khác để tạo ra tín hiệu giao dịch mạnh hơn. Ví dụ: hình dạng đường K, thay đổi khối lượng giao dịch.
Điều chỉnh tham số hoặc tối ưu hóa quy tắc tùy thuộc vào đặc điểm của các loại giao dịch khác nhau.
Thêm chiến lược dừng lỗ tự động, theo dõi thay đổi giá trong thời gian thực để quyết định vị trí dừng lỗ.
Chiến lược đảo ngược đường vàng kết hợp yếu tố xu hướng và yếu tố đảo ngược, sử dụng lợi nhuận ngắn và kiểm soát rủi ro, là một chiến lược định lượng đáng khuyến khích. Khi được tối ưu hóa, có thể đạt được lợi nhuận tốt hơ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.")