Chiến lược này là một chiến lược chỉ theo xu hướng dài tạo ra tín hiệu giao dịch thông qua việc xác nhận kép của chỉ số Aroon và đường trung bình di chuyển hồi quy tuyến tính (LSMA).
Chiến lược này sử dụng sự chéo chéo giữa các dải trên và dưới của chỉ số Aroon để xác định hướng xu hướng. Một tín hiệu mua được tạo ra khi dải trên vượt qua trên dải dưới từ dưới. Một tín hiệu bán được tạo ra khi dải trên vượt qua dưới dải dưới từ trên. Để tránh đột phá sai, chiến lược cũng giới thiệu đường LSMA như một thẩm phán phụ trợ. Một tín hiệu mua chỉ được kích hoạt khi giá đóng trên LSMA.
Để giảm thiểu rủi ro, dừng lỗ có thể được thêm vào hoặc các chỉ số khác có thể được sử dụng để xác định sự đảo ngược xu hướng và cắt giảm lỗ theo thời gian.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h 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/ // © exlux99 //@version=4 strategy(title = "Aroon Strategy long only", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1) //Time fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2010, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2021, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true //INPUTS length = input(15, minval=1, title="Aroon Legnth") upper = 100 * (highestbars(high, length+1) + length)/length lower = 100 * (lowestbars(low, length+1) + length)/length lengthx = input(title="Length LSMA", type=input.integer, defval=20) offset = 0//input(title="Offset", type=input.integer, defval=0) src = input(close, title="Source") lsma = linreg(src, lengthx, offset) long = crossover(upper,lower) and close > lsma longexit = crossunder(upper,lower) and close < lsma if(time_cond) strategy.entry("long",1,when=long) strategy.close("long",when=longexit)