
Strategi perdagangan selisih harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga
Penunjuk utama strategi ini adalah shortTermXtrender dan longTermXtrender. ShortTermXtrender mengira perbezaan harga RSI pada garis masa pendek, dan longTermXtrender mengira perbezaan harga RSI pada garis masa panjang.
Jadual masa pendek menggunakan 7 hari EMA dan 4 hari LMA untuk mengira perbezaan harga RSI, kemudian dengan 50 untuk membuat perbezaan harga, membentuk ShortTermXtrender. Jadual masa panjang menggunakan 4 hari EMA untuk RSI dan 50 untuk membuat perbezaan harga, membentuk LongTermXtrender.
Apabila memakai 0 pada shortTermXtrender, lakukan lebih banyak; apabila memakai 0 pada longTermXtrender, lakukan lebih banyak. Prinsip berhenti rugi selepas melakukan lebih banyak adalah berhenti rugi apabila memakai 0 di bawah shortTermXtrender; apabila memakai 0 di bawah longTermXtrender, juga berhenti rugi.
Dengan cara ini, kita boleh menyaring lebih banyak penemuan palsu melalui penilaian dua hala waktu.
Kelebihan utama strategi ini adalah keakuratannya dalam menilai trend. Penggunaan dua garis masa dapat menyaring kebisingan dengan berkesan dan mengunci arah trend sasaran. Ini menjamin perdagangan trend yang berisiko rendah.
Selain itu, strategi menyediakan ruang untuk mengoptimumkan parameter. Pengguna boleh menyesuaikan kitaran SMA, parameter RSI, dan lain-lain untuk mengoptimumkan kesan strategi mengikut pelbagai jenis dan tempoh masa.
Risiko utama strategi ini adalah kesalahan pertimbangan yang berlebihan. Dalam keadaan yang bergolak, mudah menghasilkan isyarat yang salah. Apabila anda masih membuka kedudukan, anda akan menghadapi risiko kerugian.
Di samping itu, parameter yang tidak betul juga boleh menyebabkan kesan yang kurang baik. Jika parameter jangka masa terlalu pendek, kemungkinan kesalahan akan meningkat; Jika parameter jangka masa terlalu lama, peluang tren akan hilang. Ini memerlukan pengguna untuk menguji dan mengoptimumkan parameter untuk pasaran yang berbeza.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Menambah mekanisme hentian. Tidak ada hentian yang ditetapkan dalam strategi semasa, dan hentian boleh dilakukan tepat pada masanya apabila keuntungan sasaran dicapai.
Menambah pengurusan kedudukan. Anda boleh menyesuaikan kedudukan secara dinamik mengikut ukuran dana, kadar turun naik dan lain-lain.
Uji seting parameter yang berbeza. Pengguna boleh menguji kombinasi parameter yang optimum dengan mengkaji kembali dari tempoh masa yang berbeza seperti cahaya matahari, 60 minit dan sebagainya.
Menambah penilaian yang dibantu oleh pembelajaran mesin. Model boleh dilatih untuk menilai jenis situasi, yang secara dinamik menyesuaikan parameter strategi dan meningkatkan kadar kemenangan.
Strategi perdagangan harga selisih harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga harga strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi strategi
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//study("MavXtrender")
strategy("MavXtrender")
ShortTermSMA = input(7)
ShortTermLMA = input(4)
ShortTermRSI = input(2)
LongTermMA = input(4)
LongTermRSI = input(2)
UseFactors = input(true)
TradeShortTerm = input(true)
TradeLongTerm = input(true)
count = TradeShortTerm == true ? 1 : 0
count := TradeLongTerm == true ? count + 1 : count
// set position size
Amount = strategy.equity / (close * count)
ShortTermLMA := UseFactors == true ? round(ShortTermSMA * ShortTermLMA) : ShortTermLMA
ShortTermRSI := UseFactors == true ? round(ShortTermSMA * ShortTermRSI) : ShortTermRSI
LongTermMA := UseFactors == true ? round(ShortTermSMA * LongTermMA) : LongTermMA
LongTermRSI := UseFactors == true ? round(ShortTermSMA * LongTermRSI) : LongTermRSI
shortTermXtrender = rsi(ema(close, ShortTermSMA) - ema(close, ShortTermLMA), ShortTermRSI ) - 50
longTermXtrender = rsi( ema(close, LongTermMA), LongTermRSI ) - 50
// === INPUT BACKTEST RANGE ===
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear = input(defval = 2018, title = "From Year", minval = 2012)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear = input(defval = 2020, title = "To Year", minval = 2012)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true
strategy.entry("ShortTerm", strategy.long, qty = Amount, when = window() and crossover(shortTermXtrender,0) and TradeShortTerm)
strategy.entry("LongTerm", strategy.long, qty = Amount, when = window() and crossover(longTermXtrender,0) and TradeLongTerm)
strategy.close("ShortTerm", when = crossunder(shortTermXtrender,0) or time > finish)
strategy.close("LongTerm", when = crossunder(longTermXtrender,0) or time > finish)
shortXtrenderCol = shortTermXtrender > 0 ? shortTermXtrender > shortTermXtrender[1] ? color.lime : #228B22 : shortTermXtrender > shortTermXtrender[1] ? color.red : #8B0000
plot(shortTermXtrender, color=shortXtrenderCol, style=plot.style_columns, linewidth=1, title="B-Xtrender Osc. - Histogram", transp = 50)
longXtrenderCol = longTermXtrender> 0 ? longTermXtrender > longTermXtrender[1] ? color.lime : #228B22 : longTermXtrender > longTermXtrender[1] ? color.red : #8B0000
plot(longTermXtrender , color=longXtrenderCol, style=plot.style_histogram, linewidth=2, title="B-Xtrender Trend - Histogram", transp = 80)
plot(longTermXtrender , color=color.white, style=plot.style_line, linewidth=1, title="B-Xtrender Trend - Line", transp = 80)