Chiến lược mua dựa trên sự đột phá cao trong lịch sử

Tác giả:ChaoZhang, Ngày: 2023-09-20 15:53:26
Tags:

Tổng quan

Chiến lược này mua khi giá phá vỡ trên mức cao trong n ngày trong một thị trường tăng giá, với EMA dừng lỗ.

Chiến lược logic

  1. Tính toán giá cao nhất trong n ngày qua là giá cao nhất trong lịch sử.

  2. Mua khi giá đóng cửa hiện tại vượt quá mức giá cao trong lịch sử.

  3. Sử dụng EMA ngày x như là điểm dừng lỗ.

  4. Các giá trị của n và x có thể điều chỉnh thông qua các tham số, mặc định đến mức cao nhất 200 ngày và EMA 90 ngày.

  5. Lý thuyết đơn giản và rõ ràng dễ thực hiện.

Ưu điểm

  1. Tự động theo dõi các xu hướng được hình thành bởi những đỉnh cao mới.

  2. EMA theo dõi dừng khóa trong hầu hết lợi nhuận.

  3. Không cần dự đoán giá cả, chỉ cần theo tín hiệu mua.

  4. Các thông số mặc định hoạt động tốt trong thị trường tăng.

  5. Mã ngắn gọn dễ hiểu và sửa đổi.

Rủi ro

  1. Mất rất nhiều khi thị trường tăng.

  2. Thiết lập stop loss không đúng dẫn đến dừng sớm hoặc chậm.

  3. Không thể dự đoán được sức mạnh và sự rút lui của những đỉnh cao mới.

  4. Sự thiên vị mạnh làm cho nó không phù hợp với các thị trường khác.

  5. Tối ưu hóa tham số có nguy cơ quá phù hợp với dữ liệu lịch sử.

Tăng cường

  1. Kiểm tra các kết hợp tham số khác nhau cho các giá trị tối ưu.

  2. Đánh giá các phương pháp dừng khác như dừng phần trăm cố định.

  3. Tối ưu hóa dừng để cân bằng tần suất và kiểm soát rủi ro.

  4. Thêm các bộ lọc để tránh mua trên tiếng ồn.

  5. Nghiên cứu cách để đo cường độ tín hiệu mua.

  6. Có thể tăng lợi nhuận bằng cách rút lui để khóa lợi nhuận.

Kết luận

Chiến lược này tự động hóa xu hướng theo sau mức cao mới với EMA dừng lại.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
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/
// © gmhfund

//@version=5
strategy("ATH 200d",overlay=1)
plot(close)

bars = input.int(200, "ATH period", minval=5, maxval=2000, step=1)
range_ema = input.int(90,"ema line",minval=100,maxval=400,step=1)

ath_price = ta.highest(bars)[1]
plot(ath_price,color=color.blue)

line_ema = ta.ema(close,range_ema)
exit_condition = ta.crossunder(close,line_ema)
plot(line_ema,color=color.orange)


strategy.entry("Buy", strategy.long, 1, when = close > ath_price) // enter long by market if current open great then previous high
//strategy.close("Buy",when = close < strategy.position_avg_price*0.9 )
strategy.close("Buy",when = exit_condition )

Thêm nữa