Leledec DEC-Strategie

Schriftsteller:ChaoZhang, Datum: 31.10.2023 um 11.47 Uhr
Tags:

img

Übersicht

Die Leledec-Strategie identifiziert Trendumkehrungen, indem sie Erschöpfungssymptome im Leledec-Indikator erkennt.

Strategie Logik

Der Leledec-Indikator identifiziert lokale Extrempunkte des Preises, indem er die Beziehung zwischen den Schlusskurs und dem Offenkurs über mehrere Balken hinweg analysiert.

Die Kernlogik der Strategie lautet:

  1. Berechnen Sie den wichtigsten Leledec-Indikator (maj) mit den Parametern Bar Count (maj_qual) und Lookback Period (maj_len).

  2. Wenn der große Leledec mehrere Stäbe hintereinander überschreitet und der Höchststand des Stäbes den höchsten Höchststand der letzten Stäbe überschreitet, wird eine große Leledec-Upside-Erschöpfung ermittelt, die ein langes Signal erzeugt.

  3. Berechnen Sie den kleinen Leledec-Indikator (min) mit den Parametern Bar Count (min_qual) und Lookback Period (min_len).

  4. Wenn der kleine Leledec in Folge unter die Min_qual-Bars fällt und der Tiefpunkt des Balkens unter dem niedrigsten Tiefpunkt der letzten Min_len-Bars liegt, wird eine kleine Leledec-Abwärtsschwäche ermittelt, die ein kurzes Signal erzeugt.

Gemäß der Logik des Leledec-Indikators stellen Erschöpfungssymbole potenzielle Extrempunkte und Trendumkehrungen dar, daher die Handelssignale.

Analyse der Vorteile

  • Die Strategie verfügt über starke Fähigkeiten bei der Trendenkennung.

  • Flexibilität bei der Anpassung an unterschiedliche Zeitrahmen und Marktbedingungen durch Parameter-Ausrichtung.

  • Kann für umfassendere Signale den großen Leledec alleine verwenden oder den kleinen Leledec integrieren.

  • Anpassbare Empfindlichkeit durch Barzahl und Rückblick-Periodenparameter.

Risikoanalyse

  • Potenzial für falsche Signale, erfordert eine Validierung unter Verwendung anderer Indikatoren.

  • Parameteroptimierung für verschiedene Produkte und Zeitrahmen erforderlich.

  • Verlässt sich hauptsächlich auf Kerzenmuster, kann Gelegenheiten während kurzfristiger Kursschwankungen verpassen.

  • Ich muss auf echte Körper von Signalbalken für gescheiterte Trendumkehrungen achten.

Optimierung

  • Optimieren Sie Parameterkombinationen für eine bessere Anpassungsfähigkeit.

  • Einbeziehen Sie andere Indikatoren wie Volumen, gleitende Durchschnitte usw., um Signale zu filtern.

  • Implementieren Sie einen Stop-Loss, um den Abwärtstrend bei einzelnen Trades zu kontrollieren.

  • Einbeziehung von kurzfristigen Indikatoren, um Chancen bei geringfügigen Schwankungen zu erkennen.

  • Versuche mit verschiedenen Produkten, um eine optimale Umgebung zu finden.

  • Optimierung von Geldmanagementstrategien wie Positionsgröße, Risiko pro Handel usw.

Schlussfolgerung

Die Leledec-Strategie erfasst Trendumkehrungen, indem sie Extremum-Muster im Leledec-Indikator identifiziert. Es ist ein effektiver Trend nach Methodik. Obwohl sie bei der Beurteilung von Trends vorteilhaft ist, ist eine weitere Optimierung, zusätzliche Signalvalidierung und ein ordnungsgemäßes Risikomanagement für die langfristige Rentabilität erforderlich. Insgesamt bietet die Leledec-Strategie eine wertvolle Ergänzung zum Toolkit eines Traders.


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





Mehr