Strategi ini bertujuan untuk mengesan ekstrem Oscillator Momentum Chande menggunakan pengesanan pengedaran ekstrem pada jangka masa 1 minit terutamanya untuk Bitcoin dan cryptocurrency.
Selepas penyelidikan yang meluas mengenai oscillator momentum Chande, saya memutuskan untuk membuat strategi yang menggunakan paras persentil pengedaran normal untuk memotong entri. Ini seterusnya dapat menghasilkan keuntungan yang bagus selama beberapa hari berturut-turut pada jangka masa 1 minit, dengan matlamat akhir adalah untuk mendapatkan versi strategi ini yang lebih kuat yang berjalan di bot dan mencetak beberapa wang. Strategi itu ditakrifkan dengan ketat tetapi juga boleh dilepaskan untuk membuat lebih banyak perdagangan, memberikan saiz sampel yang lebih tinggi dan nisbah Sharpe yang lebih baik.
Strategi ini memeriksa sama ada nilai Chande berada dalam persentil yang melampau berdasarkan beberapa ratus nilai Chande terakhir - jika ia akan membuka kedudukan.
Tiada stop loss atau mengambil keuntungan dilaksanakan dalam ayunan lagi, tetapi ini akan menjadi penambahan seterusnya untuk benar-benar meminimumkan kerugian dan memperkuat keuntungan yang berpotensi.
Mana-mana pasangan kripto cair pada jangka masa yang lebih rendah akan mendapat hasil yang baik dengan strategi ini.
Kami juga mempunyai 15M percuma dan 1H strategi yang tersedia.
Strategi ini mula-mula mengira Chande Momentum Oscillator, yang berdasarkan perubahan antara penutupan tempoh semasa dan penutupan tempoh sebelumnya. Secara khusus, ia mengukur momentum perubahan harga dengan mengira nisbah jumlah perubahan kenaikan terhadap jumlah perubahan penurunan.
Ia kemudian merekodkan nilai Chande dalam tempoh belakang tertentu (default 425 tempoh) dan mengira tahap persentil yang berbeza. Apabila nilai Chande semasa mencapai persentil ekstrim yang telah ditetapkan (default 1% untuk membeli, 99% untuk menjual), ia mencetuskan isyarat masuk panjang / pendek. Isyarat keluar dicetuskan apabila nilai Chande mencapai tahap persentil normal (default 97.5% dan 2.5%).
Dengan cara ini, strategi ini dapat menangkap pecah melampau nilai Chande, yang membolehkannya menangkap pergerakan trend tiba-tiba. Ia juga mengelakkan risiko entri berulang apabila nilai Chande kekal pada tahap melampau untuk tempoh yang lama.
Pengurusan risiko harus memberi tumpuan kepada penggunaan hentian, menormalkan parameter melampau, dan menapis isyarat dengan trend.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Tambah stop loss / mengambil keuntungan untuk mengawal kerugian setiap perdagangan pada tahap yang munasabah.
Mengoptimumkan parameter dengan menyesuaikan pandangan belakang pendek / panjang untuk pasaran yang berbeza.
Tambah keadaan penapis dengan penunjuk trend seperti MA untuk menghilangkan isyarat palsu terhadap trend keseluruhan.
Menggabungkan pelbagai jangka masa, menggunakan TF yang lebih tinggi untuk mengukur arah trend dan TF yang lebih rendah untuk masuk.
Uji ketahanan parameter di pelbagai produk, sesuaikan untuk lebih banyak jenis.
Memperkenalkan pembelajaran mesin untuk mengoptimumkan parameter dan penapis secara dinamik.
Secara keseluruhan, ini adalah strategi yang menggunakan nilai melampau pengayun momentum Chande untuk menangkap pergerakan trend. Logiknya yang mudah dan pelaksanaan yang cekap menjadikannya sangat sesuai untuk memanfaatkan dengan cepat trend ledakan. Pada masa yang sama, mengawal risiko, mengelakkan pengoptimuman berlebihan, dan pengoptimuman berdimensi diperlukan untuk menyesuaikan diri di seluruh rejimen pasaran. Ringkasnya, ia menyediakan pendekatan yang berkesan untuk ledakan pasaran perdagangan yang bernilai penyelidikan dan penerapan lanjut.
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Chande Minute Swinger", overlay=true) //Chande length = input(9, minval=1) src = close 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) //Parameters to change lengthLookback = 425 //425 golden number buyPercentile = 1 sellPercentile = 99 linePercentileLow = 2.5 linePercentileHigh = 97.5 buy = percentile_nearest_rank(chandeMO, lengthLookback, buyPercentile) exitBuy= percentile_nearest_rank(chandeMO, lengthLookback, linePercentileHigh) sell = percentile_nearest_rank(chandeMO, lengthLookback, sellPercentile) exitSell = percentile_nearest_rank(chandeMO, lengthLookback, linePercentileLow) chandeMA = sma(chandeMO, 9) //sma for potential other strategies implementing cross / trend //Entry conditions closeLongCondition = chandeMO > exitBuy ? true : false closeShortCondition = chandeMO < exitSell ? true : false longCondition = chandeMO < buy shortCondition = chandeMO > sell if (longCondition) strategy.entry("long", strategy.long) if (shortCondition) strategy.entry("short", strategy.short) //Introducing the closes and a stoploss will minimise loss and bring up the sharpe ratio //Current settings are enabled for maximum potential but big risk //strategy.close("long", when=(closeLongCondition == true)) //strategy.close("short", when=(closeShortCondition == true))