
Chiến lược này được gọi là “chiến lược phá vỡ sự thay đổi giá động”. Ý tưởng chính của chiến lược này là bằng cách thiết lập một mức giá động, tạo ra tín hiệu mua khi tỷ lệ thay đổi giá vượt quá ngưỡng đó và tạo ra tín hiệu bán khi tỷ lệ thay đổi giá thấp hơn giá trị âm của ngưỡng đó.
Cốt lõi của chiến lược này là tính toán tỷ lệ thay đổi giá bằng cách lấy giá đóng cửa hiện tại bằng cách trừ một giá đóng cửa trước đó. Sau đó, tỷ lệ thay đổi giá được tính toán được so sánh với giá giảm của người dùng nhập. Nếu tỷ lệ thay đổi giá lớn hơn hoặc bằng giá giảm, nếu hiện tại không có vị trí hoặc giữ vị trí trống, sẽ tạo ra tín hiệu mua; Nếu tỷ lệ thay đổi giá nhỏ hơn hoặc bằng giá giảm, nếu hiện tại không có vị trí hoặc giữ nhiều vị trí, sẽ tạo ra tín hiệu bán.
Chiến lược phá vỡ sự thay đổi giá động của giá động, tạo ra tín hiệu giao dịch bằng cách so sánh tỷ lệ thay đổi giá với giá động của giá động, phù hợp để sử dụng trong thời gian tăng trưởng. Lập luận của chiến lược đơn giản và rõ ràng, có một số khả năng linh hoạt và kiểm soát rủi ro. Tuy nhiên, chiến lược này cũng có một số thiếu sót, chẳng hạn như giao dịch thường xuyên có thể xảy ra trong thời gian xung đột, thiết lập dừng lỗ không đủ linh hoạt.
/*backtest
start: 2023-04-01 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Price Change", shorttitle="Price Change", overlay=true)
change = input(00.1, title="Change", minval=0.0001, maxval=1, type=input.float)
// Calculate price change
priceChange = close / close[1] - 1
// Buy and Sell Signals
buyp = priceChange >= change
sellp = priceChange <= (change * -1)
// Initialize position and track the current position
var int position = na
// Strategy entry conditions
buy_condition = buyp and (na(position) or position == -1)
sell_condition = sellp and (na(position) or position == 1)
var float stop = na
if (buy_condition)
strategy.entry("Long", strategy.long)
stop := lowest(low, 6)
position := 1
if (sell_condition or low < stop)
strategy.close("Long")
position := -1
// Plot Buy and Sell signals using plotshape
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)