
Strategi ini adalah strategi mengikuti trend yang tipikal. Ia menggunakan purata bergerak dari pelbagai kitaran yang berbeza untuk menilai trend pasaran, masuk apabila trend ditubuhkan, dan keluar apabila trend berbalik dalam jangka pendek.
Strategi ini menggunakan 4 kumpulan purata bergerak: 9 hari, 21 hari, 50 hari dan 200 hari. Mereka masing-masing mewakili dimensi masa yang berbeza.
Apabila purata bergerak jangka pendek dari bawah ke atas menembusi purata bergerak jangka panjang, dianggap bahawa pasaran memasuki trend naik; apabila purata bergerak jangka pendek dari atas ke bawah menembusi purata bergerak jangka panjang, dianggap bahawa pasaran memasuki trend menurun.
Strategi merujuk pada garis 9 hari untuk menilai hubungan susunan beberapa purata bergerak lain, untuk menentukan arah trend keseluruhan. Logik khusus adalah:
Syarat kemasukan berbilang mata: harga penutupan > 9 hari dan 9 hari > 21 hari dan 21 hari > 50 hari dan 50 hari > 200 hari
Syarat kemasukan kosong: harga penutupan < 9 hari dan 9 hari < 21 hari dan 21 hari < 50 hari dan 50 hari < 200 hari
Di antaranya, hubungan harga penutupan dengan garis 9 menilai trend paling pendek, hubungan garis 9 dengan garis 21 menilai trend pendek, hubungan garis 21 dengan garis 50 menilai trend pertengahan, hubungan garis 50 dengan garis 200 menilai trend jangka panjang. Hanya apabila hubungan empat kumpulan rata-rata bergerak sesuai, maka keputusan tren berlaku, isyarat perdagangan dikeluarkan.
Syarat keluar: harga penutupan jatuh di bawah purata bergerak 21 hari, menebus semua pesanan; harga penutupan pecah di atas purata bergerak 21 hari, menebus semua pesanan kosong.
Menggunakan pelbagai kumpulan purata bergerak untuk menilai trend, ia dapat menyaring bunyi pasaran yang tidak utama dan menangkap trend garis tengah.
Syarat kemasukan adalah ketat, dan penilaian trend yang memerlukan pelbagai dimensi masa adalah berkesan untuk mengelakkan penyesuaian jangka pendek.
Penghentian kerugian tepat pada masanya dan kawalan risiko yang berkesan.
Dalam pasaran yang menyusun secara mendatar jangka panjang, mudah menghasilkan banyak isyarat palsu, yang meningkatkan risiko perdagangan. Anda boleh menyaring sebahagian bunyi dengan mengoptimumkan parameter, menyesuaikan bilangan kitaran rata-rata bergerak, dan menyaringnya.
Dalam keadaan yang melampau, purata bergerak sering berlaku dalam keadaan mati atau kuning. Apabila ini perlu digabungkan dengan faktor-faktor lain untuk menentukan trend sebenar. Anda boleh menyertai petunjuk seperti RSI, MACD dan lain-lain untuk pengesahan, untuk mengelakkan kehilangan keadaan besar.
Pengoptimuman parameter. Anda boleh menguji kombinasi parameter yang berbeza untuk mencari parameter yang paling optimum. Seperti menyesuaikan bilangan kitaran rata-rata bergerak, menambah atau menyesuaikan syarat-syarat berhenti.
Menambah penapis kualiti. Sebagai contoh, untuk menilai apakah jumlah lalu lintas meningkat semasa masuk, untuk mengelakkan lompatan yang tidak mencukupi. Atau untuk menilai apakah pergerakan meningkat, untuk mengelakkan penyusunan gegaran.
Tambah pengesahan petunjuk teknikal lain untuk mengelakkan isyarat salah dalam keadaan yang teruk. Anda boleh mempertimbangkan untuk memasukkan RSI, MACD dan lain-lain untuk penilaian pelbagai faktor.
Strategi ini secara keseluruhannya adalah strategi mengikuti trend yang tipikal dan praktikal. Ia menggunakan pelbagai kumpulan rata-rata bergerak untuk menilai trend, syarat kemasukan ketat, dapat mengunci trend panjang tengah dengan berkesan.
/*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
//==============================================================================
//==============================================================================