Chiến lược phá vỡ hai đường ngang là một chiến lược giao dịch định lượng theo dõi xu hướng điển hình. Chiến lược này được sử dụng để đánh giá giá bằng cách tính đường trung bình di chuyển đơn giản trong các chu kỳ khác nhau và đặt tín hiệu giao dịch để giá phá vỡ đường trung bình di chuyển. Chiến lược này sử dụng đường 20 và đường 60 như là tín hiệu giao dịch.
Lý do cốt lõi của chiến lược phá vỡ đường thẳng đôi là:Sử dụng đường trung bình di chuyển trong các chu kỳ khác nhau để nắm bắt xu hướng giá và phát tín hiệu giao dịch khi giá vượt qua đường trung bình di chuyển。
Cụ thể, chiến lược này sử dụng đường trung bình di chuyển đơn giản 20 ngày và đường trung bình di chuyển đơn giản 60 ngày. Hai đường trung bình di chuyển này có thể được xem như một công cụ để nắm bắt xu hướng ngắn hạn và xu hướng trung bình dài hạn. Khi giá ngắn vượt qua giá dài hạn trung bình, đại diện cho xu hướng tăng hiện tại và nên làm nhiều hơn; Khi giá ngắn hạn phá vỡ giá trung gian và dài hạn, đại diện cho xu hướng giảm hiện tại và nên giảm vị trí.
Thông qua trong mãta.crossover
vàta.crossunder
Để xác định giá có phá vỡ hoặc phá vỡ đường trung bình chuyển động nào đó. Khi phá vỡ, lệnh tăng hoặc giảm được đưa ra.
Các chiến lược đột phá song tuyến có một vài lợi thế:
Những chiến lược phá vỡ đường thẳng hai chiều cũng có một số rủi ro:
Chiến lược đột phá đường thẳng đôi có thể được tối ưu hóa từ các khía cạnh sau:
Chiến lược phá vỡ hai đường ngang là một chiến lược theo dõi xu hướng đơn giản và hiệu quả. Nó có thể nắm bắt hiệu quả xu hướng trung dài trong khi tránh sự gián đoạn của tiếng ồn thị trường ngắn hạn. Trong khi đó, chiến lược dễ hiểu và thực hiện, các tham số có thể tính toán được và rất phù hợp với các yêu cầu giao dịch định lượng.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h 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/ // © Astorhsu //@version=5 strategy("Astor SMA20/60", overlay=true) backtest_year = input(2018, title='backtest_year') //回測開始年分 backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份 backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期 start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數 //Indicators sma10 = ta.sma(close,10) sma20 = ta.sma(close,20) sma60 = ta.sma(close,60) plot(sma20, color=color.green, title="sma(20)") plot(sma60, color=color.red, title="sma(60)") //進場條件 // trend1 = sma60 > sma20 //假設目前趨勢為60>20 longCondition = ta.crossover(close, ta.sma(close, 20)) if (longCondition) strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多") shortCondition = ta.crossunder(close, ta.sma(close, 20)) if (shortCondition) strategy.close("open long20",comment="跌破m20平倉", qty=1) longCondition1 = ta.crossover(close, ta.sma(close, 60)) if (longCondition1) strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多") shortCondition1 = ta.crossunder(close, ta.sma(close, 60)) if (shortCondition1) strategy.close("open long60",comment="跌破m60平倉", qty=1) // longCondition2 = ta.crossover(close, ta.sma(close, 10)) // if (longCondition2) // strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多") // shortCondition2 = ta.crossunder(close, ta.sma(close, 10)) // if (shortCondition2) // strategy.close("open long10",comment="跌破m10平倉", qty=1)