
Chiến lược phá vỡ đường K chồng lên cao thấp là một chiến lược hành động giá dựa trên các quyết định giao dịch dựa trên hình thức K chồng lên. Chiến lược này xảy ra trong trường hợp chênh lệch giá của đường K hiện tại nhỏ hơn đường K trước đó, cho thấy thị trường đang sắp xếp hoặc chần chừ.
Chiến lược này sử dụng các chỉ số và biến sau:
Quyết định tham gia dựa trên sự chênh lệch giữa giá Range và mức giá thấp nhất và cao nhất của đường K trước đó. Cụ thể, một dấu hiệu tham gia đa đầu được tạo ra khi có một sự phá vỡ lên và giá thấp nhất của đường K hiện tại cao hơn tính thanh khoản xuống; một dấu hiệu tham gia trống được tạo ra khi có một sự phá vỡ xuống và giá cao nhất của đường K hiện tại thấp hơn tính thanh khoản lên.
Hạn chế sử dụng ATR nhân với chênh lệch giá hiện tại. Hạn chế sử dụng ATR nhân với chênh lệch giá hiện tại.
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có những rủi ro sau:
Chiến lược này có thể được tối ưu hóa bằng cách:
Bước phá chiến lược mức cao thấp của đường K chồng lên nhau, sử dụng sự chuẩn bị của thị trường và nguyên tắc phá vỡ, tham gia vào khi giá vượt qua một phạm vi chênh lệch đường K trước đó. Kết hợp các mức thanh khoản để tránh rủi ro.
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 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/
// © ilikelyrics560
//@version=5
strategy("Inside Bar Range Breakout Strategy", overlay=true)
// Inputs
lookback = input.int(20, "Lookback Period", minval=1)
atrMult = input.float(1.5, "ATR Multiplier", step=0.1)
atrLen = input.int(14, "ATR Length", minval=1)
slMult = input.float(2, "Stop Loss Multiplier", step=0.1)
tpMult = input.float(3, "Take Profit Multiplier", step=0.1)
// Variables
atr = ta.atr(atrLen)
Range = high - low
insideBar = Range < Range[1]
breakoutUp = close > high[1]
breakoutDown = close < low[1]
liquidityUp = ta.highest(high, lookback)
liquidityDown = ta.lowest(low, lookback)
longEntry = breakoutUp and low > liquidityDown
shortEntry = breakoutDown and high < liquidityUp
longExit = close < low[1]
shortExit = close > high[1]
// Plotting
plot(liquidityUp, "Liquidity Up", color.new(color.green, 30), 1)
plot(liquidityDown, "Liquidity Down", color.new(color.red, 30), 1)
bgcolor(longEntry ? color.new(color.green, 30) : na, title="Long Entry")
bgcolor(shortEntry ? color.new(color.maroon, 30) : na, title="Short Entry")
// Trading
if (longEntry)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", stop=low - slMult * atr, limit=high + tpMult * atr)
if (shortEntry)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", stop=high + slMult * atr, limit=low - tpMult * atr)