
Chiến lược đảo ngược âm đạo là một chiến lược giao dịch định lượng dựa trên sự liên tục của giá giảm và âm đạo. Chiến lược này nhằm nắm bắt cơ hội đảo ngược xu hướng ngắn hạn bằng cách xác định các hình thức liên tục của đường âm đạo X, sau đó là đường dương đạo Y liên tiếp. Ý tưởng chính của chiến lược là khi giá trải qua một đợt giảm liên tiếp, điều này cho thấy năng lượng đầu trống đã được giải phóng, sau đó nếu có một đợt âm đạo liên tiếp, điều đó có nghĩa là lực lượng đa đầu bắt đầu tích tụ và giá có thể mở ra một đợt tăng giá.
Các nguyên tắc của chiến lược đảo ngược liên tục của xu hướng âm-hàm có thể được chia thành một số bước sau:
Chiến lược này sử dụng các hình thức liên tục giảm giá và lười biếng để cố gắng nắm bắt cơ hội đảo ngược chuyển đổi từ đầu không sang đầu nhiều. Đồng thời, đặt các điều kiện dừng nghiêm ngặt để kiểm soát rủi ro.
Chiến lược đảo ngược liên tục có những lợi thế sau:
Mặc dù có một số lợi thế của chiến lược đảo ngược liên tục, nhưng vẫn có những rủi ro sau:
Để đối phó với những rủi ro này, các biện pháp tối ưu hóa sau đây có thể được xem xét:
Một số hướng khác mà bạn có thể tối ưu hóa trong chiến lược đảo ngược:
Với các biện pháp tối ưu hóa trên, chiến lược xoay ngược liên tục có thể thích ứng tốt hơn với sự thay đổi của thị trường, kiểm soát rủi ro, tăng lợi nhuận và ổn định.
Chiến lược đảo ngược liên tục là một chiến lược giao dịch định lượng dựa trên sự liên tục của giá, để nắm bắt cơ hội đảo ngược ngắn hạn của thị trường bằng cách xác định các hình thức liên tục của giá giảm và hoài nghi. Các quy tắc của chiến lược đơn giản, rõ ràng, nhạy cảm với sự thay đổi của xu hướng giá và có điều kiện dừng nghiêm ngặt để kiểm soát rủi ro. Đồng thời, các tham số chiến lược có thể được điều chỉnh theo đặc điểm của thị trường, tăng tính linh hoạt.
Tuy nhiên, chiến lược này cũng có một số rủi ro, chẳng hạn như giao dịch thường xuyên, thiết lập vị trí dừng lỗ có thể quá nghiêm ngặt và có thể không hoạt động tốt trong thị trường có xu hướng mạnh. Để đối phó với những rủi ro này, các biện pháp có thể được xem xét như tham số điều chỉnh động, tối ưu hóa vị trí dừng lỗ và sử dụng các chiến lược khác nhau trong môi trường thị trường khác nhau.
Ngoài ra, chiến lược này còn có một số hướng tối ưu hóa, chẳng hạn như giới thiệu nhiều chỉ số hơn, tối ưu hóa dừng lỗ và dừng, thích nghi với các môi trường thị trường khác nhau, tham gia quản lý vị trí và kết hợp với các chiến lược khác. Bằng cách tối ưu hóa và cải tiến liên tục, chiến lược đảo ngược âm dương - âm dương liên tục có thể trở thành một chiến lược giao dịch định lượng mạnh mẽ và hiệu quả hơn.
Nhìn chung, chiến lược đảo ngược liên tục cung cấp một cách suy nghĩ giao dịch đơn giản và hiệu quả để thu lợi nhuận bằng cách nắm bắt cơ hội đảo ngược ngắn hạn của thị trường. Tuy nhiên, trong thực tế, chiến lược cần được tối ưu hóa và điều chỉnh thích hợp để đạt được hiệu quả giao dịch tốt hơn, kết hợp với môi trường thị trường cụ thể và sở thích rủi ro cá nhân.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0
// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true
entry_condition() =>
date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active
exit_condition() =>
date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))
if (entry_condition())
strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
entry_bar_index := bar_index
active := true
stop_loss := math.min(close, close[1], close[2])
// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
strategy.close("ConsDnLong", comment = "CDLClose")
// log.info("Close at bar {0}", bar_index)
entry_bar_index := 1000000
active := false
// if (dns >= consecutiveBarsDown)
// strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))