Chiến lược giao dịch kết hợp chỉ báo mô hình Engulfing dựa trên SMA và Bollinger Bands

SMA BB RR TP SL
Ngày tạo: 2025-02-08 15:06:49 sửa đổi lần cuối: 2025-02-08 15:06:49
sao chép: 2 Số nhấp chuột: 338
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch kết hợp chỉ báo mô hình Engulfing dựa trên SMA và Bollinger Bands

Tổng quan

Chiến lược này là một hệ thống giao dịch theo dõi xu hướng kết hợp các hình dạng đường trung bình ((SMA), đường Brin ((BB) và đường K. Chiến lược này chủ yếu kiểm soát rủi ro bằng cách xác định hình dạng ăn mòn làm tín hiệu giao dịch và kết hợp đường trung bình 200 ngày và đường trung tâm của đường Brin làm chỉ số xác nhận xu hướng, sử dụng tỷ lệ lợi nhuận rủi ro 1: 2.

Nguyên tắc chiến lược

Lý luận cốt lõi của chiến lược là xác nhận tín hiệu giao dịch bằng cách kết hợp nhiều chỉ số kỹ thuật. Cụ thể:

  1. Sử dụng đường trung bình 200 ngày để xác định xu hướng chung
  2. Sử dụng Brin Belt Mid-Trail như xác nhận xu hướng cấp hai
  3. Tìm kiếm thời điểm cụ thể để tham gia bằng cách nuốt chửng hình dạng
  4. Đặt mục tiêu dừng lỗ và lợi nhuận với tỷ lệ lợi nhuận rủi ro cố định 1:2

Hệ thống mở một vị trí đa đầu khi giá xuất hiện ở trên đường trung bình 200 ngày và đường trung bình Brin. tương ứng, hệ thống mở một vị trí đầu không khi giá xuất hiện ở dưới đường trung bình 200 ngày và đường trung bình Brin.

Lợi thế chiến lược

  1. Sự kết hợp của nhiều chỉ số kỹ thuật giúp tín hiệu giao dịch đáng tin cậy hơn
  2. Sử dụng các chỉ số theo dõi xu hướng cổ điển để dễ hiểu và sử dụng
  3. Tỷ lệ lợi nhuận rủi ro cố định có lợi cho lợi nhuận ổn định lâu dài
  4. Quy tắc nhập cảnh và xuất cảnh rõ ràng, giảm phán đoán chủ quan
  5. Kết hợp phân tích xu hướng và động lực để tăng tỷ lệ giao dịch thành công

Rủi ro chiến lược

  1. Tín hiệu sai thường xuyên có thể xảy ra trong thị trường biến động
  2. Đường trung bình và dải Brin là các chỉ số bị tụt hậu, có thể bỏ lỡ một số cơ hội giao dịch
  3. Tỷ lệ lợi nhuận rủi ro cố định có thể không phù hợp với tất cả các điều kiện thị trường
  4. Lưu ý: Các lệnh dừng lỗ có thể rộng hơn trong thị trường biến động nhanh.
  5. Cần một số lượng mẫu lớn hơn để thể hiện lợi thế của chiến lược

Hướng tối ưu hóa chiến lược

  1. Có thể xem xét điều chỉnh tỷ lệ lợi nhuận rủi ro theo biến động của thị trường
  2. Thêm chỉ báo âm lượng làm xác nhận phụ trợ
  3. Có thể thêm các chỉ số kỹ thuật khác để lọc các tín hiệu giả
  4. Cân nhắc tối ưu hóa thời gian nhập cảnh dựa trên sự đồng bộ của tín hiệu trong các chu kỳ thời gian khác nhau
  5. Có thể giới thiệu các tham số chỉ số thích ứng để cải thiện khả năng thích ứng của chiến lược

Tóm tắt

Đây là một chiến lược theo dõi xu hướng có cấu trúc và logic rõ ràng. Sử dụng sự kết hợp của đường thẳng, băng tròn và hình thức nuốt, đảm bảo độ tin cậy của tín hiệu giao dịch và cung cấp phương pháp kiểm soát rủi ro rõ ràng. Mặc dù có một số chậm trễ, nhưng nói chung là một hệ thống giao dịch có khả năng hoạt động mạnh mẽ và có thể kiểm soát rủi ro.

Mã nguồn chiến lược
/*backtest
start: 2025-01-08 00:00:00
end: 2025-02-07 00:00:00
period: 3h
basePeriod: 3h
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/
// © ardhankurniawan

//@version=5
//@version=5
strategy("Engulfing Candles Strategy with Risk-Reward 1:2 by ardhankurniawan", overlay = true)

// Menyimpan harga pembukaan dan penutupan dari candle sebelumnya dan saat ini
openBarPrevious = open[1]
closeBarPrevious = close[1]
openBarCurrent = open
closeBarCurrent = close

// Menghitung SMA 200
sma200 = ta.sma(close, 200)

// Menghitung Bollinger Bands (BB) dengan periode 14 dan standar deviasi 2
length = 14
src = close
mult = 2.0
basis = ta.sma(src, length)  // Mid Bollinger Band (SMA)
dev = mult * ta.stdev(src, length)  // Standard deviation
upperBB = basis + dev
lowerBB = basis - dev
midBB = basis  // Mid Bollinger Band adalah SMA

// Kondisi Bullish Engulfing: harga pembukaan saat ini lebih rendah dari harga penutupan sebelumnya, 
// harga pembukaan saat ini lebih rendah dari harga pembukaan sebelumnya, dan harga penutupan saat ini lebih tinggi dari harga pembukaan sebelumnya.
bullishEngulfing = (openBarCurrent <= closeBarPrevious) and (openBarCurrent < openBarPrevious) and (closeBarCurrent > openBarPrevious)

// Kondisi Bearish Engulfing: harga pembukaan saat ini lebih tinggi dari harga penutupan sebelumnya, 
// harga pembukaan saat ini lebih tinggi dari harga pembukaan sebelumnya, dan harga penutupan saat ini lebih rendah dari harga pembukaan sebelumnya.
bearishEngulfing = (openBarCurrent >= closeBarPrevious) and (openBarCurrent > openBarPrevious) and (closeBarCurrent < openBarPrevious)

// Kondisi untuk membeli (buy) hanya jika Bullish Engulfing terjadi di atas SMA 200 dan Mid Bollinger Band
buyCondition = bullishEngulfing and close > sma200 and close > midBB

// Kondisi untuk menjual (sell) hanya jika Bearish Engulfing terjadi di bawah SMA 200 dan Mid Bollinger Band
sellCondition = bearishEngulfing and close < sma200 and close < midBB

// Menghitung Stop Loss dan Take Profit dengan Risk-Reward Ratio 1:2
longSL = low  // SL di low candle bullish engulfing (prev low)
longRR = (close - low) * 2  // TP dengan Risk-Reward 1:2
longTP = close + longRR  // TP untuk posisi long

shortSL = high  // SL di high candle bearish engulfing (prev high)
shortRR = (high - close) * 2  // TP dengan Risk-Reward 1:2
shortTP = close - shortRR  // TP untuk posisi short

// Strategi Buy ketika kondisi beli terpenuhi dengan SL dan TP
if buyCondition
    strategy.entry("Buy", strategy.long)  // Perintah beli ketika Bullish Engulfing terjadi di atas SMA 200 dan Mid Bollinger Band
    strategy.exit("Sell Exit", from_entry = "Buy", stop = longSL, limit = longTP)  // SL dan TP untuk posisi long

// Strategi Sell ketika kondisi jual terpenuhi dengan SL dan TP
if sellCondition
    strategy.entry("Sell", strategy.short)  // Perintah jual ketika Bearish Engulfing terjadi di bawah SMA 200 dan Mid Bollinger Band
    strategy.exit("Buy Exit", from_entry = "Sell", stop = shortSL, limit = shortTP)  // SL dan TP untuk posisi short

// Menambahkan kondisi untuk keluar dari posisi
if sellCondition
    strategy.close("Buy")  // Menutup posisi beli jika Bearish Engulfing terjadi di bawah SMA 200 dan Mid Bollinger Band
if buyCondition
    strategy.close("Sell")  // Menutup posisi jual jika Bullish Engulfing terjadi di atas SMA 200 dan Mid Bollinger Band

// Plotting SMA 200 dan Bollinger Bands
plot(sma200, color = color.blue, linewidth = 2, title = "SMA 200")
plot(upperBB, color = color.green, linewidth = 1, title = "Upper BB")
plot(lowerBB, color = color.red, linewidth = 1, title = "Lower BB")
plot(midBB, color = color.orange, linewidth = 2, title = "Mid BB")

// Alert condition
alertcondition(buyCondition, title = "Bullish Engulfing Above SMA 200 and Mid BB", message = "[CurrencyPair] [TimeFrame], Bullish Engulfing above SMA 200 and Mid Bollinger Band")
alertcondition(sellCondition, title = "Bearish Engulfing Below SMA 200 and Mid BB", message = "[CurrencyPair] [TimeFrame], Bearish Engulfing below SMA 200 and Mid Bollinger Band")