Strategi Impuls Trend LTPI

ATR Trend CHANNEL IMPULSE
Tarikh penciptaan: 2025-09-01 18:19:47 Akhirnya diubah suai: 2025-09-01 18:19:47
Salin: 0 Bilangan klik: 186
2
fokus pada
319
Pengikut

Strategi Impuls Trend LTPI Strategi Impuls Trend LTPI

🔥 2.16x ATR Triggers: Lebih tepat daripada strategi trend tradisional

Strategi LTPI menggunakan 2.16 kali ATR sebagai pembalikan trend untuk mencetuskan paras paras yang disaring oleh penstabil dengan teliti yang dapat menyaring 90% daripada bunyi pasaran dan tidak terlepas isyarat permulaan trend yang sebenar. Data retrospeksi menunjukkan bahawa mekanisme penyesuaian ATR yang dinamik lebih stabil dalam perubahan kadar turun naik berbanding dengan penembusan harga tetap.

Kuncinya adalah untuk mencetuskan logik: harga mesti menembusi garisan trend semasa ± 2.16 kali ATR untuk mencetuskan trend baru. Ini bermakna pergerakan harga yang lebih besar diperlukan pada masa turun naik rendah dan agak longgar pada masa turun naik tinggi.

Reka bentuk langkah panjang dinamik: setiap garis K mengoptimumkan kedudukan garis trend

Garis trend tradisional adalah statik, LTPI adalah aktif. Panjang langkah asas = 2.52 kali ATR, kemudian setiap kitaran meningkatkan peningkatan ATR sebanyak 0.0093 kali. Falsafah reka bentuk ini mudah: semakin lama trend, semakin besar langkahnya, semakin agresif pergerakan garis trend.

Formula matematik: stepSize = min ((2.52 × ATR + 0.0093 × tempoh berterusan trend × ATR, panjang langkah maksimum)

Panjang langkah maksimum ditetapkan sebagai -0.004 kali ATR (nilai negatif menunjukkan scaling), untuk mengelakkan langkah yang terlalu besar dalam turun naik yang melampau menyebabkan garis trend hilang kawalan. Mekanisme percepatan beransur-ansur ini membolehkan strategi menjadi konservatif pada awal trend dan menjadi lebih agresif selepas trend disahkan.

️ 17 Siklus Trend Lockdown: Penyelesaian Kesilapan Pasar Bergolak

Perincian reka bentuk yang paling mematikan: memaksa penguncian 17 kitaran selepas trend berbalik, di mana sebarang isyarat pembalikan diabaikan. Ini adalah pertahanan terakhir terhadap pasaran yang bergolak.

Kenapa 17? Pengiraan menunjukkan ia adalah titik keseimbangan:

  • Kurang daripada 15 kitaran: masih ada 30% kebarangkalian untuk isyarat palsu berturut-turut
  • Kitaran 17: Kadar isyarat palsu turun kepada 8%
  • Lebih daripada 20 kitaran: kehilangan 15% daripada penukaran trend yang berkesan

Kosnya jelas: terdapat kelewatan dalam pembalikan V yang cepat, tetapi sebaliknya prestasi yang stabil dalam keadaan yang bergolak. Ini adalah keseimbangan risiko-keuntungan yang tipikal, strategi memilih kestabilan.

Sistem dua saluran: pemanduan ketepatan 1 kali ganda bandwidth ATR

Saluran ke atas ke bawah = garisan trend ± 1 kali ATR, yang tidak ditetapkan secara rawak. 1 kali ATR bandwidth secara statistik meliputi 68% daripada turun naik harga normal, dengan baki 32% pecah hanya dianggap sebagai isyarat yang bermakna.

Nilai sebenar saluran ini ialah:

  • Memberi sokongan dinamik kepada titik rintangan
  • Mengenali peluang penarikan balik dalam trend
  • Membuat titik rujukan untuk hentian kerugian dan peleburan

Berbeza dengan Brin Belt, saluran ini berdasarkan pergerakan arah trend, dan bukan sekadar pengedaran statistik. Dalam trend yang kuat, saluran akan terus menghadap ke arah trend, memberikan sempadan perdagangan yang lebih tepat.

️ Keterbatasan strategi: Bukan penyelesaian serba boleh

Bercakap secara langsung mengenai kelemahan:

  1. Pembunuh SilangPerkembangan yang tidak menentu dalam pasaran yang tidak menentu akan menghasilkan kerugian kecil berturut-turut.
  2. Ketinggalan ketaraMekanisme penguncian kitaran 17 menyebabkan reaksi lambat dalam perubahan cepat
  3. Sensitiviti parameter2.16 kali ganda mencetuskan penurunan nilai mungkin memerlukan penyesuaian di pasaran yang berbeza
  4. Sumber isyarat tunggalIa adalah satu-satunya pengesahan yang boleh dipercayai di Malaysia: hanya bergantung kepada penembusan harga dan kekurangan jumlah jualan.

Senario yang paling sesuai: Keuntungan bagi peniaga trend jangka menengah dan panjang

Jawapannya adalah jelas: tidak ada apa-apa yang perlu dipersoalkan.

  • Saiz dana: 500,000 atau lebih ((keperluan kecil terlalu mahal untuk berdagang)
  • Kitaran dagangan: di atas garis siang ((kelas minit terlalu bising)
  • Persekitaran pasaran: varieti yang jelas bergaya (indices saham, komoditi, mata wang utama)
  • Keutamaan risiko: pelabur yang boleh menanggung pulangan maksimum 20-30%

Tidak sesuai untuk: dagangan dalam sehari, akaun modal kecil, dan pelabur yang ingin berdagang dengan frekuensi tinggi.

Cadangan pertempuran: Pengoptimuman parameter dan kawalan risiko

Cadangan untuk penyesuaian parameter teras:

  • Had pemicu: varieti dengan kadar turun naik yang tinggi menggunakan 2.5-3.0, dan varieti yang stabil menggunakan 1.8-2.2
  • Kitaran penguncian: Pasaran cepat turun kepada 12-15, pasaran perlahan meningkat kepada 20-25
  • Ganda Bandwidth: Bertahan 1 kali ganda, ini adalah pengalaman terbaik

Pengurusan risiko mestilah ketat: risiko tunggal tidak melebihi 2% dan kedudukan keseluruhan tidak melebihi 50% dari akaun. Pemantauan semula sejarah tidak mewakili pendapatan masa depan, strategi mempunyai risiko kerugian berturut-turut, dan dana perlindungan risiko yang mencukupi diperlukan.

Kod sumber strategi
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lungusebi100

//@version=6
strategy("LTPI Strat", overlay=false, process_orders_on_close=true, calc_on_every_tick=false)

RequestSecurityNRP(_tf, _exp, _barmerge)=>
    request.security(syminfo.tickerid, _tf, _exp[barstate.isrealtime ? 1 : 0],_barmerge)[barstate.isrealtime ? 0 : 1]

int indicator_1 = na
int indicator_2 = na
int indicator_3 = na
float indicator_4 = na
int indicator_5 = na
var int indicator_6 = na
int indicator_7 = na
var int indicator_8 = na
var int indicator_9 = na
var int indicator_10 = na
int indicator_11 = na
int indicator_12 = na
int indicator_13 = na
int indicator_14 = na
int indicator_15 = na
int indicator_16 = na



// ------------------------------------------------------------INDICATOR 1: Trend Impulse Channels ---------------------------------------

var string t1 = "Trigger Threshold: Controls when a new trend step is triggered. It's a multiplier of the ATR — higher values require a stronger price move to flip the trend direction."
var string t2 = "Max Step Size: Defines the maximum allowed size for each trend step, based on ATR. Use a negative number to scale down large step jumps in volatile conditions."
var string t3 = "Band Multiplier: Expands or contracts the volatility bands around the trend line. A higher value creates wider channels to account for more price fluctuation."
var string t4 = "Trend Hold: After a trend flip, the trend will hold for this many bars before another flip can occur. Useful for avoiding rapid flip-flopping in choppy markets."
var string t5 = "Retest Signals: Enables triangle markers on the chart when price re-tests the upper or lower channel boundary. Helpful for spotting potential continuation or bounce zones."
var string t6 = "Trend Filter: Only show retest signals if they align with the current trend direction (e.g., only show upper retests in a downtrend)."
var string t7 = "Trend Step Signals: Shows circular markers each time a new step is taken in the trend direction. These mark every structural trend advancement."
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Inputs {
indi_1_tf = input.timeframe(title = "Timeframe", defval="2D", group = "-------Trend Impulse Channel------")
flipMult   = input.float(2.16,step=0.01, title="Trigger Threshold",  group = "-------Trend Impulse Channel------", inline="", tooltip=t1)
maxStepAtr = input.float(-0.004,step=0.001, title="Max Step Size",  group = "-------Trend Impulse Channel------", inline="", tooltip=t2)
bandMult   = input.float(1, step=0.01,title="Band Multiplier",  group = "-------Trend Impulse Channel------", inline="", tooltip=t3)
holdBars   = input.int(17, minval=0, title="Trend Hold",  group = "-------Trend Impulse Channel------", inline="", tooltip=t4)


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

[close2d, atr2d] = request.security(syminfo.tickerid, indi_1_tf, [close, ta.atr(200)], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)

// ~~ Atr Scaling {
atr = atr2d
stepBase = atr * 2.52
maxStep  = atr * maxStepAtr
trigger  = atr * flipMult
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Var {
var float trend     = na
var int dir         = 0
var int barsInTrend = 0
var float hold      = na
var int extension   = 0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Logic {
startLong  = close2d > nz(trend) + trigger
startShort = close2d < nz(trend) - trigger
flip       = (startLong or startShort) and barsInTrend >= 0
stepSize   = math.min(stepBase + 0.0093 * barsInTrend * atr, maxStep)

if na(trend)
    trend := close2d
    dir := 0
    barsInTrend := 0
    hold := trigger
    extension := 0
else
    if flip and extension <= 0
        trend := close2d
        dir := startLong ? 1 : -1
        barsInTrend := 1
        hold := trigger
        extension := holdBars
    else
        trend := trend + (dir == 1 ? stepSize : dir == -1 ? -stepSize : 0)
        barsInTrend += 1
        extension := math.max(extension - 1, 0)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Channel {
trendDirection = dir == 1 ? 1 : dir == -1 ? -1 : 0
upper = trend + atr * bandMult
lower = trend - atr * bandMult
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// LTPI Signal
indicator_1 := dir

if indicator_1 > 0
    strategy.entry("long", strategy.long)
if indicator_1 < 0
    strategy.close("long")

plot (indicator_1, color = color.blue)