
Strategi ini menggunakan persilangan purata bergerak dari dua tempoh yang berbeza untuk berdagang, dan merupakan strategi jenis trend. Strategi ini menggunakan isyarat beli dan isyarat jual yang berlawanan dengan purata bergerak jangka pendek dan jangka panjang untuk berdagang dalam keadaan trend.
Strategi ini menggunakan purata bergerak jangka pendek SMA 9 kitaran dan purata bergerak jangka panjang LMA 50 kitaran. Isyarat beli dihasilkan apabila purata bergerak jangka pendek melintasi purata bergerak jangka panjang dari bawah; isyarat jual dihasilkan apabila purata bergerak jangka pendek melintasi purata bergerak jangka panjang dari atas ke bawah.
Strategi ini juga memperkenalkan indikator RSI untuk menilai kekuatan trend. Isyarat perdagangan dihasilkan hanya apabila RSI lebih besar daripada had yang ditetapkan (default 55). Ini dapat mengelakkan isyarat yang salah apabila RSI berada di kawasan oversold.
Strategi: 30% daripada jumlah dana setiap transaksi, dan hanya satu pesanan dibuat setiap kali.
Anda boleh mengurangkan risiko dengan mengoptimumkan parameter, menggabungkan petunjuk lain untuk menilai peluang keuntungan, pengurusan wang yang ketat, dan menetapkan hentian kerugian.
Strategi ini menangkap peluang trend melalui sistem simpulan pergerakan rata-rata silang. Parameter lalai dioptimumkan, keuntungan stabil, sesuai untuk perdagangan automatik. Kestabilan dan keuntungan strategi dapat ditingkatkan lagi dengan memperkenalkan petunjuk tambahan, parameter pengoptimuman, dan memperbaiki stop loss.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
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/
// © relevantLeader16058
//@version=4
strategy(shorttitle='Maximized Moving Average Crossing ',title='Maximized Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//MA inputs and calculations
inlong=input(50, title='MA long period')
inshort=input(9, title='MA short period')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)
RSI_Signal = input(55, title = 'RSI Trigger', minval=1)
//Entry and Exit
bullish = crossover(MAshort, MAlong)
bearish = crossunder(MAshort, MAlong)
strategy.entry(id="long", long = true, when = bullish and RSI > RSI_Signal and window())
strategy.close(id="long", when = bearish and window())
plot(MAshort, color=color.purple, linewidth=2)
plot(MAlong, color=color.red, linewidth=2)