Strategi pembalikan rata-rata Jaws adalah strategi perdagangan trend yang sangat mudah. Idea utamanya adalah untuk pergi lama apabila purata bergerak jangka pendek jatuh di bawah purata bergerak jangka panjang dengan peratusan tertentu, dan menutup kedudukan apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang. Strategi pertama mengira purata bergerak jangka pendek dan jangka panjang, dan kemudian menghasilkan isyarat perdagangan berdasarkan hubungan antara kedua-dua purata bergerak.
Strategi ini terutamanya bergantung pada dua purata bergerak, satu jangka pendek dan satu jangka panjang. Parameter purata bergerak jangka pendek adalah smallMAPeriod, dan parameter purata bergerak jangka panjang adalah bigMAPeriod. Strategi ini mula-mula mengira kedua-dua purata bergerak ini, dan kemudian membandingkan hubungan saiz di antara mereka.
Apabila purata bergerak jangka pendek jatuh dari atas dan memecahkan peratusan tertentu (ditentukan oleh parameter percentBelowToBuy) purata bergerak jangka panjang, isyarat beli dihasilkan untuk pergi panjang. Apabila purata bergerak jangka pendek kemudiannya meningkat dan melintasi di atas purata bergerak jangka panjang, isyarat jual dihasilkan untuk menutup kedudukan.
Strategi ini menangkap peluang pembalikan purata antara purata bergerak jangka pendek dan jangka panjang. Apabila purata bergerak jangka pendek berada di bawah purata bergerak jangka panjang ke tahap tertentu, ini bermakna aset mungkin undervalued dan harus mempunyai peluang untuk kembali ke purata, jadi pergi panjang boleh mendapatkan keuntungan rebound.
Strategi pembalikan rata-rata Jaws mempunyai kelebihan berikut:
Strategi ini dapat mencapai hasil yang baik melalui pengoptimuman parameter yang mudah. Dengan menyesuaikan parameter purata bergerak dan peratusan konsesi, pengujian belakang boleh dilakukan pada aset pasaran yang berbeza seperti saham, forex, dan cryptocurrency untuk menyaring kombinasi parameter yang optimum.
Strategi pengembalian Jaws juga mempunyai beberapa risiko:
Kaedah berikut boleh digunakan untuk mengurangkan risiko:
Jaws bermaksud strategi pembalikan boleh dioptimumkan dari aspek berikut:
Strategi pengembalian purata Jaws menangkap peluang pengembalian purata selepas harga jangka pendek menyimpang dari trend jangka panjang dengan membandingkan purata bergerak jangka pendek dan jangka panjang. Strategi ini mempunyai logika mudah difahami dan dilaksanakan. Melalui pengoptimuman parameter ia dapat mencapai hasil yang baik. Tetapi risiko seperti lebih sedikit isyarat dan pembalikan yang hilang masih wujud, yang memerlukan pengujian dan pengoptimuman parameter dan penapis untuk memaksimumkan pulangan 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")