Chiến lược này sử dụng EMA 50 giai đoạn và giá đóng của các nến để xác định tín hiệu. Khi giá vượt qua đường EMA xuống, nó sẽ ngắn. Sau khi giá rút lại cho 2-3 nến, nếu nến có mẫu nuốt xuất hiện, nó sẽ mở một vị trí ngắn sau khi đóng nến đó để giao dịch ngắn hạn.
Đầu tiên, đường EMA 50 giai đoạn được tính toán. Sau đó nó đánh giá giá liệu giá có phá vỡ đường EMA này xuống. Nếu bị phá vỡ, nó ghi lại tín hiệu xung đột giảm giá. Tiếp theo, nó kiểm tra xem các nến tiếp theo có pullback lên, nếu kích thước pullback cao hơn mức giá thấp nhất của nến trước đó, nó ghi lại tín hiệu pullback. Sau khi pullback, nó đánh giá thêm nếu 1-2 nến tiếp theo hình thành một mô hình ngập. Nếu ngập hình thành, nó ghi lại tín hiệu ngập. Khi các tín hiệu xung đột giảm giá, pullback và ngập xuất hiện cùng nhau, nó mở một vị trí ngắn sau khi đóng nến ngập cho giao dịch ngắn hạn.
Chiến lược vẽ đường EMA 50 giai đoạn. Khi một tín hiệu ngắn được kích hoạt, nó vẽ một tam giác giảm màu đỏ bên dưới ngọn nến. Nó cũng cung cấp mức dừng lỗ và vẽ một đường dừng lỗ màu đỏ.
Chiến lược này kết hợp phán đoán xu hướng và nhận dạng mô hình, có thể nắm bắt hiệu quả các cơ hội đảo ngược xu hướng. Đầu tiên nó sử dụng EMA để xác định hướng xu hướng, sau đó sử dụng mô hình nuốt chửng trong thời gian rút lui để tránh bị sai lệch bởi các đột phá sai. Đặt dừng lỗ là rõ ràng và giảm được kiểm soát tốt. Nó phù hợp với giao dịch ngắn hạn.
Chiến lược này chủ yếu dựa trên EMA để xác định hướng xu hướng. Trong trường hợp đột phá bạo lực, sai đoán có thể xảy ra. Phán quyết mô hình ngập có một số tính chủ quan, số lượng và độ sâu cần tối ưu hóa tham số. Vị trí dừng lỗ cũng cần điều chỉnh dựa trên biến động thị trường. Nhìn chung, chiến lược này phù hợp hơn cho thị trường chỉ số ổn định và giao dịch ngắn hạn.
Các thông số như thời gian EMA, số lượng nến pullback, số lượng nến engulfing có thể được tối ưu hóa để có hiệu suất chiến lược tốt hơn.
Tối ưu hóa thời gian EMA: Kiểm tra nhiều thời gian EMA như 30, 40 hoặc 60 để tìm ra thời gian tối ưu.
Số lượng nến kéo trở lại: Kiểm tra 2-5 nến để tìm ra tín hiệu kéo trở lại tối ưu.
Số lượng nến ngập: Kiểm tra 1-3 nến để tìm ra tín hiệu ngập tối ưu.
Stop Loss Multiple: Kiểm tra 0,5-2 ATR để có vị trí stop loss tối ưu.
Xem xét thêm các chỉ số khác như MACD, KDJ để cải thiện độ chính xác tín hiệu.
Thử nghiệm trên các sản phẩm khác nhau như chỉ số, dầu thô, vàng để mở rộng phạm vi.
Chiến lược này đầu tiên sử dụng EMA để xác định hướng xu hướng, sau đó kết hợp mô hình pullback và engulfing để tạo ra các tín hiệu ngắn, một chiến lược đảo ngược xu hướng điển hình. Bằng cách kết hợp phán đoán xu hướng và nhận dạng mô hình, nó có thể nắm bắt hiệu quả các cơ hội đảo ngược. Sau khi tối ưu hóa tham số, kết quả tốt có thể đạt được. Nhìn chung, chiến lược này có hoạt động dễ dàng, rủi ro có thể kiểm soát và phù hợp với giao dịch ngắn hạn. Ưu điểm của nó nằm trong việc bắt kịp thời xu hướng đảo ngược, với điểm dừng lỗ rõ ràng. Nói chung, chiến lược này có giá trị thực tế tốt.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Linor Pullback Short Strategy", shorttitle="EMA Pullback", overlay=true) // Define strategy parameters ema_length = input(50, title="EMA Length") pullback_candles = input(3, title="Number of Pullback Candles") engulfing_candles = input(1, title="Number of Engulfing Candles") stop_loss = input(1, title="Stop Loss (in ATR)") // Calculate the EMA ema = ema(close, ema_length) // Define bearish impulse condition bearish_impulse = crossover(close, ema) // Define pullback condition pullback_condition = false for i = 1 to pullback_candles if close[i] > close[i - 1] pullback_condition := true else pullback_condition := false // Define engulfing condition engulfing_condition = false for i = 1 to engulfing_candles if close[i] < open[i] and close[i-1] > open[i-1] engulfing_condition := true else engulfing_condition := false // Define the entry condition entry_condition = bearish_impulse and pullback_condition and engulfing_condition // Plot the EMA on the chart plot(ema, color=color.blue, title="50 EMA") // Plot shapes on the chart to mark entry points plotshape(entry_condition, style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small) // Define and plot the stop loss level atr_value = atr(14) stop_loss_level = close + atr_value * stop_loss plot(stop_loss_level, color=color.red, title="Stop Loss") // Strategy orders strategy.entry("Short", strategy.short, when=entry_condition) strategy.exit("Stop Loss/Target", from_entry="Short", stop=stop_loss_level, when=strategy.position_size[1] > 0) // Plot strategy performance on the chart