Strategi Keletihan Pengayun Momentum


Tarikh penciptaan: 2023-11-16 17:54:00 Akhirnya diubah suai: 2023-11-16 17:54:00
Salin: 1 Bilangan klik: 769
1
fokus pada
1617
Pengikut

Strategi Keletihan Pengayun Momentum

Gambaran keseluruhan

Strategi keletihan pergerakan pergerakan adalah strategi pemantauan trend yang menggunakan purata bergerak dan peratusan harga indikator untuk mengurangkan risiko penurunan. Strategi ini adalah model perdagangan dana indeks yang dapat mengawal risiko dengan berkesan.

Prinsip Strategi

Indikator teras strategi ini adalah nilai lelah dan rata-rata lelah. Nilai lelah adalah satu indikator kuantitatif untuk pergerakan harga yang dikira dari harga penutupan, harga tertinggi dan harga terendah. Kaedah pengiraan khusus adalah: ((harga penutupan + harga tertinggi + harga terendah - purata bergerak nilai lelah) / ((purata bergerak nilai lelah).

Selain itu, strategi ini juga menggunakan purata bergerak jangka pendek untuk membantu menentukan trend, termasuk garis 300 hari, 150 hari dan 50 hari. Apabila purata bergerak jangka pendek melintasi rata-rata bergerak jangka panjang, menunjukkan pembalikan trend, dan perlu dipertimbangkan untuk menghentikan kerugian.

MACD juga digunakan untuk menentukan titik beli dan jual dalam jangka pendek. Apabila MACD naik, ia melonjak ketika melintasi garis isyarat, dan turun ketika melintasi garis isyarat. RSI rendah juga digunakan sebagai isyarat beli.

Logik masuk dan keluar adalah seperti berikut:

Syarat pembelian: Nilai keletihan memakai garis rata-rata keletihan, dan garis 50 hari lebih tinggi daripada garis 150 hari; atau RSI lebih rendah daripada 30 .

Keadaan Hentian Jangka Pendek: Melalui garis rata-rata kehabisan di bawah nilai kehabisan; atau melalui garis isyarat di bawah MACD.

Syarat Hentian Jangka Panjang: 50 hari melalui 150 hari; atau 150 hari melalui 300 hari.

Kelebihan Strategik

Strategi ini menggabungkan pelbagai indikator untuk menilai trend endtime exhaustion untuk mengawal risiko, dengan kelebihan berikut:

  1. Penunjuk keletihan dapat menilai dengan berkesan mengenai penyesuaian dan pembalikan. Penemuan pembalikan trend tepat pada masanya adalah kunci untuk mengawal risiko dengan berkesan.

  2. Menggunakan purata bergerak pelbagai tempoh masa untuk menilai trend, dan mengelakkan gangguan pasaran jangka pendek.

  3. MACD membantu mengesahkan titik jual beli dan meningkatkan keberkesanan strategi.

  4. Indeks RSI menggunakan kaedah jual beli rendah dan membeli lebih tinggi daripada harga rendah.

  5. Strategi berhenti dan hentikan kerugian yang jelas untuk mengawal risiko setiap dagangan dengan berkesan.

Risiko Strategik

Strategi ini juga mempunyai risiko:

  1. Berdasarkan pelbagai penilaian indikator, parameter yang tidak betul boleh menyebabkan kesilapan isyarat perdagangan. Parameter pengoptimuman perlu diuji berulang kali.

  2. Penunjuk keletihan tidak boleh dipercayai sepenuhnya, dan ia mungkin tidak berfungsi apabila harga berada di tempat yang rendah.

  3. Penetapan titik henti yang tidak betul boleh menyebabkan gegaran garis ultra pendek dan dihentikan. Titik henti perlu mempertimbangkan kesan jangka panjang strategi.

  4. Apabila pasaran besar bergoyang, penunjuk akan hilang, perlu berhati-hati untuk mengawal saiz kedudukan.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Uji kombinasi parameter yang berbeza untuk mencari parameter terbaik untuk mengurangkan isyarat yang salah. Parameter utama yang boleh disesuaikan termasuk kitaran purata, kitaran nilai lelah, dan sebagainya.

  2. Gabungan dengan penunjuk kadar turun naik seperti ATR untuk secara dinamik menyesuaikan amplitud hentian, dengan kelonggaran yang sesuai untuk amplitud hentian apabila turun naik besar.

  3. Mengoptimumkan pengurusan kedudukan, anda boleh menetapkan peraturan perkadaran kedudukan yang berbeza untuk peringkat besar.

  4. Gabungan dengan garis grafik seperti garis penumpukan, garis sokongan dan lain-lain untuk meningkatkan keberkesanan strategi dalam peperangan.

  5. Menambah algoritma pembelajaran mesin untuk membantu menilai keberkesanan indikator utama dan mencapai pengoptimuman dinamik.

ringkaskan

Strategi keletihan momentum menggunakan pelbagai indikator untuk menentukan pembalikan trend untuk mengawal risiko perdagangan. Strategi ini mempunyai keupayaan untuk mengesan trend, dapat menentukan masa untuk membeli dan menjual dengan berkesan.

Kod sumber strategi
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © spiritualhealer117

//@version=4

strategy("Infiten Slope Strategy", overlay=false,calc_on_every_tick = true, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
// //TIME RESTRICT FOR BACKTESTING {
// inDateRange = (time >= timestamp(syminfo.timezone, 2003,
//          1, 1, 0, 0)) and
//      (time < timestamp(syminfo.timezone, 2021, 5, 25, 0, 0))
// //}

//OPTIMAL PARAMETERS {
daysback = 30
volumesens = 1.618
//}
//Calculating Exhaustion and Exhaustion Moving Average {
clh = close+low+high
exhaustion = (clh-sma(clh,daysback))/sma(clh,daysback)
exhaustionSma = sma(exhaustion,daysback)
//}
//Long Term Moving Averages for sell signals {
red = sma(close,300)
white = sma(close,150)
blue = sma(close,50)

plot(red,color=color.red)
plot(white,color=color.white)
plot(blue,color=color.blue)
//}
//MACD Calculation {
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//}
//SIGMOID Bottom {
timeAdjust = 300/sma(close,500)
//}
//RSI bottom {
len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//}

//Entry and exit conditions {
//Sell conditions
bigVolume = sma(volume,30)*volumesens
sellcond1 = crossunder(exhaustion,exhaustionSma) and volume > bigVolume
sellcond2 = crossunder(macd,signal) and volume > bigVolume
midtermsellcond1 = crossunder(blue,white)
longtermsellcond1 = white < red

//Buy conditions
buycond = crossover(exhaustion,exhaustionSma) and not longtermsellcond1
buycond2 = rsi < 30
buycond3 = crossover(blue,white) and longtermsellcond1
//}

//Backtest Run Buy/Sell Commands {
strategy.entry("buycond",true, when=buycond and bigVolume)
strategy.entry("buycond2",true, when=buycond2 and bigVolume)

strategy.close_all(when=sellcond1,comment="short term sell signal 1")
strategy.close_all(when=midtermsellcond1, comment="mid term sell signal 1")
strategy.close_all(when=longtermsellcond1, comment="long term sell signal 1")
strategy.close_all(when=sellcond2, comment="short term sell signal 2")
plot(strategy.position_size)

//Sell on last tested day (only for data collection)
//strategy.close_all(when=not inDateRange)
//}