Strategi Rata-rata Pergerakan yang Difilter Momentum


Tanggal Pembuatan: 2023-12-12 12:35:05 Akhirnya memodifikasi: 2023-12-12 12:35:05
menyalin: 0 Jumlah klik: 671
1
fokus pada
1621
Pengikut

Strategi Rata-rata Pergerakan yang Difilter Momentum

Ringkasan

Ini adalah strategi perdagangan rata-rata bergerak yang dibangun dengan menggunakan teknik penyaringan dinamis. Ini menyaring fluktuasi harga kecil dengan menetapkan nilai threshold untuk perubahan harga, dan hanya memilih untuk mengambil bagian dalam perhitungan perubahan harga besar, sehingga meningkatkan stabilitas strategi.

Prinsip Strategi

Indikator pergerakan Cande adalah salah satu jenis indikator dinamika yang digunakan untuk menilai momentum bullish dengan menghitung jumlah absolut dari jumlah hari bullish dengan jumlah selisih harga bullish dan bullish. Strategi ini telah diperbaiki dengan menyiapkan sebuah filter parameter nilai bullish minimal dari perubahan harga, yang hanya akan terlibat dalam perhitungan CMO jika perubahan harga melebihi nilai bullish ini. Ini memfilter banyak fluktuasi kecil di pasar, membuat indikator lebih stabil dan andal.

Berdasarkan penghitungan indikator, ia mengatur TopBand on-line dan LowBand on-line, yang menghasilkan sinyal transaksi ketika indikator melebihi kedua garis tersebut. Akhirnya, reverse input parameter reverse dapat membalikkan sinyal asli dan melakukan operasi terbalik.

Analisis Keunggulan

Ini adalah strategi pelacakan tren yang sangat stabil dan dapat diandalkan, yang dapat secara efektif menyaring kebisingan pasar dan mencegah penipuan karena menggunakan teknologi penyaringan dinamis. Ada banyak ruang untuk mengoptimalkan parameter strategi, yang dapat dioptimalkan dengan menyesuaikan parameter strategi seperti Filter, TopBand, dan LowBand.

Analisis risiko

Strategi ini terutama didasarkan pada pelacakan tren, sehingga mudah menghasilkan sinyal yang salah dan kerugian dalam pasar yang terpuruk. Selain itu, optimasi parameter yang tidak tepat juga dapat menyebabkan frekuensi perdagangan yang terlalu tinggi atau sinyal yang tidak stabil. Akhirnya, penggunaan parameter perdagangan terbalik yang tidak tepat dapat menyebabkan kerugian yang tidak perlu.

Untuk mengurangi risiko ini, parameter harus dioptimalkan secara rasional, sehingga sinyal lebih stabil dan dapat diandalkan; Hindari menggunakan strategi ini saat melakukan penyesuaian pasar, pilih alat strategi yang lebih cocok; Hati-hati menggunakan fungsi perdagangan terbalik, dan hindari mengaktifkan saat optimasi parameter tidak baik.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimalkan nilai parameter Filter, dan pastikan frekuensi transaksi tidak terlalu rendah, sambil memastikan bahwa pasar tidak berisik.

  2. Mengoptimalkan rentang parameter untuk TopBand dan LowBand agar sesuai dengan amplitudo pasar yang berfluktuasi dan mencegah sinyal yang salah.

  3. Menggunakan metode seperti analisa maju berjalan untuk mengoptimalkan parameter secara dinamis, sehingga parameter strategi dapat beradaptasi dengan perubahan pasar.

  4. Tambahkan logika stop loss dan atur titik stop loss yang masuk akal untuk mengendalikan kerugian.

  5. Menghindari kesalahan perdagangan di pasar non-trending dengan menggunakan indikator lain seperti MACD, KD, dan lain-lain.

Meringkaskan

Ini adalah strategi pelacakan tren yang sangat praktis. Ini menggunakan teknologi penyaringan momentum, yang dapat secara efektif menekan kebisingan pasar, membuat sinyal lebih jelas dan dapat diandalkan. Dengan pengoptimalan parameter dan pengoptimalan logis, dapat didikte menjadi alat perdagangan kuantitatif yang stabil dan andal. Namun, tetap perlu berhati-hati untuk mencegah risiko yang ditimbulkan oleh penggunaan pasar yang tidak benar dalam penataan dan pengoptimalan parameter.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/03/2017
// This indicator plots a CMO which ignores price changes which are less 
// than a threshold value. CMO was developed by Tushar Chande. A scientist, 
// an inventor, and a respected trading system developer, Mr. Chande developed 
// the CMO to capture what he calls "pure momentum". For more definitive 
// information on the CMO and other indicators we recommend the book The New 
// Technical Trader by Tushar Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented 
// indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc. 
// It is most closely related to Welles Wilder`s RSI, yet it differs in several ways:
// - It uses data for both up days and down days in the numerator, thereby directly 
// measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term extreme 
// movements in price are not hidden. Once calculated, smoothing can be applied to the 
// CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to clearly see 
// changes in net momentum using the 0 level. The bounded scale also allows you to 
// conveniently compare values across different securities.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
    iff(xSeriesV > Filter, xSeriesSum, 0)

strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes =   100 * nSum / nAbsSum
pos = iff(nRes > TopBand, 1,
	     iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1 )
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="CMOfilt")