Chiến lược này được thiết kế kỹ lưỡng bởi chuyên gia kịch bản Snehashish, một cách sáng tạo kết hợp lợi thế của chỉ số phân tán trung bình di chuyển (MACD) và chỉ số tương đối mạnh (RSI) để xác định điểm vào và thoát tốt nhất trong thị trường. Phương pháp này được thiết kế kỹ lưỡng để vào giao dịch nhiều đầu chính xác khi đường MACD đi qua đường tín hiệu, với giả định rằng RSI trước đường 5K cho thấy thị trường đang bán tháo.
Đối với vị trí bằng phẳng, chiến lược này sử dụng hai điều kiện quan trọng để phát tín hiệu thoát. Đầu tiên, giao dịch kết thúc khi MACD nằm trên 0 và đường MACD đi qua bên dưới đường tín hiệu, cho thấy động lực tăng có thể bị đảo ngược. Thứ hai, nếu RSI được tìm thấy ở trạng thái quá mức trước đường 5K, tín hiệu thoát cũng sẽ được tạo ra, cho thấy thị trường có thể đã đạt đến đỉnh và có thể có sự sụt giảm.
Phương pháp của Snehashish khéo léo kết hợp các chỉ số kỹ thuật này, lọc ra tiếng ồn và nhắm mục tiêu vào các giao dịch có tỷ lệ thành công cao hơn bằng cách chờ MACD và RSI xác nhận trong một số điều kiện nhất định. Sự kết hợp chiến lược này nhằm tối ưu hóa điểm vào và điểm ra, giảm rủi ro liên quan đến biến động thị trường bằng cách sử dụng lợi thế của chỉ số để tăng lợi nhuận của giao dịch.
Nguyên tắc cốt lõi của chiến lược này là kết hợp hai chỉ số kỹ thuật MACD và RSI để nắm bắt các điểm biến động của thị trường với độ chính xác cao hơn. Chiến lược này sẽ đi vào giao dịch đa đầu khi RSI cho thấy thị trường đang bán tháo trên một vài đường K gần nhất, và đường MACD sau đó đi qua đường tín hiệu lên. Sự kết hợp này đảm bảo rằng chiến lược sẽ mở vị trí khi có dấu hiệu biến động giá.
Đối với các vị trí thắt lưng, chiến lược chú ý đến tín hiệu đảo ngược xu hướng tiềm năng được hiển thị bởi MACD và RSI. Nếu MACD nằm trên 0 và đường MACD đi xuống qua đường tín hiệu, chiến lược sẽ thắt lưng. Ngoài ra, nếu RSI trước đó cho thấy thị trường đạt đến mức mua quá mức, nó cũng sẽ kích hoạt vị trí thắt lưng.
Nhìn chung, bằng cách kết hợp các tín hiệu cung cấp bởi MACD và RSI, chiến lược này tìm cách mở vị trí khi xu hướng xuất hiện dấu hiệu đảo ngược, và mở vị trí khi xu hướng có thể kết thúc, để tối ưu hóa điểm vào và thoát, cải thiện hiệu suất giao dịch tổng thể.
Để giảm thiểu những rủi ro này, bạn có thể xem xét việc giới thiệu các chỉ số hàng đầu khác như là điều kiện lọc, tối ưu hóa các tham số để thích ứng với các điều kiện thị trường khác nhau và đặt các điểm dừng và chặn thích hợp để kiểm soát rủi ro giao dịch đơn lẻ.
Các biện pháp tối ưu hóa trên có thể tiếp tục nâng cao lợi nhuận điều chỉnh rủi ro của chiến lược, giúp nó thích ứng tốt hơn với môi trường thị trường thay đổi.
Chiến lược giao dịch đường dài của Snehashish kết hợp một cách khéo léo hai chỉ số kỹ thuật MACD và RSI để nắm bắt các điểm biến động của thị trường với độ chính xác cao hơn, tối ưu hóa thời gian vào và ra. Bằng cách chờ đợi RSI xác nhận tình trạng bán tháo, và sử dụng đường MACD đi qua đường tín hiệu để mở vị trí, chiến lược có thể vào vị trí kịp thời khi có dấu hiệu đảo ngược xu hướng.
Mặc dù chiến lược này cho thấy tiềm năng tốt, nhưng vẫn có một số rủi ro, chẳng hạn như giao dịch quá mức trong thị trường biến động, tín hiệu bị tụt hậu trong xu hướng mạnh. Để giảm thiểu những rủi ro này, các biện pháp như giới thiệu các chỉ số khác, thiết lập tham số tối ưu hóa, tăng cường phân tích môi trường thị trường và cải thiện quản lý vị trí có thể được xem xét.
Nhìn chung, chiến lược giao dịch đường dài kết hợp MACD và RSI cung cấp cho nhà đầu tư một khuôn khổ đáng tin cậy để nắm bắt các điểm biến động của thị trường và tối ưu hóa thời gian ra khỏi thị trường. Với sự tối ưu hóa và cải tiến hơn nữa, chiến lược này có khả năng trở thành một công cụ mạnh mẽ cho các nhà đầu tư trong thị trường biến động, giúp họ đạt được lợi nhuận lâu dài vững chắc.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// snehashish 2024
strategy(title='spl Long Strategy', initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, currency='USD', overlay=true)
//// Stoploss and Take Profit Parameters
// Enable Long Strategy
enable_long_strategy = input.bool(true, title='Enable Long Strategy', group='SL/TP For Long Strategy', inline='1')
long_stoploss_value = input.float(50, title='Stoploss %', minval=0, group='SL/TP For Long Strategy', inline='2')
long_takeprofit_value = input.float(50, title='Take Profit %', minval=0, group='SL/TP For Long Strategy', inline='2')
// Enable Short Strategy
enable_short_strategy = input.bool(true, title='Enable Short Strategy', group='SL/TP For Short Strategy', inline='3')
short_stoploss_value = input.float(50, title='Stoploss %', minval=0, group='SL/TP For Short Strategy', inline='4')
short_takeprofit_value = input.float(50, title='Take Profit %', minval=0, group='SL/TP For Short Strategy', inline='4')
// Date Range
start_date = input.int(1, title='Start Date', minval=1, maxval=31, group='Date Range', inline='1')
start_month = input.int(1, title='Start Month', minval=1, maxval=12, group='Date Range', inline='2')
start_year = input.int(2023, title='Start Year', minval=1800, maxval=3000, group='Date Range', inline='3')
end_date = input.int(1, title='End Date', minval=1, maxval=31, group='Date Range', inline='4')
end_month = input.int(12, title='End Month', minval=1, maxval=12, group='Date Range', inline='5')
end_year = input.int(2077, title='End Year', minval=1800, maxval=3000, group='Date Range', inline='6')
in_date_range = true
//// Indicator Inputs
// RSI
rsi_over_sold = input.int(30, title='Over Sold Level', group='RSI')
rsi_over_bought = input.int(70, title='Over Bought Level', group='RSI')
rsi_length = input.int(14, title='RSI Length', group='RSI')
rsi = ta.rsi(close, rsi_length)
// MACD
fast_ma = input.int(12, title='FastMA Length', group='MACD')
slow_ma = input.int(26, title='SlowMA Length', group='MACD')
signal_length = input.int(9, title='Signal Length', group='MACD')
[macd_line, signal_line, _] = ta.macd(close, fast_ma, slow_ma, signal_length)
//// Strategy Logic
was_over_sold = ta.barssince(rsi <= rsi_over_sold) <= 10
was_over_bought = ta.barssince(rsi >= rsi_over_bought) <= 10
crossover_bull = ta.crossover(macd_line, signal_line)
crossover_bear = ta.crossunder(macd_line, signal_line)
buy_signal = was_over_sold and crossover_bull and in_date_range
sell_signal = was_over_bought and crossover_bear and in_date_range
// Long Strategy
if (enable_long_strategy and buy_signal)
strategy.entry('Long', strategy.long)
strategy.exit('Long SL/TP', from_entry='Long', stop=strategy.position_avg_price * (1 - long_stoploss_value / 100), limit=strategy.position_avg_price * (1 + long_takeprofit_value / 100))
// Short Strategy
if (enable_short_strategy and sell_signal)
strategy.entry('Short', strategy.short)
strategy.exit('Short SL/TP', from_entry='Short', stop=strategy.position_avg_price * (1 + short_stoploss_value / 100), limit=strategy.position_avg_price * (1 - short_takeprofit_value / 100))