Strategi Penipisan Osilator Momentum


Tanggal Pembuatan: 2023-11-16 17:54:00 Akhirnya memodifikasi: 2023-11-16 17:54:00
menyalin: 1 Jumlah klik: 769
1
fokus pada
1617
Pengikut

Strategi Penipisan Osilator Momentum

Ringkasan

Strategi pendinginan oscillasi dinamis adalah strategi pelacakan tren yang menggunakan rata-rata bergerak dan persentase oscillasi harga untuk meminimalkan risiko penurunan. Strategi ini termasuk dalam model perdagangan dana indeks yang dapat mengontrol risiko secara efektif.

Prinsip Strategi

Indikator inti dari strategi ini adalah nilai kehabisan dan rata-rata kehabisan. Nilai kehabisan adalah indikator kuantitatif dari pergerakan harga, yang dihitung dari harga penutupan, harga tertinggi, dan harga terendah. Metode perhitungan spesifik adalah: ((harga penutupan + harga tertinggi + harga terendah - rata-rata bergerak dari nilai kehabisan) / ((rata-rata bergerak dari nilai kehabisan). Rata-rata kehabisan adalah rata-rata bergerak dari nilai kehabisan.

Selain itu, strategi ini juga menggunakan jangka panjang bergerak rata-rata untuk membantu menilai tren, termasuk 300 hari garis, 150 hari garis dan 50 hari garis. Ketika jangka pendek bergerak rata-rata di bawah melewati jangka panjang bergerak rata-rata, menunjukkan trend reversal, harus dipertimbangkan stop loss.

MACD juga digunakan untuk menentukan titik jual beli dalam jangka pendek. Ketika MACD naik, sinyalnya naik, dan ketika turun, sinyalnya turun. RSI rendah juga digunakan sebagai sinyal beli.

Logika masuk dan keluar adalah sebagai berikut:

Kondisi pembelian: Rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata rata-rata

Kondisi stop loss jangka pendek: melewati garis rata-rata defisiensi di bawah nilai defisiensi; atau melewati garis sinyal di bawah MACD.

Kondisi stop loss jangka menengah dan jangka panjang: 50 hari di bawah garis 150 hari; atau 150 hari di bawah garis 300 hari.

Keunggulan Strategis

Strategi ini menggabungkan beberapa indikator untuk menilai tren endtime exhaustion untuk mengendalikan risiko, dengan keuntungan sebagai berikut:

  1. Indikator kelelahan dapat secara efektif menilai perhitungan dan pembalikan. Penemuan pembalikan tren tepat waktu adalah kunci untuk mengontrol risiko secara efektif.

  2. Menggunakan moving averages multi-periode untuk menilai tren dan menghindari kebisingan pasar jangka pendek.

  3. MACD membantu mengkonfirmasi titik jual beli dan meningkatkan efektivitas strategi di lapangan.

  4. Indeks RSI memanfaatkan harga rendah untuk membeli dan harga tinggi untuk menjual.

  5. Strategi Stop Loss yang jelas dan efektif untuk mengontrol risiko setiap transaksi.

Risiko Strategis

Strategi ini juga memiliki beberapa risiko:

  1. Berdasarkan berbagai penilaian indikator, pengaturan parameter yang tidak tepat dapat menyebabkan kesalahan sinyal perdagangan. Parameter optimasi perlu diuji berulang kali.

  2. Indikator defisiensi tidak sepenuhnya dapat diandalkan, dan mungkin tidak berfungsi jika harga berada di deviasi rendah.

  3. Stop loss yang tidak diatur dengan benar dapat menyebabkan getaran garis super pendek dan dihentikan. Stop loss harus mempertimbangkan efek jangka panjang dari strategi.

  4. Indikator tidak akan berlaku saat pasar besar bergoyang, dan perlu diperhatikan untuk mengontrol skala posisi.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Uji kombinasi parameter yang berbeda untuk mencari parameter optimal untuk mengurangi sinyal yang salah. Parameter kunci yang dapat disesuaikan termasuk siklus rata-rata, siklus nilai kehabisan, dan lain-lain.

  2. Kombinasi dengan indikator volatilitas seperti ATR untuk secara dinamis menyesuaikan amplitudo stop loss, dengan relaksasi yang tepat pada amplitudo stop loss pada saat lonjakan besar.

  3. Untuk mengoptimalkan manajemen posisi, aturan rasio posisi yang berbeda dapat diatur untuk setiap fase saham besar.

  4. Kombinasi dengan indikator grafis seperti garis akumulasi, garis dukungan, dan lain-lain untuk meningkatkan efektivitas strategi dalam pertempuran.

  5. Menambahkan algoritma pembelajaran mesin untuk membantu menilai efektivitas indikator kunci, dan mengoptimalkan dinamika.

Meringkaskan

Strategi penipisan momentum menggunakan berbagai indikator untuk menentukan pembalikan tren untuk mengendalikan risiko perdagangan. Strategi ini memiliki kemampuan untuk melacak tren, sehingga dapat secara efektif menilai waktu untuk membeli atau menjual. Efektivitas strategi dapat ditingkatkan lebih lanjut melalui pengoptimalan parameter, pengaturan aturan stop loss, bantuan indikator grafis, dll. Secara keseluruhan, strategi ini memiliki kemampuan adaptasi tertentu terhadap pergerakan pasar besar, dan dapat digunakan sebagai salah satu opsi strategi kontrol risiko.

Kode 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)
//}