
Strategi respon rata-rata bergerak adalah strategi perdagangan trend yang sangat mudah. Gagasan utamanya adalah untuk melakukan lebih banyak apabila purata bergerak jangka pendek lebih rendah daripada purata bergerak jangka panjang dalam peratusan tertentu, dan untuk melakukan posisi sejajar apabila bergerak jangka panjang melintasi purata bergerak jangka pendek. Strategi ini pertama-tama mengira purata bergerak jangka pendek dan jangka panjang, dan kemudian menghasilkan isyarat perdagangan berdasarkan hubungan kedua-dua purata bergerak.
Strategi ini bergantung kepada dua purata bergerak, satu purata bergerak jangka pendek dan satu purata bergerak jangka panjang. Parameter purata bergerak jangka pendek adalah smallMAPeriod dan parameter purata bergerak jangka panjang adalah bigMAPeriod.
Apabila purata bergerak jangka pendek jatuh dari arah atas ke bawah dari purata bergerak jangka panjang dalam peratusan tertentu (ditakrifkan oleh parameter PercentBelowToBuy), menghasilkan isyarat beli, melakukan pembelian lebih banyak. Apabila purata bergerak jangka pendek kemudian naik, naik semula melalui purata bergerak jangka panjang, menghasilkan isyarat jual, kedudukan kosong.
Strategi ini menangkap peluang balas nilai rata-rata antara purata bergerak jangka pendek dan purata bergerak jangka panjang. Apabila purata bergerak jangka pendek lebih rendah daripada purata bergerak jangka panjang, ini menunjukkan bahawa aset mungkin kurang dinilai dan harus mempunyai peluang untuk kembali ke nilai rata-rata, dan lebih banyak dapat memperoleh keuntungan rebound.
Strategi balas rata-rata bergerak mempunyai beberapa kelebihan:
Strategi ini mudah Parameter pengoptimuman boleh mendapat kesan yang baik. Dengan menyesuaikan parameter purata bergerak dan parameter peratusan kelonggaran, aset pasaran yang berbeza seperti saham, forex, dan cryptocurrency boleh diuji semula untuk memilih kombinasi parameter terbaik.
Ini adalah satu-satunya cara yang boleh digunakan untuk menjimatkan wang.
Anda boleh mengurangkan risiko dengan:
Strategi respon rata-rata bergerak boleh dioptimumkan dalam beberapa aspek:
Strategi responsif rata-rata bergerak dengan membandingkan hubungan antara dua rata-rata bergerak dalam jangka pendek dan jangka panjang untuk menangkap peluang untuk kembali selepas harga jangka pendek menyimpang dari trend jangka panjang. Strategi ini sederhana, mudah difahami dan dilaksanakan, dengan pengoptimuman parameter dapat memperoleh kesan yang lebih baik. Tetapi ada juga risiko kurang isyarat perdagangan, mudah untuk melewatkan peralihan harga, dan perlu menguji dan mengoptimumkan parameter dan syarat penapisan untuk memaksimumkan keuntungan strategi.
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//
// @author Sunil Halai
//
// This very simple strategy is an implementation of PJ Sutherlands' Jaws Mean reversion algorithm. It simply buys when a small moving average period (e.g. 2) is below
// a longer moving average period (e.g. 5) by a certain percentage, and closes when the small period average crosses over the longer moving average.
//
// If you are going to use this, you may wish to apply this to a range of investment assets, as the amount signals is low. Alternatively you may wish to tweak the settings to provide more
// signals.
strategy("Jaws Mean Reversion [Strategy]", overlay = true)
//Strategy inputs
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)
//Strategy calculation
smallMA = sma(source, smallMAPeriod)
bigMA = sma(source, bigMAPeriod)
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]
if(crossunder(smallMA, buyMA))
strategy.entry("BUY", strategy.long)
if(crossover(smallMA, bigMA))
strategy.close("BUY")