Strategi ini menggunakan beberapa set moving average dengan periode yang berbeda untuk menentukan tren pasar. Ini memasuki pasar ketika tren ditetapkan dan keluar ketika tren jangka pendek berbalik.
Strategi ini menggunakan 4 kelompok rata-rata bergerak: garis 9 hari, 21 hari, 50 hari dan 200 hari.
Ketika rata-rata bergerak jangka pendek melintasi rata-rata bergerak jangka panjang ke atas, ditentukan bahwa pasar memasuki tren naik.
Strategi ini menggunakan MA 9 hari sebagai referensi untuk mengamati keselarasan MA lainnya, sehingga menilai arah tren secara keseluruhan.
Kondisi masuk panjang: Tutup > MA 9 hari dan MA 9 hari > MA 21 hari dan MA 21 hari > MA 50 hari dan MA 50 hari > MA 200 hari.
Kondisi masuk pendek: MA dekat < 9 hari dan MA 9 hari < 21 hari MA dan MA 21 hari < 50 hari MA dan MA 50 hari < 200 hari MA.
Di sini hubungan antara harga dekat dan MA 9 hari menentukan tren jangka pendek, sementara antara MA 9 hari dan 21 hari menilai tren jangka pendek, tren jangka menengah 21 hari dan 50 hari, tren jangka panjang 50 hari dan 200 hari.
Kondisi keluar: menutup harga melintasi di bawah MA 21 hari, meratakan semua posisi panjang; melintasi di atas MA 21 hari, meratakan semua posisi pendek.
Mengadopsi beberapa MAs untuk menentukan tren dapat menyaring kebisingan pasar dari gerakan non-mainstream dan menangkap tren jangka menengah hingga panjang.
Kondisi masuk yang ketat mengharuskan penilaian yang valid dalam jangka waktu yang berbeda, menghindari terjebak oleh koreksi jangka pendek.
Stop loss yang tepat waktu membantu mengontrol risiko secara efektif.
Di pasar jangka panjang, sinyal palsu yang berlebihan dapat terjadi dan meningkatkan risiko perdagangan. Hal ini dapat dihindari dengan mengoptimalkan parameter dan menyesuaikan periode MA untuk menyaring beberapa kebisingan.
Selama tren yang keras, persilangan MA sering terjadi. Faktor lain diperlukan kemudian untuk menentukan tren nyata, misalnya menggabungkan indikator seperti RSI dan MACD untuk konfirmasi, jika pergerakan yang kuat dilewatkan.
Optimasi parameter. Uji kombinasi parameter yang berbeda untuk mengetahui yang optimal. Seperti menyesuaikan periode MA, menambahkan atau memodifikasi kriteria stop loss dll.
Meningkatkan kualitas filter. Misalnya, periksa apakah volume melonjak saat masuk untuk menghindari momentum yang tidak cukup, atau memeriksa volatilitas untuk menghindari osilasi.
Memperkenalkan konfirmasi dari indikator yang lebih teknis untuk menghindari sinyal yang salah di tengah pergerakan pasar yang sengit.
Secara keseluruhan ini adalah strategi trend following yang tipikal dan praktis. Ini mengadopsi beberapa MAs untuk menentukan tren, memiliki aturan masuk yang ketat untuk mengunci tren jangka menengah hingga panjang. Bersama dengan stop loss yang tepat waktu, ini membantu mengendalikan risiko. Peningkatan lebih lanjut pada stabilitas dan profitabilitas dapat dicapai melalui cara-cara seperti optimasi parameter dan menambahkan indikator konfirmasi. Ini cocok untuk investor yang lebih suka mengikuti tren untuk perdagangan jangka panjang.
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © shayak1 //@version=5 strategy('Super SR', overlay=true) r = input.int(14,"rsi-length",1,100) rsi = ta.rsi(close,r) len1 = 9 len2 = 21 len3 = 50 len4 = 200 ema1 = ta.ema(close, len1) ema2 = ta.ema(close, len2) ema3 = ta.ema(close, len3) ema4 = ta.ema(close, len4) plot(ema1,color= color.green) plot(ema2,color= color.yellow) plot(ema3,color= color.orange) plot(ema4,color= color.red) // *** entries Long1 = close > ema1 Long2 = ema1 > ema2 Long3 = ema2 > ema3 Long4 = ema3 > ema4 buy_condition = Long1 and Long2 and Long3 and Long4 and strategy.position_size == 0 if (buy_condition and strategy.position_size <= 1) strategy.entry("B", strategy.long) Short1 = close < ema1 Short2 = ema1< ema2 Short3 = ema2< ema3 Short4 = ema3< ema4 sell_condition = Short1 and Short2 and Short3 and Short4 and strategy.position_size == 0 //if (sell_condition) // strategy.entry("S", strategy.short) // trailing SL //Long_sl = min(strategy.position_avg_price * 0.95, strategy.pos //EXIT CONDITIONS exit_long = ta.crossunder(close, ema2) exit_short = ta.crossover(close, ema2) if(exit_long) strategy.close("B", "LE", qty_percent=100) if(exit_short) strategy.close("S", "SE", qty_percent=100) //============================================================================== //INSERT SECTION //This section is where users will be required to insert the indicators they //would like to use for their NNFX Strategy. //============================================================================== //INSERT - CONFIRMATION INDICATOR 1 //============================================================================== //============================================================================== //INSERT - CONFIRMATION INDICATOR 2 //============================================================================== //============================================================================== //INSERT - VOLUME INDICATOR //============================================================================== //============================================================================== //INSERT - BASELINE INDICATOR //============================================================================== //============================================================================== //INSERT - EXIT INDICATOR //============================================================================== //============================================================================== //INSERT - CONTINUATION TRADES INDICATOR //============================================================================== //============================================================================== //COMPLETED SECTION //This section has been optimised to work with the above indicators the user //has inserted above. The user does not require to change any code below and //is completed and optimised for the full NNFX strategy. Users may wish to //customise this section of code if they wish to alter the NNFX strategy. //============================================================================== //COMPLETE - BACKTEST DATE RANGE //============================================================================== // start_day = input.int(1,"start day",1,31) // start_month = input.int(1,"start month",1,12) // start_year = input.int(1,"start year",2010,2023) //============================================================================== //COMPLETE - CURRENCY CONVERSION //============================================================================== //============================================================================== //COMPLETE - ATR MONEY MANAGEMENT //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - C1 //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - C2 //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Vol //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Bl //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Exit //============================================================================== //============================================================================== //COMPLETE - CONTINUATION TRADES //============================================================================== //============================================================================== //COMPLETE - ONE CANDLE RULE //============================================================================== //============================================================================== //COMPLETE - BRIDGE TOO FAR //============================================================================== //============================================================================== //COMPLETE - BASELINE AND ATR RULE //============================================================================== //============================================================================== //COMPLETE - ENTRY CONDITIONS //============================================================================== //============================================================================== //COMPLETE - ENTRY ORDERS //============================================================================== //============================================================================== //COMPLETE - TAKE PROFIT AND STOP LOSS CONDITIONS //============================================================================== //============================================================================== //COMPLETE - EXIT ORDERS //============================================================================== //============================================================================== //COMPLETE - CLOSE ORDERS //============================================================================== //==============================================================================