Chiến lược theo xu hướng được thúc đẩy bởi nhiều yếu tố


Ngày tạo: 2024-01-17 14:02:22 sửa đổi lần cuối: 2024-01-17 14:02:22
sao chép: 0 Số nhấp chuột: 568
1
tập trung vào
1617
Người theo dõi

Chiến lược theo xu hướng được thúc đẩy bởi nhiều yếu tố

Tổng quan

Chiến lược này kết hợp hai yếu tố là chỉ số phân tích trung bình di chuyển ((MACD) và chỉ số tương đối mạnh ((Stoch RSI) để đánh giá xu hướng thị trường, làm nhiều khi xu hướng tăng và làm rỗng khi xu hướng giảm, thuộc loại chiến lược theo dõi xu hướng.

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

Chiến lược này sử dụng hai chỉ số MACD và Stoch RSI để xác định xu hướng của thị trường.

Chỉ số MACD bao gồm đường nhanh ((ema nhanh) và đường chậm ((ema chậm) và chênh lệch của chúng, phản ánh sự kết hợp và tách biệt giữa đường trung bình ngắn hạn và dài hạn. Đường nhanh là tín hiệu mua khi đi qua đường chậm và đường nhanh là tín hiệu bán khi đi qua đường chậm.

Stoch RSI kết hợp các lợi thế của chỉ số RSI và chỉ số Stoch để hiển thị thị trường quá mua quá bán. Stoch RSI lớn hơn đường tín hiệu Stoch RSI cho tín hiệu mua và nhỏ hơn đường tín hiệu cho tín hiệu bán.

Chiến lược này sử dụng MACD và Stoch RSI để xác định xu hướng của thị trường trên đường ngày và đường 4 giờ. Khi hai chỉ số trên đường ngày và đường 4 giờ đồng thời phát ra tín hiệu mua, hãy làm nhiều hơn; Khi hai chỉ số đồng thời phát ra tín hiệu bán, hãy làm rớt.

Lợi thế chiến lược

  1. Kết hợp hai yếu tố để đánh giá xu hướng thị trường, có thể lọc hiệu quả các tín hiệu giả và tăng độ chính xác tín hiệu

  2. Chứng minh tín hiệu trên đường thời gian cao và thấp (đường ngày và đường 4 giờ) để tránh bị đánh giá

  3. Theo dõi xu hướng, tránh thị trường chấn động

  4. Các chiến lược được thiết kế rõ ràng, đơn giản và dễ hiểu để thực hiện.

Rủi ro và giải quyết

  1. Không thể đánh giá hiệu quả điểm biến đổi xu hướng, có thể đảo ngược điểm dừng
  • Điều chỉnh thích hợp các tham số để tối ưu hóa, hoặc thêm các chỉ số đánh giá khác
  1. Một hợp đồng duy nhất không phân tán rủi ro hệ thống trên thị trường
  • Thêm các hợp đồng khác hoặc cổ phiếu để phân tán đầu tư
  1. Không thể đánh giá được ảnh hưởng của một sự kiện lớn bất ngờ
  • Phân tích cơ bản và nâng cao nhận thức về phòng ngừa rủi ro

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

  1. Điều chỉnh các tham số của MACD và Stoch RSI để tối ưu hóa điểm mua và bán

  2. Tăng chiến lược dừng lỗ di động, khóa lợi nhuận

  3. Thêm mô-đun quản lý tiền để kiểm soát các vị trí đơn

  4. Kết hợp nhiều yếu tố hơn để tăng độ chính xác tín hiệu

  5. Các tham số tối ưu hóa động theo phương pháp học máy

Tóm tắt

Chiến lược này sử dụng mô hình hai yếu tố để đánh giá xu hướng thị trường, kết hợp với tín hiệu xác minh trục thời gian cao và thấp, là một chiến lược theo dõi xu hướng ổn định và đáng tin cậy hơn. Có khả năng phòng ngừa rủi ro và khả năng chấp nhận lỗi.

Mã nguồn chiến lược
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title='[RS]Khizon (UGAZ) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD)
//  ||  Inputs:
macd_src = input(title='MACD Source:',  defval=close)
macd_fast = input(title='MACD Fast Length:',  defval=12)
macd_slow = input(title='MACD Slow Length:',  defval=26)
macd_signal_smooth = input(title='MACD Signal Smoothing:',  defval=9)
srsi_src = input(title='SRSI Source:',  defval=close)
srsi_rsi_length = input(title='SRSI RSI Length:',  defval=14)
srsi_stoch_length = input(title='SRSI Stoch Length:',  defval=14)
srsi_smooth = input(title='SRSI Smoothing:',  defval=3)
srsi_signal_smooth = input(title='SRSI Signal Smoothing:',  defval=3)
//  ||  Strategy Inputs:
trade_size = input(title='Trade Size in USD:', type=float, defval=1)
buy_trade = input(title='Perform buy trading?', type=bool, defval=true)
sel_trade = input(title='Perform sell trading?', type=bool, defval=true)
//  ||  MACD(close, 12, 26, 9):     ||---------------------------------------------||
f_macd_trigger(_src, _fast, _slow, _signal_smooth)=>
    _macd = ema(_src, _fast) - ema(_src, _slow)
    _signal = sma(_macd, _signal_smooth)
    _return_trigger = _macd >= _signal ? true : false
//  ||  Stoch RSI(close, 14, 14, 3, 3)  ||-----------------------------------------||
f_srsi_trigger(_src, _rsi_length, _stoch_length, _smooth, _signal_smooth)=>
    _rsi = rsi(_src, _rsi_length)
    _stoch = sma(stoch(_rsi, _rsi, _rsi, _stoch_length), _smooth)
    _signal = sma(_stoch, _signal_smooth)
    _return_trigger = _stoch >= _signal ? true : false
//  ||-----------------------------------------------------------------------------||
//  ||-----------------------------------------------------------------------------||
//  ||  Check Directional Bias from daily timeframe:
daily_trigger = security('NGAS', 'D', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth))
h4_trigger = security('NGAS', '240', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth))

plot(title='D1T', series=daily_trigger?0:na, style=circles, color=blue, linewidth=4, transp=65)
plot(title='H4T', series=h4_trigger?0:na, style=circles, color=navy, linewidth=2, transp=0)

sel_open = sel_trade and not daily_trigger and not h4_trigger
buy_open = buy_trade and daily_trigger and h4_trigger
sel_close = not buy_trade and daily_trigger and h4_trigger
buy_close = not sel_trade and not daily_trigger and not h4_trigger
strategy.entry('sel', long=false, qty=trade_size, comment='sel', when=sel_open)
strategy.close('sel', when=sel_close)
strategy.entry('buy', long=true, qty=trade_size, comment='buy', when=buy_open)
strategy.close('buy', when=buy_close)