Ini adalah strategi dagangan intraday yang mudah berdasarkan purata bergerak berganda. Ia menggunakan dua purata bergerak mudah dengan tempoh yang berbeza dan mengambil kedudukan panjang atau pendek apabila purata bergerak bersilang. Posisi terbalik menggunakan kuantiti ganda apabila isyarat berubah. Semua kedudukan terbuka di kuadratkan apabila sesi intraday berakhir.
Strategi ini menggunakan purata bergerak mudah 10 hari dan 40 hari. Ia pergi lama apabila purata bergerak jangka pendek melintasi di atas satu tempoh panjang dan pergi pendek apabila persilangan terbalik berlaku. Apabila isyarat berubah, kedudukan ditutup menggunakan kuantiti berganda dan kedudukan terbalik dimulakan. Dagangan hanya berlaku mengikuti isyarat purata bergerak semasa sesi intraday yang ditentukan.
Strategi ini terutamanya menggunakan keupayaan penangkapan perubahan harga yang lebih cepat dari purata bergerak tempoh yang lebih pendek. Apabila SMA pendek melintasi di atas SMA panjang, ia menunjukkan trend kenaikan harga dalam jangka pendek oleh itu pergi panjang dapat menangkap ini. Kebalikan menunjukkan trend penurunan jangka pendek. Masukan invers kuantiti berganda memperluaskan potensi keuntungan.
Pengurangan Risiko:
Mengoptimumkan parameter MA dengan menguji lebih banyak kombinasi untuk kesesuaian terbaik.
Tambah penapis seperti pengesahan MACD untuk mengurangkan isyarat palsu.
Mengoptimumkan pengganda kuantiti masuk terbalik melalui penyesuaian parameter.
Uji jangka masa sesi intraday untuk pulangan yang lebih baik.
Strategi ini menangkap trend jangka pendek yang terbentuk dari isyarat silang MA, memperluaskan keuntungan menggunakan perdagangan terbalik kuantiti berganda dan mengehadkan risiko semalaman dengan hanya berdagang dalam sesi intraday. Pengoptimuman lebih lanjut pada parameter dan menambah penapis dapat meningkatkan prestasi strategi. Secara keseluruhan, ia adalah strategi yang berkesan yang sesuai untuk perdagangan intraday.
/*backtest start: 2024-02-19 00:00:00 end: 2024-02-26 00:00:00 period: 1m basePeriod: 1m 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/ // © Pritesh-StocksDeveloper //@version=4 strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", overlay=true, calc_on_every_tick = true) // Used for intraday handling // Session value should be from market start to the time you want to square-off // your intraday strategy var i_marketSession = input(title="Market session", type=input.session, defval="0915-1455", confirm=true) // Short & Long moving avg. period var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, defval = 10, minval = 2, maxval = 20, confirm=true) var int i_longPeriod = input(title = "Long MA Period", type = input.integer, defval = 40, minval = 3, maxval = 120, confirm=true) // A function to check whether the bar is in intraday session barInSession(sess) => time(timeframe.period, sess) != 0 // Calculate moving averages shortAvg = sma(close, i_shortPeriod) longAvg = sma(close, i_longPeriod) // Plot moving averages plot(series = shortAvg, color = color.red, title = "Short MA", linewidth = 2) plot(series = longAvg, color = color.blue, title = "Long MA", linewidth = 2) // Long/short condition longCondition = crossover(shortAvg, longAvg) shortCondition = crossunder(shortAvg, longAvg) // See if intraday session is active bool intradaySession = barInSession(i_marketSession) // Trade only if intraday session is active // Long position strategy.entry(id = "Long", long = strategy.long, when = longCondition and intradaySession) // Short position strategy.entry(id = "Short", long = strategy.short, when = shortCondition and intradaySession) // Square-off position (when session is over and position is open) squareOff = (not intradaySession) and (strategy.position_size != 0) strategy.close_all(when = squareOff, comment = "Square-off")