Chiến lược DEC


Ngày tạo: 2023-10-31 11:47:00 sửa đổi lần cuối: 2023-10-31 11:47:00
sao chép: 0 Số nhấp chuột: 726
1
tập trung vào
1617
Người theo dõi

Chiến lược DEC

Tổng quan

Chiến lược DEC hàng rào được sử dụng để xác định thời gian biến đổi xu hướng thị trường bằng cách nhận ra các biến động hết mức của chỉ số DEC hàng rào. Khi có biến động hết mức DEC hàng rào chính, hãy làm nhiều hơn; khi có biến động hết mức DEC hàng rào thứ hai, hãy làm trống. Chiến lược này được sử dụng chủ yếu cho các giao dịch đường dài trung bình.

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

Chỉ số DEC của Rayleigh được sử dụng để xác định điểm cực đoan địa phương của giá. Nó đánh giá xem điểm đó có phải là điểm cực đoan tiềm năng hay không bằng cách thống kê mối quan hệ giữa giá đóng cửa và giá mở cửa của đường K đa số.

Lập luận cốt lõi của chiến lược này là:

  1. Tính toán các chỉ số DEC chính của hàng rào ((maj), tham số là số bar ((maj_qual) và tìm phạm vi ((maj_len) }}.

  2. Khi DEC của nơm chính liên tục vượt qua đường K của maj_qual, và giá trị cao nhất của đường K này vượt quá giá trị cao nhất của đường K của maj_len trước đó, thì DEC của nơm chính được coi là đã hết hạn, tạo ra tín hiệu đa.

  3. Tính toán các chỉ số DEC của nơm nơm thứ cấp ((min), tham số là số bar ((min_qual) và tìm phạm vi ((min_len)

  4. Khi DEC của buồng tần tiếp tục phá vỡ đường min_qualroot K xuống, và giá trị tối thiểu của đường K này thấp hơn giá trị tối thiểu của đường min_lenroot K trước đó, thì DEC của buồng tần thứ cấp được coi là cạn kiệt xuống, tạo ra tín hiệu làm trống.

Theo các nguyên tắc của chỉ số La Relay DEC, hình thức cạn kiệt cho thấy gần điểm này có thể là điểm cực và điểm đảo ngược xu hướng, do đó tạo ra tín hiệu giao dịch.

Phân tích lợi thế

  • Chiến lược này có khả năng đánh giá xu hướng mạnh mẽ. Chỉ số DEC của Reilly có thể xác định hiệu quả các điểm cực đoan địa phương của giá cả.

  • Bằng cách kết hợp các tham số khác nhau, có thể thích ứng linh hoạt với các chu kỳ khác nhau và môi trường thị trường.

  • Có thể sử dụng các tín hiệu DEC của các liên lạc chính một mình hoặc kết hợp với các tín hiệu DEC của các liên lạc phụ để có được sự phán đoán toàn diện và chính xác hơn.

  • Có thể thiết lập số bar khác nhau và tham số phạm vi tìm kiếm, điều chỉnh độ nhạy của chiến lược.

Phân tích rủi ro

  • Giống như các chỉ số khác, chỉ số DEC của Relay cũng có thể có tín hiệu giả và cần được xác minh kết hợp với các chỉ số khác.

  • Cần tối ưu hóa các tham số để phù hợp với các chu kỳ và giống khác nhau. Thiết lập tham số không đúng có thể gây ra các vấn đề giao dịch thường xuyên hoặc bỏ phiếu.

  • Chiến lược này chủ yếu dựa trên hình dạng đường K và có thể bỏ lỡ cơ hội trong biến động giá ngắn hạn.

  • Cần chú ý đến phần thực thể đường K của tín hiệu DEC đột phá để tránh thất bại trong việc đảo ngược xu hướng.

Hướng tối ưu hóa

  • Tối ưu hóa các tham số, tăng khả năng thích ứng của các tham số. Các tham số tối ưu hóa động có thể được xem xét.

  • Các bộ lọc được kết hợp với các chỉ số khác, chẳng hạn như chỉ số năng lượng, trung bình di chuyển, để tăng độ tin cậy của tín hiệu.

  • Tham gia chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ.

  • Kết hợp các chỉ số ngắn hạn để nắm bắt cơ hội trong biến động giá ngắn hạn.

  • Kiểm tra các loại giao dịch khác nhau để tìm ra môi trường phù hợp nhất.

  • Tối ưu hóa các chiến lược quản lý vốn, chẳng hạn như quy mô và quản lý vị trí.

Tóm tắt

Chiến lược DEC của Liley là một chiến lược theo dõi xu hướng tốt hơn bằng cách nắm bắt các hình thức cực đoan của chỉ số DEC của Liley để đánh giá điểm đảo ngược xu hướng tiềm ẩn. Chiến lược này có lợi thế trong việc đánh giá xu hướng thị trường, nhưng cần tối ưu hóa sâu sắc, được kiểm tra bằng các chỉ số khác và quản lý rủi ro tốt để ổn định lợi nhuận trong thời gian dài.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Joy_Bangla

//@version=4
strategy("A Strategy for Leledec", shorttitle ="Leledec Strategy", overlay=true, commission_value=0.075, initial_capital=10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)

maj = input(true, "Major Leledec Exhausion Bar ::  Show")
min=input(false, "Minor Leledec Exhausion Bar ::  Show")
leledcSrc = input(close, "Major Leledec Exhausion Bar ::  Source")
maj_qual = input(6, "Major Leledec Exhausion Bar ::  Bar count no")
maj_len = input(30, "Major Leledec Exhausion Bar ::  Highest / Lowest")
min_qual=input(5, "Minor Leledec Exhausion Bar ::  Bar count no")
min_len=input(5, "Minor Leledec Exhausion Bar ::  Bar count no")
bindexSindex = input(1, "bindexSindex")
closeVal = input(4, "Close")

lele(qual, len) =>
    bindex = 0
    sindex = 0
    bindex := nz(bindex[bindexSindex], 0)
    sindex := nz(sindex[bindexSindex], 0)
    ret = 0
    if close > close[closeVal]
        bindex := bindex + 1
        bindex
    if close < close[closeVal]
        sindex := sindex + 1
        sindex
    if bindex > qual and close < open and high >= highest(high, len)
        bindex := 0
        ret := -1
        ret
    if sindex > qual and close > open and low <= lowest(low, len)
        sindex := 0
        ret := 1
        ret
    return = ret
    return

major = lele(maj_qual, maj_len)
minor=lele(min_qual,min_len)

plotchar(maj ? major == -1 ? high : na : na, char='•', location=location.absolute, color=color.red, transp=0, size=size.large)
plotchar(maj ? major == 1 ? low : na : na, char='•', location=location.absolute, color=color.lime, transp=0, size=size.large)

plotchar(min ? (minor==1?high:na) : na, char='x', location=location.absolute, color=color.red, transp=0, size=size.small)
plotchar(min ? (minor==-1?low:na) : na, char='x', location=location.absolute, color=color.lime, transp=0, size=size.small)

leledecMajorBullish = major==1?low:na
leledecMajorBearish = major==-1?high:na

leledecMinorBullish = minor==1?low:na
leledecMinorBearish = minor==-1?high:na



buySignalBasedOnMajorLeledecOnly = major==1?low:na
sellSignalBasedOnMajorLeldecOnly = minor==-1?high:na


// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2018, title = "From Year",       type = input.integer, minval = 2017, maxval = 2030)
thruMonth = input(defval = 12,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 11)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 30)
thruYear  = input(defval = 2030, title = "Thru Year",       type = input.integer, minval = 2017, maxval = 2030)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

if (window())
    strategy.entry("buy", strategy.long, when=buySignalBasedOnMajorLeledecOnly)
    strategy.entry("sell", strategy.short, when=sellSignalBasedOnMajorLeldecOnly)