Strategi Trend Purata Tanda Dinamik


Tarikh penciptaan: 2023-11-15 17:45:13 Akhirnya diubah suai: 2023-11-15 17:45:13
Salin: 0 Bilangan klik: 621
1
fokus pada
1617
Pengikut

Strategi Trend Purata Tanda Dinamik

Gambaran keseluruhan

Strategi ini didasarkan pada indikator garis rata-rata Mark Dynamic, yang digabungkan dengan Brin Belt dan RSI untuk penapis isyarat perdagangan, untuk mewujudkan strategi pemantauan trend yang hanya melakukan lebih banyak dan tidak kosong. Strategi ini menilai trend dengan mengira perubahan garis rata-rata Mark Dynamic pada harga penutupan garis Heck, dan membandingkan dengan Brin Belt untuk menghantar isyarat perdagangan.

Prinsip Strategi

Inti strategi ini adalah untuk mengira perubahan dalam garis purata Mark dinamik pada harga penutupan garis Heck. Secara khusus, ia adalah untuk mengira perbezaan garis purata Mark pada garis K semasa dengan dua garis K sebelumnya, kemudian kalikan dengan faktor kepekaan, untuk mendapatkan nilai perubahan garis purata Mark yang tepat.

Kemudian, perbandingan nilai perubahan ini dengan perbezaan di atas dan di bawah jalur jalur Brin. Jika perubahan garis rata-rata Mark lebih besar daripada perbezaan di dalam jalur Brin, maka trend dianggap berpunca daripada ledakan lebah. Apabila ledakan itu positif, iaitu perubahan pada garis rata-rata Mark menjadi positif, maka dihasilkannya tanda-tanda yang berganda dan garis bertiang hijau. Apabila ledakan itu negatif, iaitu perubahan pada garis rata-rata Mark menjadi negatif, maka dihasilkannya isyarat kedudukan rata dan garis bertiang merah.

Di samping itu, strategi ini juga menetapkan penapis RSI, yang hanya memberi isyarat lebih banyak apabila RSI berada di atas paras terendah, untuk mengelakkan risiko pembalikan trend.

Kelebihan Strategik

  • Menggunakan Garis Persamaan Mark Dinamik untuk menilai trend, anda boleh mengesan perubahan trend dengan berkesan
  • Blink band sebagai penunjuk dinamik, yang digabungkan dengan garis rata-rata Mark, lebih baik untuk mengenal pasti trend pecah
  • Penapis RSI dapat mengelakkan isyarat palsu yang disebabkan oleh rebound rendah
  • Hanya bekerja lebih dan tidak bekerja lebih, sesuai untuk pasaran lembu yang terus meningkat
  • Parameter yang boleh disesuaikan dan boleh dioptimumkan untuk pelbagai jenis dan kitaran

Risiko Strategik

  • Hanya bekerja lebih banyak dan tidak kosong, tidak boleh mendapat keuntungan daripada penurunan
  • Terlalu bergantung pada pengoptimuman parameter, pelbagai jenis dan kitaran perlu diuji semula
  • Tidak dapat menangkap perubahan trend dengan berkesan, yang boleh membawa kepada kerugian yang lebih besar
  • Penetapan penapis RSI yang tidak betul boleh menyebabkan peluang perdagangan yang hilang
  • Sensitiviti parameter yang tinggi mudah menghasilkan urus niaga bising

Langkah-langkah pengurangan risiko termasuk: menyesuaikan parameter dengan betul untuk menjadikannya lebih stabil, menilai pembalikan trend dalam kombinasi dengan petunjuk lain, digunakan hanya dalam trend yang jelas dan lain-lain.

Arah pengoptimuman strategi

Strategi ini mempunyai ruang untuk pengoptimuman:

  • Cuba sumber harga yang berbeza, seperti harga penutupan, purata, dan lain-lain untuk mendapatkan kesan yang lebih baik

  • Menyesuaikan parameter kitaran pada garis rata Mark dan Brin untuk mengoptimumkan untuk pelbagai jenis

  • Cuba untuk menggantikan faktor sensitiviti dengan nisbah untuk menjadikan hasil penunjuk lebih intuitif

  • Menambah penapis lain, seperti trendline, jumlah transaksi, dan lain-lain untuk meningkatkan kualiti isyarat

  • Membangunkan strategi kepala kosong untuk melakukan operasi terbalik mengikut bentuk indikator

  • Menyertai mekanisme halangan kerugian untuk mengawal risiko

ringkaskan

Strategi ini secara keseluruhannya adalah strategi pengesanan trend yang lebih stabil. Ia menggunakan garis rata-rata dinamik untuk menentukan arah trend, mengenal pasti titik pecah Brin, memfilter isyarat palsu RSI, mewujudkan sistem trend yang hanya melakukan lebih banyak. Tetapi ada juga risiko tertentu, memerlukan pengoptimuman parameter untuk pelbagai jenis dan kitaran, dan tidak dapat mengambil keuntungan dari pergerakan turun.

Kod sumber strategi
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

///////////Original Script Courtesy of Lazy_Bear.... Absolute Legend\\\\\\\\\\\\\\\

strategy('SmoothedWaddah', overlay=false, initial_capital=1)
sensitivity = input(150, title='Sensitivity')
fastLength = input(20, title='MacD FastEMA Length')
slowLength = input(40, title='MacD SlowEMA Length')
channelLength = input(20, title='BB Channel Length')
mult = input(1.5, title='BB Stdev Multiplier')
RSI14filter = input(40, title='RSI Value trade filter')

////////////MacD Calculation of price//////////////////////////////
calc_macd(source, fastLength, slowLength) =>
    fastMA = ta.ema(source, fastLength)
    slowMA = ta.ema(source, slowLength)
    fastMA - slowMA

/////////BolingerBand Calculation of Price///////////////////////
calc_BBUpper(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    basis + dev

calc_BBLower(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    basis - dev

//////heinkenashi chart call for closing price "smoothing mechanism"\\\\\\\\\\\\\\\\\\\\\\\\\\\
point = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)

////////////////////T1 is change in MacD current  candle from previous candle Sensitivy amplifies calculation/////////////////////
t1 = (calc_macd(point, fastLength, slowLength) - calc_macd(point[1], fastLength, slowLength)) * sensitivity
//////////////////////T2 is  T1 from two candles prior\\\\\\\\\\\\\\\\\\\\\\\\\\\
t2 = (calc_macd(point[2], fastLength, slowLength) - calc_macd(point[3], fastLength, slowLength)) * sensitivity

////////////////E1 is difference in bolinger band upper and lower...E2 is E1 from one candle prior not needed//////////////
e1 = calc_BBUpper(ohlc4, channelLength, mult) - calc_BBLower(ohlc4, channelLength, mult)
//e2 = (calc_BBUpper(close[1], channelLength, mult) - calc_BBLower(close[1], channelLength, mult))

//////signal bar printing.. Up if MacD positive .. Down if MacD negative//////////
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0

///////plots difference in macD*Sensitivity, color change if increasing or decreasing. 
//////color is green/lime if explosion is up \ color is red/orange if explosion is down/////////
plot(trendUp, style=plot.style_columns, linewidth=1, color=trendUp < trendUp[1] ? color.new(color.lime,45) : color.new(color.green,45), title='UpTrend')
plot(trendDown, style=plot.style_columns, linewidth=1, color=trendDown < trendDown[1] ? color.new(color.orange,45) : color.new(color.red,45), title='DownTrend')
plot(e1, style=plot.style_line, linewidth=2, color=color.new(#A0522D, 0), title='ExplosionLine')


////////////Entry conditions and Concept/////////////////////
////////////Long Only System. T1 is measuring the distance between MACD EMA's. This is Multiplied
////////////by the sensitivity so that it can be compared to the difference between BollingerBand. 
/////////////{this could have been a ratio maybe i will work with that in a different script.} 
/////////////I found that 135-175 sensitivy allows for values to be compared on most charts.....
////////////If the (difference between the EMA)*(Sensitivity) is greater than (BB upper line- BB lower line)
////////////it is considered an explosion in either the downside or the upside.The indicator will print
///////////a bar higher than the trigger line either green or red (up or down respectively)//////////////////

longCondition = trendUp > e1 and ta.rsi(close, 14) > RSI14filter
if longCondition
    strategy.entry('up', strategy.long)

strategy.close('up', trendDown > e1)