Chiến lược này tính toán giá cao nhất và thấp nhất của các thanh N gần đây để thiết lập các điều kiện phá vỡ kép kết hợp với đường trung bình động để thực hiện chiến lược giao dịch mua thấp và bán cao.
Chiến lược này chủ yếu dựa trên các nguyên tắc sau:
Bằng cách tính toán các cực của các thanh N gần đây, nó đánh giá liệu thị trường có quá bán hay quá mua hay không. Kết hợp với đường trung bình động để xác định hướng xu hướng, nó đặt ra hai điều kiện để đạt được chiến lược giao dịch phá vỡ của mua thấp và bán cao.
Chiến lược có những lợi thế sau:
Thông qua xác nhận hai lần, chất lượng tín hiệu của chiến lược tương đối cao và không gian tối ưu hóa tham số là lớn, phù hợp với môi trường thị trường khác nhau.
Chiến lược này cũng có một số rủi ro:
Những rủi ro này có thể được giảm bằng cách điều chỉnh chu kỳ tính toán, tối ưu hóa sự kết hợp các tham số và các phương pháp khác.
Chiến lược có thể được tối ưu hóa chủ yếu theo các hướng sau:
Thông qua tối ưu hóa tham số, tối ưu hóa chỉ số, tối ưu hóa kiểm soát rủi ro và các phương tiện khác, yếu tố lợi nhuận của chiến lược có thể được cải thiện đáng kể.
Nói chung, đây là một chiến lược đột phá rất thực tế. Tính toán cực của các đường K để xác định tình trạng bán quá mức và mua quá mức, sử dụng đường trung bình động để xác định hướng xu hướng, thiết lập điều kiện lọc kép để lọc các tín hiệu sai, nó thực hiện các chiến lược mua thấp và bán cao chất lượng cao. Bằng cách tối ưu hóa chu kỳ tính toán, thêm các chỉ số khác và các phương tiện khác, hiệu ứng chiến lược có thể được tăng cường hơn nữa. Chiến lược này phù hợp cho cả người mới bắt đầu học và thương nhân chuyên nghiệp để tối ưu hóa và sử dụng.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) value1 = input(7, title="Quantity of day low") value2 = input(7, title="Quantity of day high") entry = lowest(close[1], value1) exit = highest(close[1], value2) lengthMMA = input(200, title="Length of SMA", minval=1) mma = sma(close, lengthMMA) // Calcular el mínimo de los precios bajos de las últimas 'value1' velas minLow = lowest(low, value1) // Calcular el máximo de los precios altos de las últimas 'value2' velas maxHigh = highest(high, value2) // Test Period testStartYear = input(2009, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => true if testPeriod() // Condiciones de entrada conditionMet = (close > mma) and (close < entry) and (low == minLow) strategy.entry("Buy", strategy.long, when=conditionMet) if conditionMet label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar) // Condiciones de salida conditionExit = close > exit or close > maxHigh strategy.close("Buy", when=conditionExit)