
Chiến lược giao dịch đường ngắn reversal and breakout là một chiến lược kết hợp, nó tích hợp tín hiệu của hai chiến lược con của chiến lược reversal và breakout để tạo ra tín hiệu giao dịch mạnh hơn.
Chiến lược này bao gồm hai chiến lược con:
Nó là một chiến lược đảo ngược theo hệ thống được giới thiệu bởi P183 trong cuốn sách của Ulf Jensen. Khi giá đóng cửa cao hơn giá đóng cửa ngày trước 2 ngày liên tiếp và đường dài Stochastic ngày 9 thấp hơn 50, hãy làm nhiều; Khi giá đóng cửa thấp hơn giá đóng cửa ngày trước 2 ngày liên tiếp và đường dài Stochastic ngày 9 cao hơn 50.
Nó là một chiến lược đường ngắn có tín hiệu phá vỡ giá thấp nhất trong một chu kỳ nhất định.
Chiến lược kết hợp này xem xét các tín hiệu của hai chiến lược con, khi hai chiến lược con đồng thời phát tín hiệu đồng hướng, tạo ra tín hiệu giao dịch theo hướng đó; khi hai chiến lược con phát tín hiệu ngược lại, không tạo ra tín hiệu giao dịch thực tế.
Chiến lược này kết hợp những ưu điểm của hai chiến lược con của chiến lược đảo ngược và chiến lược phá vỡ, để xem xét nhiều yếu tố hơn, có thể lọc ra một số giao dịch ồn ào và tăng tỷ lệ chiến thắng giao dịch.
Chiến lược đảo ngược có thể nắm bắt các cơ hội đảo ngược ngắn hạn và kiếm lợi nhuận trong quá trình điều chỉnh giảm xuống.
Các chiến lược đột phá có thể nắm bắt được các bước đi ngắn sau khi đột phá.
Kết hợp các tín hiệu xem xét hai chiến lược con, có thể phát ra một tín hiệu giao dịch hiệu quả hơn, lọc tiếng ồn.
Chiến lược này cũng có những rủi ro sau:
Tuy nhiên, sự thay đổi không nhất thiết phải xảy ra, và có nguy cơ là nó sẽ thất bại.
Một đợt đột phá cũng có thể là một đợt đột phá giả, có nguy cơ theo đuổi một đợt tăng hoặc giảm.
Không một chiến lược con nào được đảm bảo sẽ có hiệu quả khi sử dụng riêng lẻ, và kết hợp có thể thất bại.
Đối với các rủi ro trên, có thể giảm rủi ro bằng các phương pháp như tối ưu hóa tham số, điều chỉnh tỷ lệ sử dụng các chiến lược con, lựa chọn các tiêu chuẩn khác nhau để đánh giá.
Chiến lược này có thể được tối ưu hóa hơn nữa:
Tối ưu hóa các tham số của hai chiến lược con để chúng phù hợp hơn với các chu kỳ và tiêu chuẩn khác nhau.
Thêm các loại chiến lược con khác, chẳng hạn như chiến lược dự đoán học máy, để tích hợp nhiều yếu tố hơn.
Điều chỉnh động trọng lượng sử dụng của hai chiến lược con để cho phép các chiến lược con có hiệu suất cao hơn có vai trò lớn hơn trong các môi trường thị trường khác nhau.
Giao dịch với các chỉ số khác nhau có sự tương quan kém nhưng có một số điểm chung.
Chiến lược giao dịch đường ngắn xoay ngược và phá vỡ phạm vi bằng cách tích hợp chiến lược xoay ngược và chiến lược phá vỡ, kết hợp các cấp chiến lược, tổng hợp các lợi thế của hai chiến lược con ở một mức độ nhất định, và có không gian để tối ưu hóa hơn nữa. Nó cung cấp cho chúng tôi một cách suy nghĩ mới về thiết kế chiến lược, đó là tích hợp và kết hợp các cấp chiến lược để khám phá các cơ hội giao dịch hiệu quả hơn, trên cơ sở duy trì tính độc lập của các chiến lược con.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 01/07/2019
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Breakout Range Short Strategy
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
BreakoutRangeShort(look_bak) =>
pos = 0
xLowest = lowest(low, look_bak)
pos := iff(low < xLowest[1], -1, 0)
pos
strategy(title="Combo Backtest 123 Reversal & Breakout Range Short", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBreakoutRangeShort = BreakoutRangeShort(look_bak)
pos = iff(posReversal123 == 1 and posBreakoutRangeShort == 1 , 1,
iff(posReversal123 == -1 and posBreakoutRangeShort == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? color.red: possig == 1 ? color.green : color.blue )