
Chiến lược đảo ngược theo xu hướng là một chiến lược giao dịch xu hướng ngắn hạn dựa trên các hợp đồng tương lai 15 phút NQ. Nó tìm kiếm cơ hội giao dịch bằng cách nhận ra các biến động xu hướng và hình thức đảo ngược. Chiến lược này đơn giản và hiệu quả, phù hợp với các nhà giao dịch hoạt động ngắn hạn.
Chiến lược này hoạt động dựa trên các nguyên tắc sau:
Sử dụng EMA 8 chu kỳ như là chỉ số lọc xu hướng chính, EMA ở trên nhìn thấy nhiều, EMA ở dưới nhìn thấy ít.
Xác định các hình thức đảo ngược đường K cụ thể như tín hiệu đầu vào, bao gồm tín hiệu đa đường dương đường ngắn sau đường dương đường dài và tín hiệu không đường dương đường ngắn sau đường dương đường dài, các hình thức này cho thấy xu hướng có thể bắt đầu đảo ngược.
Điểm vào được thiết lập gần điểm cao hoặc thấp của đường K đảo ngược, điểm dừng được thiết lập ở điểm cao hoặc thấp của đường K đảo ngược, để đạt được tỷ lệ lợi nhuận rủi ro hiệu quả.
Sử dụng mối quan hệ thực thể K để đánh giá hiệu quả của tín hiệu đảo ngược, chẳng hạn như giá mở của dây âm cao hơn một thực thể K trên, thực thể hoàn toàn chứa các quy tắc để lọc tiếng ồn.
Chiến lược chỉ hoạt động trong một khoảng thời gian giao dịch cụ thể, tránh các khoảng thời gian đặc biệt như tháng thay đổi hợp đồng chính của thị trường, để ngăn chặn tình trạng bất thường dẫn đến tổn thất không cần thiết.
Chiến lược này có những ưu điểm chính như sau:
Các tín hiệu chiến lược đơn giản, hiệu quả và dễ thực hiện.
Các nhà kinh tế và các nhà đầu tư khác cũng có thể tham gia vào các hoạt động này, trong đó có việc đánh giá xu hướng và sự đảo ngược.
Kiểm soát rủi ro, thiết lập dừng lỗ hợp lý, thuận lợi cho quản lý tiền.
Nhu cầu dữ liệu nhỏ, phù hợp với tất cả các loại phần mềm và nền tảng.
Tỷ lệ giao dịch cao, phù hợp với các nhà đầu tư thích giao dịch ngắn và tích cực.
Chiến lược này cũng có một số rủi ro, chủ yếu là:
Không có cơ hội đảo ngược hình dạng, tín hiệu ít hơn. Các quy tắc phán đoán đảo ngược có thể được nới lỏng thích hợp.
Có thể thêm các chỉ số lọc để đánh giá chung.
Có sự không ổn định về thời gian đêm và thời gian ngoài chính thống. Có thể thiết lập chỉ hoạt động trong thời gian giao dịch của Hoa Kỳ.
Không gian tối ưu hóa tham số có giới hạn. Bạn có thể thử các kỹ thuật như học máy để tìm tham số tốt hơn.
Chiến lược này có thể được tối ưu hóa theo một số hướng chính, bao gồm:
Kiểm tra các tham số EMA có chu kỳ dài hơn, cải thiện phán đoán xu hướng.
Thêm chỉ số thị trường chứng khoán như một chỉ số lọc xu hướng bổ sung.
Sử dụng các công nghệ như học máy để tự động tối ưu hóa điểm đầu vào và điểm dừng lỗ.
Tăng cơ chế điều chỉnh động lực của vị trí và dừng lỗ dựa trên biến động.
Cố gắng đánh giá nhiều giống để phân tán rủi ro hệ thống của một giống.
Theo dõi xu hướng đảo ngược chiến lược nói chung là một chiến lược chiến lược ngắn rất thực tế, đơn giản tham số ít, thực hành dễ dàng, có thể kiểm soát rủi ro cá nhân, phù hợp với các nhà giao dịch ngắn tích cực của các diễn đàn cổ phiếu. Chiến lược này có một số không gian tối ưu hóa, đầu tư một số năng lượng nghiên cứu và phát triển có thể làm cho nó thậm chí phù hợp với các quỹ dài hạn trung bình hoạt động theo chương trình, có tiềm năng phát triển tốt.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © bdrex95
//@version=5
// Rob Reversal Strategy - Official
// Using Rob Reversal Indicator: Original
// Description
// This indicator is based on the strategy created by Trader Rob on the NQ 15m chart.
//
// Timeframe for trading is 8:30am-1:15pm Central.
//
// Above the EMA line, look for a long position. You will have a short candle, then a long candle that opens below the short candle. It will have a lower high and a lower low. Once the long candle closes, your entry will be 1 tick above the wick (green line) and stop loss will be at the bottom of the bottom wick (red line).
//
// Below the EMA line, look for a short position. You will have a long candle, then a short candle that opens above the long candle. It will have a higher high and a higher low. Once the short candle closes, your entry will be 1 tick below the wick (green line) and stop loss will be at the top of the top wick (red line).
//
strategy("Trader Rob Reversal Strategy NQ 15min", shorttitle="Official Rob Rev Strat", overlay=true)
//--- Session Input ---
sess = input(defval = "0930-1415", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = na(t) ? false : true
flat_time = input(defval = "1515-1558", title="Close All Open Trades")
ft = time(timeframe.period, flat_time)
flatOpen = na(ft) ? false : true
// Calculate start/end date and time condition
startDate = input(timestamp('2018-12-24T00:00:00'),group = "ALL STRATEGY SETTINGS BELOW")
finishDate = input(timestamp('2029-02-26T00:00:00'),group = "ALL STRATEGY SETTINGS BELOW")
time_cond = true
emaColor = input.color(color.orange, title="EMA Color")
emaLength = input.int(8, title="EMA Length")
emaInd = ta.ema(close, emaLength)
rr = input(1.0,"Enter RR",group = "TP/SL CONDITION INPUTS HERE")
sellShapeInput = input.string("Arrow", title="Sell Entry Shape", options=["Arrow", "Triangle"])
buyShapeInput = input.string("Arrow", title="Buy Entry Shape", options=["Arrow", "Triangle"])
sellShapeOption = switch sellShapeInput
"Arrow" => shape.arrowdown
"Triangle" => shape.triangledown
buyShapeOption = switch buyShapeInput
"Arrow" => shape.arrowup
"Triangle" => shape.triangleup
O = open
C = close
H = high
L = low
sellEntry = (C[1] > O[1]) and (C < O) and (H[1] < H) and (C < H[1]) and (C > L[1]) and (L > L[1]) and (C < emaInd) and sessionOpen and time_cond
buyEntry = (C[1] < O[1]) and (C > O) and (H[1] > H) and (L[1] > L) and (C < H[1]) and (C > L[1]) and (C > emaInd) and sessionOpen and time_cond
sellEntry_index = ta.valuewhen(sellEntry,bar_index,0)
sellEntry_hi = ta.valuewhen(sellEntry,high,0)
sellEntry_low = ta.valuewhen(sellEntry,low,0)
buyEntry_index = ta.valuewhen(buyEntry,bar_index,0)
buyEntry_hi = ta.valuewhen(buyEntry,high,0)
buyEntry_lo = ta.valuewhen(buyEntry,low,0)
plotshape(buyEntry, color = color.green, location = location.belowbar, style = buyShapeOption, size = size.small)
plotshape(sellEntry, color = color.red, location = location.abovebar, style = sellShapeOption, size = size.small)
plot(emaInd, color=emaColor)
// Risk Management
entry_price_long = (buyEntry_hi + syminfo.mintick)
entry_price_short = (sellEntry_low - syminfo.mintick)
long_sl_price = (buyEntry_lo-syminfo.mintick)
short_sl_price = (sellEntry_hi + syminfo.mintick)
long_tp_price = ((entry_price_long - long_sl_price)*rr) + entry_price_long
short_tp_price = entry_price_short - ((short_sl_price - entry_price_short)*rr)
long_sl_ticks = (entry_price_long - long_sl_price) / syminfo.mintick
short_sl_ticks = (short_sl_price - entry_price_short) / syminfo.mintick
long_tp_ticks = (long_tp_price - entry_price_long) / syminfo.mintick
short_tp_ticks = (entry_price_short - short_tp_price) / syminfo.mintick
// Positions
if (buyEntry)
strategy.entry("Long", strategy.long,stop = H + syminfo.mintick)
if strategy.position_size > 0
strategy.exit("Long Ex","Long", loss = long_sl_ticks, profit = long_tp_ticks, comment_loss = "SL Long", comment_profit = "TP Long")
if (sellEntry)
strategy.entry("Short", strategy.short,stop = L - syminfo.mintick)
if strategy.position_size < 0
strategy.exit("Short Ex","Short",loss = short_sl_ticks, profit = short_tp_ticks, comment_loss = "SL Short", comment_profit = "TP Short")
// Cancel order if close beyond ema
if (C < emaInd)
strategy.cancel("Long")
if (C > emaInd)
strategy.cancel("Short")
// Go flat at close (for futures funded account)
if strategy.position_size > 0 and flatOpen
strategy.close_all(comment = "EOD Flat")
if strategy.position_size < 0 and flatOpen
strategy.close_all(comment = "EOD Flat")
//END