Chiến lược kết hợp đơn giản: Pivot Point Supertrend và Double Exponential Moving Average

ATR DEMA EMA
Ngày tạo: 2024-06-17 14:49:14 sửa đổi lần cuối: 2024-06-17 14:49:14
sao chép: 0 Số nhấp chuột: 723
1
tập trung vào
1617
Người theo dõi

Chiến lược kết hợp đơn giản: Pivot Point Supertrend và Double Exponential Moving Average

Tổng quan

Chiến lược này kết hợp các chỉ số siêu xu hướng cốt lõi và các chỉ số di chuyển trung bình chỉ số kép ((DEMA) để phân tích mối quan hệ vị trí giữa giá cả trong hai chỉ số, để đánh giá tín hiệu giao dịch. Khi giá vượt qua chỉ số siêu xu hướng cốt lõi và cao hơn chỉ số DEMA, tạo ra nhiều tín hiệu; Khi giá giảm xuống chỉ số siêu xu hướng cốt lõi và thấp hơn chỉ số DEMA, tạo ra tín hiệu trống. Chiến lược này có thể nắm bắt xu hướng trung hạn của thị trường, đồng thời cũng có thể đối phó với biến động giá trong ngắn hạn.

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

  1. Tính toán chỉ số xu hướng siêu trọng tâm: Bằng cách tính trung bình giá cao nhất và giá thấp nhất trong một chu kỳ nhất định làm điểm trung tâm, sau đó tính theo chiều cao trung bình ((ATR) để hình thành hỗ trợ động và kháng cự.
  2. Tính toán chỉ số DEMA: Đầu tiên tính toán chỉ số di chuyển trung bình của giá đóng cửa ((EMA), sau đó thực hiện một lần di chuyển trung bình của chỉ số EMA, và cuối cùng bằng hai lần EMA trừ DEMA để có được chỉ số DEMA cuối cùng.
  3. Sản xuất tín hiệu giao dịch: Sản xuất tín hiệu nhiều khi giá đóng cửa phá vỡ xu hướng siêu xu hướng trung tâm và cao hơn chỉ số DEMA; Sản xuất tín hiệu tắt khi giá đóng cửa phá vỡ xu hướng siêu xu hướng trung tâm và thấp hơn chỉ số DEMA.
  4. Thiết lập dừng lỗ và chặn: tính toán giá dừng lỗ và chặn cụ thể dựa trên giá trị điểm (Pip Value) và số điểm dừng lỗ (Stop Loss Pips) và số điểm dừng lỗ (Take Profit Pips).

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

  1. Khả năng theo dõi xu hướng mạnh mẽ: Chỉ số xu hướng siêu điểm trung tâm có thể nắm bắt xu hướng thị trường một cách hiệu quả, trong khi chỉ số DEMA có thể loại bỏ tiếng ồn giá và cung cấp cơ sở phán đoán xu hướng mượt mà hơn, kết hợp với nhau có thể nắm bắt chính xác xu hướng chính của thị trường.
  2. Khả năng thích ứng: Bằng cách động điều chỉnh đường ray lên xuống của chỉ số xu hướng siêu điểm trung tâm, có thể thích ứng với các biến động thị trường khác nhau, tăng khả năng thích ứng của chiến lược.
  3. Khả năng kiểm soát rủi ro mạnh mẽ: thiết lập vị trí dừng lỗ và dừng dừng rõ ràng, có thể kiểm soát hiệu quả lỗ hổng rủi ro của một giao dịch, đồng thời có thể khóa lợi nhuận đã có kịp thời.

Rủi ro chiến lược

  1. Rủi ro thiết lập tham số: Hiệu suất của chiến lược phụ thuộc vào thiết lập nhiều tham số, chẳng hạn như chu kỳ điểm trung tâm, yếu tố ATR, độ dài DEMA, v.v. Sự kết hợp các tham số khác nhau có thể dẫn đến sự khác biệt lớn trong hiệu suất chiến lược, cần được lựa chọn và tối ưu hóa một cách cẩn thận.
  2. Rủi ro thị trường chấn động: Trong môi trường thị trường chấn động, tín hiệu giao dịch thường xuyên có thể dẫn đến giao dịch quá mức, làm tăng chi phí giao dịch và rủi ro trượt.
  3. Rủi ro thay đổi xu hướng: Khi xu hướng thị trường thay đổi, chiến lược có thể gặp phải tình huống thua lỗ liên tục, cần điều chỉnh chiến lược kịp thời kết hợp với các phương tiện phân tích khác.

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

  1. Tối ưu hóa tham số: Tìm ra sự kết hợp tham số tối ưu nhất, tăng sự ổn định và lợi nhuận của chiến lược bằng cách kiểm tra tối ưu hóa tham số cho các chu kỳ thời gian và các loại giao dịch khác nhau.
  2. Bộ lọc tín hiệu: Khi tín hiệu giao dịch được tạo ra, nó có thể được xác nhận lần thứ hai kết hợp với các chỉ số kỹ thuật khác hoặc đặc điểm hành vi giá, tăng độ tin cậy của tín hiệu và giảm thiệt hại do tín hiệu giả.
  3. Quản lý vị trí: Đổi đổi kích thước vị trí của mỗi giao dịch theo biến động của thị trường và khả năng chịu rủi ro của tài khoản, kiểm soát lỗ hổng rủi ro tổng thể.
  4. Tối ưu hóa danh mục: kết hợp chiến lược này với các chiến lược khác hoặc hệ thống giao dịch để cải thiện hiệu suất dài hạn của chiến lược bằng cách phân tán rủi ro và tăng cường ổn định.

Tóm tắt

Chiến lược này có lợi thế như khả năng theo dõi xu hướng mạnh mẽ, khả năng thích ứng mạnh mẽ, khả năng kiểm soát rủi ro mạnh mẽ, nhưng đồng thời cũng phải đối mặt với các rủi ro như thiết lập tham số, thị trường bất ổn và biến đổi xu hướng. Bằng các phương tiện như tối ưu hóa tham số, lọc tín hiệu, quản lý vị trí và tối ưu hóa danh mục, bạn có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược và thích ứng tốt hơn với các môi trường thị trường khác nhau.

Mã nguồn chiến lược
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simple Combined Strategy: Pivot Point SuperTrend and DEMA", overlay=true)

// Pivot Point SuperTrend settings
prd = input.int(2, title="Pivot Point Period", minval=1, maxval=50)
Factor = input.float(3.0, title="ATR Factor", minval=1, step=0.1)
Pd = input.int(10, title="ATR Period", minval=1)

// Double EMA settings
demaLength = input.int(200, title="DEMA Length", minval=1)
src = input(close, title="Source")

// Pip settings
pipValue = input.float(0.0001, title="Pip Value")
stopLossPips = input.int(15, title="Stop Loss (pips)")
takeProfitPips = input.int(35, title="Take Profit (pips)")

// Pivot Point SuperTrend Calculation
float ph = ta.pivothigh(prd, prd)
float pl = ta.pivotlow(prd, prd)
var float center = na
if not na(ph)
    center := na(center) ? ph : (center * 2 + ph) / 3
if not na(pl)
    center := na(center) ? pl : (center * 2 + pl) / 3

Up = center - (Factor * ta.atr(Pd))
Dn = center + (Factor * ta.atr(Pd))
var float TUp = na
var float TDown = na
var int Trend = na

if na(Trend)
    TUp := Up
    TDown := Dn
    Trend := close > Dn ? 1 : -1
else
    TUp := close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up
    TDown := close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn
    Trend := close > TDown[1] ? 1 : close < TUp[1] ? -1 : nz(Trend[1], 1)

Trailingsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 ? color.lime : color.red
plot(Trailingsl, color=linecolor, linewidth=2, title="PP SuperTrend")

// Double EMA Calculation
e1 = ta.ema(src, demaLength)
e2 = ta.ema(e1, demaLength)
dema = 2 * e1 - e2
plot(dema, "DEMA", color=color.new(#43A047, 0))

// Strategy Logic
longCondition = close > Trailingsl and close > dema and strategy.position_size <= 0
shortCondition = close < Trailingsl and close < dema and strategy.position_size >= 0

// Plot signals
plotshape(series=longCondition, title="Long", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")

// Strategy Entry and Exit
if (longCondition)
    strategy.entry("Long", strategy.long, stop=close - (stopLossPips * pipValue), limit=close + (takeProfitPips * pipValue))
if (shortCondition)
    strategy.entry("Short", strategy.short, stop=close + (stopLossPips * pipValue), limit=close - (takeProfitPips * pipValue))

alertcondition(longCondition, title="Long Alert", message="Long Signal")
alertcondition(shortCondition, title="Short Alert", message="Short Signal")