Strategi terobosan sideways rata-rata pergerakan tunggal


Tanggal Pembuatan: 2024-02-02 11:19:19 Akhirnya memodifikasi: 2024-02-02 11:19:19
menyalin: 0 Jumlah klik: 537
1
fokus pada
1617
Pengikut

Strategi terobosan sideways rata-rata pergerakan tunggal

Ringkasan

Strategi Single Mean Point Horizontal Break adalah strategi perdagangan kuantitatif yang didasarkan pada indikator momentum Chande. Strategi ini menilai apakah pasar berada dalam tahap penyusunan horisontal dengan menghitung perubahan dinamika harga.

Prinsip Strategi

Strategi ini pertama kali menghitung perubahan dinamika harga.mommLalu kita bagi menjadi positif dan negatif.m1dan dinamika negatifm2Kemudian menghitung jumlah massa positif negatif dalam periode tertentu.sm1Dansm2Akhirnya, Anda mendapatkan indikator momentum Chande.chandeMOIndikator ini dengan 0 sebagai sumbu tengah, ketika indikator lebih besar dari 0 berarti kekuatan naik lebih besar dari kekuatan turun, dan sebaliknya ketika kurang dari 0.

Ketika indikator momentum Chande dari rendah melanggar garis beli, menunjukkan bahwa harga keluar dari periode penurunan, masuk ke tahap penataan siap naik, saat ini strategi melakukan operasi beli. Ketika indikator dari tinggi jatuh melewati garis jual, maka dilakukan operasi jual.

Analisis Keunggulan

  • Strategi ini mampu menangkap titik-titik pergeseran harga dari turun ke menstabilkan dan kemudian naik, untuk mencapai low buy high sell.
  • Indikator dinamika Chande mempertimbangkan kecepatan dan intensitas perubahan harga, dan merupakan alat yang bagus untuk menilai tren.
  • Strategi ini sederhana dan mudah diterapkan.

Analisis risiko

  • Indikator Chande Dynamic sangat sensitif terhadap parameter, dan pengaturan parameter yang berbeda dapat menyebabkan sinyal dan hasil perdagangan yang sangat berbeda.
  • Pengaturan statis untuk buy line dan sell line juga dapat menyebabkan terlalu banyak sinyal yang salah.
  • Strategi ini tidak mempertimbangkan stop loss, yang dapat menyebabkan peningkatan kerugian.

Anda dapat mengatur garis beli dan jual yang dinamis, atau dalam kombinasi dengan sinyal filter indikator lainnya. Anda juga harus mengatur stop loss untuk mengontrol risiko.

Arah optimasi

  • Mencoba parameter dengan siklus yang berbeda untuk mendapatkan hasil terbaik
  • Menetapkan lini jual beli yang dinamis
  • Menyaring sinyal dalam kombinasi dengan indikator lain
  • Menambahkan risiko kontrol logika stop loss

Meringkaskan

Strategi ini sederhana, praktis, dan mampu secara efektif menangkap pergeseran tren. Namun, pengaturan parameter dan kontrol stop loss membutuhkan pengoptimalan lebih lanjut untuk mengurangi risiko sinyal dan kontrol yang salah. Secara keseluruhan, strategi ini memberikan alat yang efektif untuk menilai pergeseran tren untuk perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//* Backtesting Period Selector | Component *//
//* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *//
//* https://www.tradingview.com/u/pbergden/ *//
//* Modifications made *//
testStartYear = input(2021, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(999999, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(26, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
/////////////// END - Backtesting Period Selector | Component ///////////////
strategy(title="Chande Momentum Strat", shorttitle="ChandeMO Strat", format=format.price, precision=2)
length = input(9, minval=1)
src = input(close, "Price", type = input.source)
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
plot(chandeMO, "Chande MO", color=color.blue)
hline(0, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line")
buyline= input(-80)
sellline= input(80)
hline(buyline, color=color.gray)
hline(sellline, color=color.gray)

if testPeriod()
    if crossover(chandeMO, buyline)
        strategy.entry("Long", strategy.long, alert_message="a=ABCD b=buy e=binanceus q=1.2 s=uniusd")
    //    strategy.exit(id="Long Stop Loss", stop=strategy.position_avg_price*0.8) //20% stop loss 
        
    if crossunder(chandeMO, sellline)
        strategy.entry("Short", strategy.short, alert_message="a=ABCD b=sell e=binanceus q=1.2 s=uniusd")
    //    strategy.exit(id="Short Stop Loss", stop=strategy.position_avg_price*1.2) //20% stop loss

//      remember to alert as    {{strategy.order.alert_message}}