Ini adalah strategi perdagangan intraday sederhana yang didasarkan pada rata-rata bergerak ganda. Ini menggunakan dua rata-rata bergerak sederhana dengan periode yang berbeda dan mengambil posisi panjang atau pendek ketika rata-rata bergerak bersilang. Posisi terbalik menggunakan kuantitas ganda ketika sinyal berubah. Semua posisi terbuka di kuadratkan ketika sesi intraday berakhir.
Strategi ini menggunakan rata-rata bergerak sederhana 10 hari dan 40 hari. Perdagangan hanya terjadi setelah sinyal rata-rata bergerak selama sesi intraday yang ditentukan. Posisi terbuka yang tersisa di kuadratkan ketika sesi berakhir.
Strategi ini terutama memanfaatkan kemampuan penangkapan perubahan harga yang lebih cepat dari rata-rata bergerak periode yang lebih pendek. Ketika SMA pendek melintasi di atas SMA panjang, itu menunjukkan tren kenaikan harga dalam jangka pendek sehingga pergi panjang dapat menangkap ini. Kebalikan menunjukkan tren penurunan jangka pendek. Masukannya yang terbalik dua kali lipat memperluas potensi keuntungan.
Pengurangan Risiko:
Mengoptimalkan parameter MA dengan menguji lebih banyak kombinasi untuk yang terbaik.
Tambahkan filter seperti konfirmasi MACD untuk mengurangi sinyal palsu.
Mengoptimalkan pengganda kuantitas entri terbalik melalui pengaturan parameter.
Uji memperpanjang durasi sesi intraday untuk hasil yang lebih baik.
Strategi ini menangkap tren jangka pendek yang terbentuk dari sinyal crossover MA, memperluas keuntungan dengan menggunakan perdagangan terbalik kuantitas ganda dan membatasi risiko overnight dengan hanya berdagang dalam sesi intraday. Optimasi lebih lanjut pada parameter dan menambahkan filter dapat meningkatkan kinerja strategi. Secara keseluruhan, ini adalah strategi yang efektif yang cocok 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")