Chiến lược đột phá dựa trên các đỉnh và đáy dao động

Tác giả:ChaoZhang, Ngày: 2023-09-15 11:47:13
Tags:

Bài viết này giải thích chi tiết một chiến lược giao dịch đột phá định lượng dựa trên giá dao động cao và thấp. Nó tạo ra tín hiệu giao dịch bằng cách xác định các mức giá chính.

I. Chiến lược logic

Logic giao dịch chính là:

  1. Tính toán mức cao nhất và thấp nhất trong 3 thanh gần đây cho dao động ngắn hạn hiện tại.

  2. Tính toán mức cao nhất và thấp nhất trong 50 thanh gần đây cho phạm vi ngắn hạn.

  3. Một tín hiệu mua được tạo ra khi giá phá vỡ dưới mức thấp ngắn hạn và thấp hơn mức thấp ngắn hạn.

  4. Một tín hiệu bán được tạo ra khi giá phá vỡ trên mức cao ngắn hạn và cao hơn mức cao ngắn hạn.

  5. Dừng lỗ và lấy lợi nhuận được thiết lập để kiểm soát rủi ro.

Bằng cách xác định sự phá vỡ của các mức chính, điều này có thể phát hiện hiệu quả các xu hướng mới nổi.

II. Lợi thế của Chiến lược

Những lợi thế chính là:

Thứ nhất, các quy tắc đột phá rất đơn giản và dễ thực hiện.

Thứ hai, các thiết lập dừng lỗ và lấy lợi nhuận trực tiếp kiểm soát rủi ro thương mại.

Cuối cùng, phạm vi thời gian backtest có thể được thiết lập cho thử nghiệm các khoảng thời gian khác nhau.

III. Những điểm yếu tiềm tàng

Tuy nhiên, một số vấn đề tiềm ẩn tồn tại:

Thứ nhất, sự đột phá một mình có thể tạo ra các tín hiệu sai, không thể xác định xu hướng chính xác.

Thứ hai, việc thiếu điều chỉnh tham số dẫn đến sự ổn định hạn chế.

Cuối cùng, mức dừng lỗ và lấy lợi nhuận đòi hỏi tối ưu hóa cho rủi ro-lợi nhuận.

IV. Tóm tắt

Tóm lại, bài viết này đã giải thích một chiến lược giao dịch breakout định lượng dựa trên giá dao động cao và thấp. Nó nhằm mục đích khám phá các cơ hội thông qua các bước phá vỡ cấp độ chính. Trong khi khái niệm đơn giản và rõ ràng, cần cải tiến trong điều chỉnh tham số.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("JetzGiantz Strategy", overlay=true)

// Getting inputs
StopTgt = input(10, minval=1, title="Stop Loss $")
ProfTgt = input(100, minval=1, title="Profit Target $")

//Filter backtest month and year
startMonth = input(1, minval=1, maxval=12, title="Month")
startYear = input(2021, minval=2000, maxval=2100, title="Year")
//Filter funtion inputs


//Calculations
Low3 = lowest(low,3)
Low50 = lowest(low,50)
High3 = highest(high,3)
High50 = highest(high,50)

if (month>=startMonth and year>=startYear)
    if(close[1] < open[1] and close > open and close > open[1] and (Low3 < Low50[1] or Low3 < Low50[2] or Low3 < Low50[3]))
		strategy.order("BuyEntry", strategy.long, when=strategy.position_size == 0, comment="BuyEntry")

if (month>=startMonth and year>=startYear)
    if(close[1] > open[1] and close < open and close > open[1] and (High3 > High50[1] or High3 > High50[2] or High3 > High50[3]))
		strategy.order("SellEntry", strategy.short, when=strategy.position_size == 0, comment="SellEntry")

strategy.exit("bracket", loss=StopTgt, profit=ProfTgt, when=strategy.position_size > 0)
strategy.exit("bracket", loss=StopTgt, profit=ProfTgt, when=strategy.position_size < 0)



Thêm nữa