
Strategi menembusi melintang titik tunggal adalah strategi perdagangan kuantitatif berdasarkan indikator pergerakan Chande. Strategi ini menilai apakah pasaran berada dalam tahap penyusunan melintang dengan mengira perubahan dinamik harga. Operasi membeli atau menjual yang sesuai dilakukan apabila garis indikator pergerakan Chande menembusi garis beli atau jual yang ditetapkan.
Strategi ini mula mengira perubahan dinamik hargamommDan kemudian kita bagi ia kepada gerak positif.m1dan dinamika negatifm2Kemudian kira jumlah tenaga positif negatif dalam tempoh tertentu.sm1dansm2Akhirnya, kita dapat Indeks Kinerja Chande.chandeMOIndikator ini mempunyai 0 sebagai sumbu tengah, apabila indikator lebih besar daripada 0 menunjukkan kekuatan naik lebih besar daripada kekuatan turun, dan sebaliknya apabila kurang daripada 0.
Apabila indikator pergerakan Chande menembusi garis beli dari paras rendah, menandakan harga keluar dari tempoh penurunan dan memasuki tahap persediaan untuk naik, ketika ini strategi melakukan operasi beli. Apabila indikator menembusi garis jual dari paras tinggi, maka operasi jual dilakukan.
Anda boleh menetapkan garis beli dan jual yang dinamik, atau gabungan dengan isyarat penapis indikator lain. Anda juga harus menetapkan hentian kerugian untuk mengawal risiko.
Strategi single-mean crossover breakout menggunakan indikator pergerakan Chande untuk menentukan titik peralihan harga dari penurunan ke penyusunan dan kemudian kenaikan, untuk mencapai pembelian rendah dan penjualan tinggi. Strategi ini mudah digunakan dan dapat menangkap perubahan tren dengan berkesan. Tetapi parameter dan kawalan berhenti memerlukan pengoptimuman lebih lanjut untuk mengurangkan isyarat dan kawalan yang salah.
/*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}}