Đây là một chiến lược giao dịch đảo ngược dựa trên chỉ số Laruent Channel. Nó tính toán giá cao nhất và thấp nhất trong một khoảng thời gian nhất định trong quá khứ để xác định xem giá hiện tại có nằm trong khu vực mua quá nhiều hoặc bán quá nhiều không. Nếu giá gần đường ray trên hoặc dưới, nó sẽ mở một vị trí theo hướng ngược lại và chờ giá quay trở lại đường trung.
Chiến lược này chủ yếu dựa trên hai chỉ số:Chỉ số %R (%R)vàĐường ray kênh Laruent.
Chỉ số PercentR cho thấy khoảng cách giữa giá đóng hiện tại và giá cao nhất và thấp nhất trong thời gian gần đây nhất. Phạm vi giá trị là từ 0 đến -100. Giá trị gần 0 có nghĩa là giá đóng hiện tại gần với điểm cao nhất gần đây. Và giá trị gần -100 có nghĩa là giá đóng hiện tại gần với giá thấp nhất gần đây.
Kênh Laruent bao gồm đường ray trên, đường ray giữa và đường ray dưới. Đường ray trên bằng giá cao nhất trong thời gian gần đây nhất. Đường ray dưới bằng giá thấp nhất trong thời gian đó. Đường ray giữa là trung bình của đường ray trên và đường ray dưới. Nếu giá vượt quá đường ray trên, nó được coi là mua quá mức. Nếu giá dưới đường ray dưới, nó được coi là bán quá mức.
Chiến lược đầu tiên tính toánChỉ số %RvàĐường ray kênh Laruent, sau đó sử dụng hai chỉ số để xác định xem tình trạng hiện tại có quá mua hay quá bán không:
Nếu tình trạng hiện tại không bị mua quá mức hoặc bán quá mức, nó sẽ mở thị trường và đóng vị trí trước khi thị trường đóng cửa cùng một ngày.
Bằng cách nắm bắt sự đảo ngược giá cả, nó có thể tạo ra lợi nhuận trong ngắn hạn.
Rủi ro có thể được giảm bằng cách tối ưu hóa các tham số, điều chỉnh thời gian đặt lệnh hoặc kết hợp với các chỉ số khác.
Nói chung, chiến lược này khá đơn giản và thực tế. Nó được thiết kế dựa trên ý tưởng giao dịch đảo ngược và phù hợp với giao dịch thường xuyên ngắn hạn. Có nhiều phòng tối ưu hóa. Có thể giới thiệu nhiều chỉ số kỹ thuật hơn để kết hợp. Và cơ chế dừng lỗ tự động cũng có thể được thiết lập để kiểm soát rủi ro.
/*backtest start: 2023-11-04 00:00:00 end: 2023-12-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © zweiprozent original strategy by larry williams strategy("Daily PercentR Strategy", overlay=false) D_High = security(syminfo.tickerid, 'D', high[1]) D_Low = security(syminfo.tickerid, 'D', low[1]) D_Close = security(syminfo.tickerid, 'D', close[1]) D_Open = security(syminfo.tickerid, 'D', open[1]) LowMarker = input(-87,"Low Marker",input.integer) HighMarker = input(-20,"High Marker",input.integer) length = input(title="Length", type=input.integer, defval=3) src = input(close, "Source", type = input.source) _pr(length) => max = highest(length) min = lowest(length) 100 * (src - max) / (max - min) percentR = _pr(length) obPlot = hline(LowMarker, title="Upper Band", color=#606060) hline(-50, title="Middle Level", linestyle=hline.style_dotted, color=#606060) osPlot = hline(HighMarker, title="Lower Band", color=#606060) fill(obPlot, osPlot, title="Background", color=color.new(#9915ff, 90)) plot(percentR, title="%R", color=#3A6CA8, transp=0) // Go Long - if percentR is not overbought/sold ordersize=floor(strategy.equity/close) if percentR<HighMarker and percentR>LowMarker strategy.entry("Long", strategy.long,comment="Long") //exit at end of session if low[0]<high[0] strategy.close("Long", comment="exit")