Leledec DEC Strategi

Penulis:ChaoZhang, Tarikh: 2023-10-31 11:47:00
Tag:

img

Ringkasan

Strategi Leledec mengenal pasti pembalikan trend dengan mengesan corak keletihan dalam penunjuk Leledec. Ia menjadi panjang apabila keletihan Leledec utama muncul dan menjadi pendek apabila keletihan Leledec kecil muncul. Strategi ini sesuai untuk perdagangan jangka menengah hingga panjang.

Logika Strategi

Penunjuk Leledec mengenal pasti titik harga ekstrem tempatan. Ia melakukannya dengan menganalisis hubungan antara harga tutup dan terbuka di beberapa bar.

Logik teras strategi adalah:

  1. Mengira penunjuk Leledec utama (maj) menggunakan parameter bar count (maj_qual) dan tempoh carian (maj_len).

  2. Apabila major Leledec memecahkan di atas bar maj_qual berturut-turut, dan tertinggi bar melebihi tertinggi tertinggi di atas bar maj_len yang lalu, keletihan upside Leledec utama dikenal pasti yang menghasilkan isyarat panjang.

  3. Mengira penunjuk Leledec kecil (min) menggunakan parameter bar count (min_qual) dan tempoh carian (min_len).

  4. Apabila minor Leledec memecahkan di bawah bar min_qual berturut-turut, dan bar yang rendah di bawah bar terendah di atas bar min_len yang lalu, keletihan ke bawah Leledec kecil dikenal pasti yang menghasilkan isyarat pendek.

Menurut logik penunjuk Leledec, corak keletihan mewakili titik ekstremum yang berpotensi dan pembalikan trend, oleh itu isyarat perdagangan.

Analisis Kelebihan

  • Strategi ini mempunyai keupayaan yang kuat dalam pengenalan trend. Leledec boleh dengan berkesan mengesan titik ekstremum tempatan.

  • Fleksibiliti dalam menyesuaikan diri dengan jangka masa dan keadaan pasaran yang berbeza melalui penyesuaian parameter.

  • Boleh menggunakan Leledec utama sahaja atau menggabungkan Leledec kecil untuk isyarat yang lebih komprehensif.

  • Sensitiviti yang boleh disesuaikan melalui parameter bilangan bar dan tempoh melihat kembali.

Analisis Risiko

  • Potensi isyarat palsu, memerlukan pengesahan menggunakan penunjuk lain.

  • Pengoptimuman parameter diperlukan untuk produk dan jangka masa yang berbeza.

  • Terutamanya bergantung pada corak candlestick, mungkin terlepas peluang semasa turun naik harga jangka pendek.

  • Perlu menonton badan sebenar bar isyarat untuk pembalikan trend yang gagal.

Pengoptimuman

  • Mengoptimumkan kombinasi parameter untuk fleksibiliti yang lebih baik.

  • Masukkan penunjuk lain seperti jumlah, purata bergerak dan lain-lain untuk menapis isyarat.

  • Melaksanakan stop loss untuk mengawal penurunan pada perdagangan tunggal.

  • Masukkan penunjuk jangka pendek untuk menangkap peluang dari turun naik kecil.

  • Uji pada produk yang berbeza untuk mencari persekitaran yang optimum.

  • Mengoptimumkan strategi pengurusan wang seperti saiz kedudukan, risiko setiap perdagangan dll.

Kesimpulan

Strategi Leledec menangkap pembalikan trend dengan mengenal pasti corak ekstremum dalam penunjuk Leledec. Ia adalah trend yang berkesan mengikut metodologi. Walaupun menguntungkan dalam menilai trend, pengoptimuman lanjut, pengesahan isyarat tambahan, dan pengurusan risiko yang betul diperlukan untuk keuntungan jangka panjang. Secara keseluruhan, strategi Leledec memberikan tambahan yang berharga kepada alat pedagang.


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





Lebih lanjut