레레덱 DEC 전략

저자:차오장, 날짜: 2023-10-31 11:47:00
태그:

img

전반적인 설명

레레데크 전략은 레레데크 지표에서 고갈 패턴을 탐지함으로써 트렌드 역전을 식별합니다. 주요 레레데크 고갈이 나타나면 길게 가고 소규모 레레데크 고갈이 나타나면 짧게됩니다. 이 전략은 중장기 거래에 적합합니다.

전략 논리

레레데크 지표는 가격의 지역 극한점을 식별합니다. 그것은 여러 바에서 닫고 개방 가격 사이의 관계를 분석함으로써 그렇게합니다.

전략의 핵심 논리는 다음과 같습니다.

  1. 주요 레레덱 지표 (maj) 를 매개 변수 바 카운트 (maj_qual) 및 룩백 기간 (maj_len) 을 사용하여 계산합니다.

  2. 메이저 Leledec가 maj_qual 바를 연속적으로 넘어서고 바의 높이가 지난 maj_len 바에 대한 가장 높은 높이를 초과하면 긴 신호를 생성하는 메이저 Leledec 상향 고갈이 확인됩니다.

  3. 마이너 레레덱 지표 (min) 를 매개 변수 바 카운트 (min_qual) 및 룩백 기간 (min_len) 을 사용하여 계산합니다.

  4. 마이너 레레데크가 min_qual 바 아래로 연속적으로 깨지고, 바의 최저가 지난 min_len 바에서 가장 낮은 밑에 있을 때, 마이너 레레데크 하향 고갈이 확인되어 짧은 신호를 생성합니다.

레레덱 지표의 논리에 따르면, 고갈 패턴은 잠재적 인 극심점과 트렌드 역전, 따라서 거래 신호를 나타냅니다.

이점 분석

  • 이 전략은 트렌드 식별에 강한 능력을 가지고 있습니다. Leledec는 지역 극단 포인트를 효과적으로 감지 할 수 있습니다.

  • 매개 변수 조정으로 다른 시간 프레임과 시장 조건에 적응하는 유연성

  • 메이저 레레덱을 단독으로 사용하거나 더 포괄적인 신호를 위해 마이너 레레덱을 통합 할 수 있습니다.

  • 바 카운트 및 뷰백 기간 매개 변수를 통해 사용자 정의 가능한 민감도

위험 분석

  • 거짓 신호의 가능성은 다른 지표를 사용하여 검증을 필요로 합니다.

  • 다른 제품 및 시간 프레임에 필요한 매개 변수 최적화. 부적절한 매개 변수는 과도한 거래 또는 놓친 거래를 유발할 수 있습니다.

  • 주로 촛불 패턴에 의존하고, 단기 가격 변동 중에 기회를 놓칠 수 있습니다.

  • 실패한 트렌드 반전을 위한 신호 바를 보고 있어야 합니다.

최적화

  • 더 나은 적응력을 위해 매개 변수 조합을 최적화하십시오. 동적 최적화를 고려하십시오.

  • 부피, 이동 평균 등과 같은 다른 지표를 포함하여 신호를 필터합니다.

  • 단일 트레이드에서 하락을 통제하기 위해 스톱 로스를 구현합니다.

  • 단기 지표를 포함해서 작은 변동에서 기회를 잡습니다.

  • 최적의 환경을 찾기 위해 다른 제품들을 테스트합니다.

  • 포지션 사이즈, 거래 당 위험 등 돈 관리 전략을 최적화합니다.

결론

레레덱 전략은 레레덱 지표에서 극단적인 패턴을 식별함으로써 트렌드 반전을 잡습니다. 그것은 방법론을 따르는 효과적인 추세입니다. 추세를 평가하는 데 유리하지만 장기 수익성을 위해 추가 최적화, 추가 신호 검증 및 적절한 위험 관리가 필요합니다. 전반적으로 레레덱 전략은 거래자의 도구 키트에 귀중한 추가를 제공합니다.


/*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)
 





더 많은