
Chiến lược này sử dụng đường dẫn hình thành đường dẫn để nắm bắt hướng của xu hướng. Khi giá vượt qua đường dẫn, nó tạo ra tín hiệu giao dịch. Đồng thời kết hợp với chỉ số RSI để lọc các đợt phá vỡ giả. Chỉ hoạt động trong thời gian giao dịch ở London, tối đa 5 lần mỗi ngày, mất mát tối đa không quá 2%
Chiến lược này sử dụng hai đường trung bình di chuyển có chiều dài 5, một từ giá cao nhất và một từ giá thấp nhất, tạo thành một kênh giá. Khi giá đóng cửa vượt qua kênh, hãy làm nhiều và khi vượt qua kênh, hãy làm trống.
Để lọc sự đột phá giả mạo, cũng giới thiệu chỉ số RSI để đánh giá quá mua quá bán. Chỉ thực hiện quá nhiều khi RSI cao hơn 80 và tháo lỗ khi thấp hơn 20.
Ngoài ra, chiến lược chỉ giao dịch trong giờ giao dịch London (3 giờ sáng đến 11 giờ sáng) với tối đa 5 lệnh mỗi ngày và mức lỗ tối đa không vượt quá 2% lợi nhuận trên quyền sở hữu cổ phiếu.
Đường trung bình di chuyển kép tạo ra một kênh xu hướng, có thể đánh giá tốt hơn về hướng xu hướng của giá. Khi giá vượt qua đường dẫn lên, nó nắm bắt xu hướng tăng của giá; Khi giá vượt qua đường dẫn xuống, nó nắm bắt xu hướng giảm của giá.
Kết hợp với các chỉ số RSI để đánh giá các vùng quá mua quá bán, có thể giảm một phần các đột phá giả do biến động giá.
Chiến lược chỉ giao dịch trong thời gian giao dịch chủ yếu hoạt động, tối đa 5 lệnh mỗi ngày có thể kiểm soát hiệu quả tần suất giao dịch; thiết lập lỗ tối đa là 2% có thể kiểm soát lỗ tối đa trong ngày trong phạm vi chấp nhận được.
Khi có sự biến động lớn về giá, có thể có một số tín hiệu phá vỡ giả, dẫn đến tổn thất giao dịch không cần thiết. Bạn có thể giảm rủi ro này bằng cách điều chỉnh các tham số tối ưu hóa hoặc thêm các điều kiện lọc.
Chiến lược sử dụng một số lượng cố định điểm dừng lỗ khi giá có biến động lớn, các điểm dừng lỗ cố định có thể bị chặn, sử dụng tỷ lệ phần trăm hoặc dừng lỗ động.
Chiến lược chỉ mở vị trí trong thời gian giao dịch cố định, nếu không có tín hiệu trong thời gian đó, sẽ bỏ lỡ cơ hội giao dịch tiềm năng trong các thời gian khác. Bạn có thể cân nhắc mở rộng thời gian giao dịch thích hợp hoặc điều chỉnh động theo tình hình thời gian thực.
Bạn có thể tối ưu hóa chiều dài đường trung bình di chuyển, tham số RSI, số điểm dừng cố định và tìm ra sự kết hợp tham số tối ưu nhất.
Bạn có thể thêm các chỉ số hoặc điều kiện khác để kiểm tra lại các tín hiệu đột phá, chẳng hạn như tăng khối lượng giao dịch, thu hẹp các kênh Blink, v.v., để giảm đột phá giả.
Có thể sử dụng chiến lược dừng phần trăm hoặc dừng động, thay vì dừng số điểm cố định đơn giản, tốt hơn để bảo vệ rủi ro của hành động đơn phương.
Các tín hiệu được kiểm tra bằng tay, hoặc chỉ nhập cảnh sau khi xác nhận đột phá, để tránh bị chặn.
Chiến lược này nói chung là đơn giản và thực tế, thông qua việc xây dựng đường dẫn định hướng xu hướng bằng đường trung bình di chuyển đôi; đồng thời chỉ số RSI có thể lọc một phần phá vỡ giả hiệu quả. Về kiểm soát rủi ro, giới hạn thời gian giao dịch và tổn thất tối đa có thể kiểm soát rủi ro tổng thể.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-16 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21
//@version=4
strategy(title="Moving Average", shorttitle="MA", overlay=true)
timeinrange(res, sess) => time(res, sess) != 0
len = input(5, minval=1, title="Length")
src = input(high, title="Source")
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out = sma(src, len)
plot(out, color=color.white, title="MA", offset=offset)
len2 = input(5, minval=1, title="Length")
src2 = input(low, title="Source")
offset2 = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out2 = sma(src2, len2)
plot(out2, color=color.white, title="MA", offset=offset2)
length = input( 5 )
overSold = input( 10 )
overBought = input( 80 )
price = input(close, title="Source RSI")
vrsi = rsi(price, length)
longcond= close > out and close > out2 and vrsi > overBought
shortcont = close < out and close < out2 and vrsi < overSold
tp=input(150,title="tp")
sl=input(80,title="sl")
strategy.entry("long",1,when=longcond)
//strategy.close("long",when= close < out2)
strategy.exit("long_exit","long",profit=tp,loss=sl)
strategy.entry("short",1,when=shortcont)
//strategy.close("short",when=close >out)
strategy.exit("short_exit","short",profit=tp,loss=sl)
// maxOrder = input(6, title="max trades per day")
// maxRisk = input(2,type=input.float, title="maxrisk per day")
// strategy.risk.max_intraday_filled_orders(maxOrder)
// strategy.risk.max_intraday_loss(maxRisk, strategy.percent_of_equity)
// strategy.close_all(when =not timeinrange(timeframe.period, "0300-1100"))