Chiến lược đột phá thay đổi giá ngưỡng động


Ngày tạo: 2024-04-01 12:03:59 sửa đổi lần cuối: 2024-04-01 12:03:59
sao chép: 0 Số nhấp chuột: 631
1
tập trung vào
1617
Người theo dõi

Chiến lược đột phá thay đổi giá ngưỡng động

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 đó.

Nguyên tắc chiến lược

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.

Lợi thế chiến lược

  1. Chiến lược này sử dụng giá trị giảm động, có thể thích ứng với các môi trường thị trường khác nhau và có một số tính linh hoạt.
  2. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  3. Cụ thể, các nhà đầu tư đã đặt lệnh dừng lỗ và kiểm soát rủi ro một phần.
  4. Thích hợp cho các trường hợp nghiện ngập, có thể nắm bắt được xu hướng nghiện ngập một cách hiệu quả.

Rủi ro chiến lược

  1. Chiến lược này có thể xảy ra trong các trường hợp giao dịch thường xuyên trong tình trạng xung đột, dẫn đến tăng chi phí giao dịch.
  2. Cài đặt dừng lỗ có thể không đủ linh hoạt và trong một số trường hợp có thể dẫn đến dừng lỗ sớm.
  3. Chiến lược chỉ tính đến một yếu tố là tỷ lệ biến đổi giá, không tính đến các yếu tố khác có thể ảnh hưởng đến xu hướng giá, chẳng hạn như khối lượng giao dịch, cảm xúc của thị trường.

Hướng tối ưu hóa chiến lược

  1. Có thể xem xét thêm các chỉ số khác, chẳng hạn như khối lượng giao dịch, tỷ lệ biến động, để tăng độ tin cậy của chiến lược.
  2. Bạn có thể tối ưu các thiết lập dừng lỗ, chẳng hạn như sử dụng dừng di động hoặc dừng động, để dừng lỗ linh hoạt hơn.
  3. Các tham số có thể được tối ưu hóa, chẳng hạn như kích thước của ngưỡng, chu kỳ tính toán dừng lỗ, v.v., để tìm ra sự kết hợp tham số tối ưu.
  4. Bạn có thể tham gia quản lý vị trí, điều chỉnh vị trí theo tình hình thị trường để kiểm soát rủi ro.

Tóm tắt

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.

Mã nguồn chiến lược
/*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)