Chiến lược theo dõi RSI MACD Crossover Double Moving Average


Ngày tạo: 2023-10-23 17:00:44 sửa đổi lần cuối: 2023-10-23 17:00:44
sao chép: 0 Số nhấp chuột: 824
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi RSI MACD Crossover Double Moving Average

Tổng quan

Chiến lược này sử dụng các chỉ số RSI, MACD và đường hai đồng bằng để theo dõi xu hướng và định vị hiệu quả của sự chênh lệch tiêu chuẩn. Chiến lược sử dụng chỉ số RSI để đánh giá hiện tượng quá mua quá bán, MACD để đánh giá giá mua mua bán, đường hai đồng bằng lọc một số cơ hội giao dịch ồn ào và kiếm lợi nhuận trong xu hướng.

Nguyên tắc chiến lược

  1. Tính toán chỉ số RSI để đánh giá quá mua quá bán
  • Tính toán biến động trong chu kỳ

  • RSI được tính dựa trên sự thay đổi từ tăng xuống

  • Đưa ra phán đoán mua bán quá mức

  1. Tính toán MACD đánh giá chéo
  • Tính toán đường nhanh, đường chậm, đường tín hiệu

  • Có thể mua và bán qua các đường dây nhanh chóng

  • Hiển thị điểm chéo

  1. Thực hiện bộ lọc kép
  • Tính toán đường nhanh, đường chậm

  • Hãy cân nhắc giao dịch chỉ khi đi đường dây nhanh.

  • Thực hiện theo dõi xu hướng lọc tiếng ồn

  1. Kết hợp nhiều chỉ số để đánh giá sự tham gia
  • Bộ lọc đa điều kiện RSI, MACD và đường hai chiều

  • Cải thiện tính ổn định của chiến lược

Phân tích lợi thế

  • Giao diện đa chỉ số, chính xác hơn trong chiến lược

  • Theo dõi xu hướng, lọc tiếng ồn, tăng sự ổn định

  • Chỉ số RSI đánh giá giá quá mua quá bán, giúp nắm bắt các điểm biến động

  • MACD phân tích chéo, đơn giản và hiệu quả trong việc đánh giá mua và bán

  • Bộ lọc hai dòng, loại bỏ hầu hết các cơ hội giao dịch theo hướng phi chính thống

  • Dễ hiểu, ít tham số, thích hợp cho người mới học để cải thiện học tập

Phân tích rủi ro

  • Giao diện đa chỉ số, dễ dẫn đến chiến lược tối ưu hóa

  • Phương pháp này đã làm mất đi một số cơ hội và hy sinh quá nhiều sự linh hoạt.

  • Các tham số RSI và MACD cần được lựa chọn cẩn thận

  • Cần chú ý đến điểm dừng lỗ của các loại giao dịch, kiểm soát rủi ro

  • Sử dụng lâu dài cần điều chỉnh các tham số để phù hợp với thị trường

Hướng tối ưu hóa

  • Điều chỉnh tham số RSI để phù hợp với các đặc điểm khác nhau

  • Điều chỉnh chu kỳ đường hai chiều để tối ưu hóa hiệu quả theo dõi xu hướng

  • Tham gia chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ

  • Kết hợp với nhiều chỉ số hơn, điều kiện phong phú hơn

  • Các tham số phát triển theo mô hình thích nghi, tự động điều chỉnh tham số

Tóm tắt

Chiến lược này sử dụng nhiều chỉ số như RSI, MACD và đường hai chiều, để đánh giá và theo dõi xu hướng, lọc nhiều lớp cho cơ hội, là một chiến lược đa chỉ số rất phù hợp cho người mới học và cải thiện. Ưu điểm của chiến lược này là đơn giản, hiệu quả, dễ hiểu thích ứng, có thể đạt được lợi nhuận ổn định tốt bằng cách điều chỉnh tham số.

Mã nguồn chiến lược
/*backtest
start: 2023-09-22 00:00:00
end: 2023-10-22 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// strategy(title="RSI MACD", precision = 6, pyramiding = 1, default_qty_type = strategy.percent_of_equity, default_qty_value = 99, commission_type = strategy.commission.percent, commission_value = 0.25, initial_capital = 1000)

// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//standard rsi template
src = ohlc4, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=#87ff1a)
band1 = hline(80)
band = hline(50)
band0 = hline(20)
fill(band1, band0, color=purple, transp=90)

//macd

fast_length = input(title="Fast Length",  defval=9)
slow_length = input(title="Slow Length",  defval=72)
signal_length = input(title="Signal Length",  defval=9)

fast_ma = sma(rsi, fast_length) 
slow_ma = sma(rsi, slow_length) 
shortma = sma(ohlc4, fast_length)
longma = sma(ohlc4, slow_length)
controlmainput = input(title = "Control MA", defval = 234)
controlma = sma(ohlc4, controlmainput)
macdx = fast_ma - slow_ma
signalx = sma(macdx, signal_length)
hist = macdx - signalx
ma_hist = shortma - controlma
macd = macdx + 50
signal = signalx + 50

plot(macd,"macd", color = fuchsia)
plot(hist,"hist", style = histogram, color = fuchsia)
//plot(ma_hist,"ma hist", style = histogram, color = orange)
plot(signal,"signal", color = white)

//input
control_buy_toggle = input(true, "Buy on crossover control MA?", type = bool)
buy_on_control = control_buy_toggle == true? true : false

//conditions
buy = buy_on_control == true? ma_hist > 0 and shortma > longma and crossover(macd,signal) or crossover(shortma, controlma) : ma_hist > 0 and shortma > longma and crossover(macd,signal)
sell = ma_hist > 0 and shortma > longma and crossunder(macd,signal)
stop = crossunder(shortma, longma) or crossunder(shortma, controlma)

plotshape(buy,"buy", shape.triangleup, location.bottom, green, size = size.tiny)
plotshape(sell,"sell", shape.triangledown, location.bottom, red, size = size.tiny)
plotshape(stop,"stop",shape.circle,location.bottom, white, size = size.tiny)

if testPeriod()
    strategy.entry("buy", true, when = buy, limit = close)
    strategy.close("buy", when = sell)
    strategy.close("buy", when = stop)