
Chiến lược này sử dụng các điểm đột phá cao thấp của khung thời gian động để tạo ra tín hiệu giao dịch. Nó quyết định mua hoặc bán bằng cách so sánh giá cao nhất và giá thấp nhất của khung thời gian hiện tại với giá đóng cửa khung thời gian trước cộng với một số điểm. Phương pháp này có thể thích ứng với các xu hướng và biến động thị trường khác nhau, giúp cải thiện khả năng thích ứng và linh hoạt của chiến lược.
Cốt lõi của chiến lược này là sử dụng các điểm cao và thấp trong các khung thời gian khác nhau để xác định xu hướng giá. Đầu tiên, dựa trên khung thời gian mà người dùng chọn, lấy dữ liệu giá cao nhất, giá thấp nhất và giá đóng cửa tương ứng. Sau đó, bằng cách so sánh giá cao nhất của khung thời gian hiện tại có lớn hơn giá đóng cửa của khung thời gian trước cộng một số điểm để xác định tín hiệu mua, tương tự, bằng cách so sánh giá thấp nhất của khung thời gian hiện tại có nhỏ hơn giá đóng cửa của khung thời gian trước để xác định tín hiệu bán.
Chiến lược phá vỡ điểm cao thấp của khung thời gian động bằng cách sử dụng dữ liệu giá của các khung thời gian khác nhau để tạo ra tín hiệu giao dịch dựa trên sự phá vỡ điểm cao thấp. Chiến lược này có logic rõ ràng, thích ứng mạnh mẽ, dễ thực hiện và tối ưu hóa. Nhưng đồng thời cũng có các vấn đề như nhạy cảm về tham số, quá phù hợp và rủi ro thị trường, cần phải được tối ưu hóa và cải tiến liên tục trong ứng dụng thực tế. Bằng cách điều chỉnh các tham số một cách động, giới thiệu quản lý rủi ro, kết hợp với các chỉ số khác và hiệu quả của mã tối ưu hóa, các biện pháp có thể làm tăng thêm sự ổn định và lợi nhuận của chiến lược, cung cấp các công cụ và cách suy nghĩ hiệu quả để định lượng giao dịch.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(" NIFTY 65-15 ", overlay=true)
// Define input options for point settings and timeframe
points = input.int(60, title="Point Threshold", minval=1, step=1)
timeframe = input.timeframe("60", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"])
// Calculate high and low of the selected timeframe
high_timeframe = request.security(syminfo.tickerid, timeframe, high)
low_timeframe = request.security(syminfo.tickerid, timeframe, low)
close_timeframe = request.security(syminfo.tickerid, timeframe, close)
// Define conditions for Buy and Sell
buyCondition = high_timeframe > (close_timeframe[1] + points)
sellCondition = low_timeframe < (close_timeframe[1] - points)
// Entry and exit rules
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Close the positions based on the conditions
if (sellCondition)
strategy.close("Buy")
if (buyCondition)
strategy.close("Sell")
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar)
// Plot the equity curve of the strategy
plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)