
Chiến lược phá vỡ động lực chủ yếu sử dụng chỉ số stochastic oscillator để xác định xu hướng của thị trường, kết hợp với chỉ số ADX để xác định xu hướng yếu, tạo ra tín hiệu giao dịch. Chiến lược này chủ yếu áp dụng cho giao dịch xu hướng đường dài và đường dài.
Chiến lược này chủ yếu dựa trên hai chỉ số kỹ thuật:
Stochastic oscillator: dùng để đánh giá xu hướng của thị trường. Stochastic oscillator có giá trị từ 0 đến 100, và khi chu kỳ là 14, giá trị trong khoảng từ 45 đến 55 có nghĩa là không có xu hướng rõ ràng. Stochastic trên 55 là tín hiệu lạc quan, dưới 45 là tín hiệu giảm giá.
Chỉ số ADX: được sử dụng để đánh giá xu hướng mạnh. ADX dưới 20 cho thấy xu hướng yếu.
Chiến lược này bắt đầu bằng cách đánh giá thị trường hiện tại có xu hướng tăng hoặc giảm rõ ràng dựa trên giá trị của dao động Stochastic. Khi Stochastic trên 55, nó được coi là có xu hướng giảm; Khi Stochastic dưới 45, nó được coi là có xu hướng giảm.
Chiến lược sau đó sẽ kiểm tra xem ADX có trên 20 hay không, nếu ADX trên 20 thì có xu hướng mạnh và có thể giao dịch theo xu hướng. Nếu ADX dưới 20 thì xu hướng không rõ ràng, tại thời điểm này chiến lược sẽ không tạo tín hiệu giao dịch.
Phân tích Stochastic oscillator và ADX, một chiến lược sẽ tạo ra tín hiệu mua/bán khi cả hai điều kiện sau cùng được đáp ứng:
Một chiến lược sẽ tạo ra một tín hiệu bán khi cả hai điều kiện sau cùng được đáp ứng:
Bằng cách sử dụng các quy tắc phán đoán như vậy, chiến lược này tạo ra một chiến lược giao dịch đường dài trung bình theo xu hướng.
Chiến lược này có những ưu điểm sau:
Lấy xu hướng đường dài giữa: kết hợp Stochastic và ADX, có thể xác định hiệu quả hướng và cường độ của xu hướng đường dài giữa thị trường, nắm bắt xu hướng chính.
Kiểm soát rút lui: Chỉ giao dịch khi xu hướng rõ ràng, bạn có thể kiểm soát hiệu quả sự rút lui do giao dịch đảo ngược vô nghĩa.
Không gian tối ưu hóa tham số: Chu kỳ Stochastic và chu kỳ ADX có thể được tối ưu hóa, có thể điều chỉnh tham số cho các thị trường khác nhau.
Khả năng trực quan đơn giản: Lập luận tổng thể của chiến lược này đơn giản và rõ ràng, bao gồm hai chỉ số kỹ thuật được sử dụng thường xuyên, dễ hiểu trực quan.
universality:The strategy can be applied to different markets with parameter tuning.
Chiến lược này cũng có một số rủi ro:
Bị bỏ lỡ điểm đột phá: Stochastic và ADX đều là các chỉ số theo xu hướng, có thể bỏ lỡ các điểm biến động xu hướng tiềm ẩn, bỏ lỡ cơ hội giao dịch đột phá sớm.
Rủi ro đảo ngược xu hướng: Ở giai đoạn cuối của xu hướng, Stochastic và ADX có thể đánh giá sai rằng xu hướng vẫn tiếp tục, và bỏ lỡ cơ hội thoát ra kịp thời, dẫn đến tổn thất lớn hơn.
Khó khăn trong việc tối ưu hóa tham số: Các tham số Stochastic và ADX cần được tối ưu hóa cho các thị trường khác nhau, có một số khó khăn.
Whipsaws: Trong thị trường không có xu hướng rõ ràng, chiến lược này có thể tạo ra nhiều tín hiệu giao dịch vô hiệu.
Divergence:When the price trend conflicts with the Stochastic oscillator trend, divergence emerges, which may lead to losing trades.
Bạn có thể làm giảm nguy cơ bằng cách:
Kết hợp với các chỉ số khác để đánh giá xu hướng địa phương, tìm ra điểm đột phá tiềm năng.
Tăng tín hiệu đảo ngược xu hướng, rút ra kịp thời khi xu hướng đảo ngược rõ ràng.
Các tham số được tự động tối ưu hóa thông qua các phương pháp như học máy.
Increase the ADX threshold to filter out weak trend signals in ranging markets.
Apply additional indicators to confirm the Stochastic signals and avoid divergence trades.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa các tham số Stochastic: điều chỉnh các tham số như chu kỳ K, chu kỳ D, tối ưu hóa vị trí điểm mua và bán.
Tối ưu hóa tham số ADX: điều chỉnh chu kỳ ADX để xác định các tham số tốt nhất để xác định xu hướng yếu.
Tăng tín hiệu đảo ngược xu hướng: Tăng vị trí ở khu vực mua quá mức và bán quá mức của Stochastic, đặt lệnh dừng lỗ.
Kết hợp với các chỉ số khác: Kết hợp với các chỉ số như RSI, MACD, để xác định thời gian mua và bán.
Học máy: Sử dụng học máy để có được sự kết hợp tham số tối ưu.
Tăng chiến lược dừng lỗ: thiết lập chiến lược dừng lỗ di chuyển hoặc chuyển sang dừng lỗ, kiểm soát tổn thất đơn lẻ.
Trailong stop loss: Add trailing stop loss to lock in profits as the trend extends.
Money management: Optimize the risk management by adjusting position sizing based on ADX strength.
Nói tóm lại, chiến lược phá vỡ động lực này là hướng dẫn xu hướng, sử dụng Stochastic để đánh giá xu hướng, ADX để đánh giá cường độ xu hướng, tạo ra chiến lược giao dịch đường dài và trung bình. Ưu điểm của chiến lược là nắm bắt xu hướng, kiểm soát rút lui, trực quan đơn giản, nhược điểm là có thể bỏ lỡ điểm phá vỡ sớm, có nguy cơ đảo ngược xu hướng. Chúng ta có thể tối ưu hóa chiến lược này bằng cách điều chỉnh tham số, tăng tín hiệu, dừng lỗ và các phương pháp khác để có được lợi nhuận tốt hơn trong khi kiểm soát rủi ro.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Created by Bitcoinduke
//Original Creator is Jake Bernstein
// Link: https://school.stockcharts.com/doku.php?id=trading_strategies:stochastic_pop_drop
// Tested: XBTUSD 3h | BTCPERP FTX 3h
//@version=4
// strategy(shorttitle="Stochastic Pop and Drop", title="Pop and Drop", overlay=false,
// calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash,
// default_qty_value=1000, currency=currency.USD, initial_capital=1000,
// commission_type=strategy.commission.percent, commission_value=0.075)
upper_threshold_buy = input(55, minval=50, title="Buy Entry/Exit Line")
lower_threshold_sell = input(45, maxval=50, title="Sell Entry/Exit Line")
oscillator_length = input(14, minval=1, title="Stochastic Length - Default 14")
sma_length = input(2, minval=1, title="SMA Length - 3-day (3 by default) simple moving average of stoch")
stoch_oscillator = sma(stoch(close, high, low, oscillator_length), sma_length)
//Upper and Lower Entry Lines
upper_line = upper_threshold_buy
lower_line = lower_threshold_sell
stoch_color = stoch_oscillator >= upper_line ? green : stoch_oscillator <= lower_line ? red : purple
//Charts
plot(stoch_oscillator, title="Stochastic", style=histogram, linewidth=4, color=stoch_color)
upper_threshold = plot(upper_line, title="Upper Line", style=line, linewidth=4, color=green)
lower_threshold = plot(lower_line, title="Lower Line", style=line, linewidth=4, color=red)
// Strategy Logic
LongSignal = stoch_oscillator >= upper_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false
ShortSignal = stoch_oscillator <= lower_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false
strategy.entry("POP_Short", strategy.short, when=ShortSignal)
strategy.entry("POP_Long", strategy.long, when=LongSignal)
// === Backtesting Dates === thanks to Trost
testPeriodSwitch = input(true, "Custom Backtesting Dates")
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(5, "Backtest Stop Day")
testStopHour = input(0, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END