
Strategi pengesanan trend crossover adalah sistem perdagangan yang mudah dan cekap yang menggabungkan dua petunjuk teknikal dengan kecerdasan rata-rata bergerak (SMA) dan indeks yang agak kuat (RSI) untuk membentuk sistem penjanaan isyarat jual beli automatik. Strategi ini menggunakan harga dan titik persilangan 20 kitaran SMA sebagai syarat pemicu isyarat utama, sambil menggabungkan pengesahan pergerakan RSI untuk menyaring beberapa isyarat perdagangan berkualiti rendah.
Prinsip teras strategi ini adalah untuk menangkap titik-titik perubahan trend melalui persimpangan harga dengan garis rata-rata, sambil menggunakan RSI untuk pengesahan isyarat, seperti berikut:
Syarat membeli: Apabila harga melangkaui SMA 20 pusingan ke atas dan nilai RSI lebih besar daripada 60, sistem menghasilkan isyarat beli. Keadaan ini menggabungkan dua dimensi trend dan momentum: harga menembusi garis purata menunjukkan kemungkinan pembentukan trend menaik, manakala nilai RSI di atas 60 mengesahkan adanya tenaga kenaikan.
Syarat jualan: Apabila harga turun melalui 20 kitaran SMA dan nilai RSI kurang daripada 40, sistem menghasilkan isyarat menjual. Begitu juga, syarat ini mengenal pasti kemungkinan pembalikan trend dan mengesahkan tenaga penurunan dengan nilai RSI di bawah 40.
Penjejakan prestasiStrategi ini mempunyai sistem pemantauan prestasi dagangan yang dikhaskan untuk mengesan:
VisualisasiStrategi: Tandakan titik jual beli dengan “B” (Buy) dan “S” (Sell) pada carta, dan paparkan statistik prestasi dalam masa nyata melalui jadual.
ringkas dan berkesanMembina sistem perdagangan yang lengkap dengan hanya menggunakan dua penunjuk teknikal yang biasa digunakan (SMA dan RSI), mengurangkan risiko terlalu optimum dan terlalu sesuai.
Mekanisme pengesahan dua kaliGabungan indikator trend ((SMA) dan indikator momentum ((RSI), meningkatkan kebolehpercayaan isyarat. Harga mesti bukan sahaja menembusi garis purata, tetapi juga memerlukan tenaga yang cukup untuk mencetuskan perdagangan.
Automasi yang tinggiStrategi: menghasilkan isyarat beli dan jual secara automatik, mengurangkan gangguan emosi manusia, sesuai untuk digunakan oleh peniaga sistematik.
Penilaian prestasi terbina dalamPengesanan dalam masa nyata terhadap prestasi utama, membolehkan peniaga menilai prestasi strategi secara objektif, menyesuaikan parameter tepat pada masanya atau keluar dari strategi yang tidak berprestasi.
Kesedaran Kawalan RisikoMeningkatkan kesedaran pengurusan risiko dengan memantau tingkah laku harga dalam tempoh 7 kitaran selepas pembelian.
Visualisasi Intuitif: Dengan menggunakan tanda grafik dan jadual prestasi, peniaga dapat memahami pelaksanaan strategi secara langsung, memudahkan analisis dan penambahbaikan strategi.
Risiko penembusan palsuWalaupun menggunakan penapis RSI, strategi ini masih boleh menghasilkan banyak isyarat pecah palsu dalam pasaran yang disusun, yang menyebabkan perdagangan yang kerap dan kos perdagangan yang tidak perlu.
Kepekaan ParameterPrestasi strategi sangat bergantung kepada pilihan kitaran SMA ((20) dan kitaran RSI ((8) dan hadnya ((60⁄40)). Dalam keadaan pasaran atau varieti yang berbeza, parameter tetap ini mungkin tidak berfungsi dengan baik.
Kekurangan adaptasiStrategi ini tidak mempunyai keupayaan untuk mengenal pasti keadaan pasaran, berfungsi dengan baik dalam pasaran yang sedang tren, tetapi mungkin sering rugi dalam pasaran yang bergolak.
Mekanisme Hentikan Kerosakan SederhanaWalaupun strategi ini menjejaki kegagalan, ia tidak mempunyai fungsi stop loss yang dinamik, yang boleh menyebabkan kerugian yang berlebihan dalam keadaan yang teruk.
Kekurangan pengurusan kedudukanStrategi menggunakan kedudukan tetap masuk dan keluar, tidak menyesuaikan saiz kedudukan mengikut turun naik pasaran atau kekuatan isyarat, tidak dapat mengoptimumkan penggunaan dana.
Batasan penilaian prestasiKejayaan ditakrifkan sebagai kenaikan harga sebanyak 2%, yang mungkin tidak berlaku untuk semua keadaan pasaran, dan varieti yang bergelombang tinggi mungkin memerlukan nilai yang lebih tinggi.
Bergabung dengan penapis persekitaran pasaranMemperkenalkan indikator kadar turun naik (seperti ATR) atau indikator kekuatan trend (seperti ADX) untuk membantu mengenal pasti keadaan pasaran, mengurangkan frekuensi perdagangan atau menyesuaikan parameter dalam pasaran yang bergolak.
Mekanisme penyesuaian parameter: Menerapkan penyesuaian dinamik parameter SMA dan RSI, mengoptimumkan kitaran dan penurunan secara automatik mengikut prestasi pasaran baru-baru ini, meningkatkan fleksibiliti strategi.
Optimumkan pengurusan kedudukanSistem pengagihan kedudukan dinamik yang dirancang berdasarkan kekuatan isyarat (seperti RSI deviasi), turun naik pasaran atau risiko akaun untuk mengawal risiko perdagangan tunggal.
Peningkatan kawalan kerugian: Mempunyai fungsi stop loss dinamik atau tracking stop loss berasaskan ATR untuk mengawal risiko setiap transaksi dengan lebih tepat.
Tambah waktu penapisanBerfikir tentang faktor masa pasaran, mengelakkan dagangan pada masa yang tidak stabil atau turun naik, dan meningkatkan kualiti isyarat.
Pengesahan pelbagai kitaranAnalisis jangka masa yang lebih besar: Analisis jangka masa yang lebih besar memerlukan arah trend yang sama dengan arah perdagangan, menapis isyarat perdagangan yang berlawanan dengan trend besar.
Penilaian Prestasi OptimasiPeningkatan definisi kejayaan/kegagalan, dengan pertimbangan untuk menggunakan penunjuk penilaian yang lebih komprehensif seperti keuntungan atau keuntungan/rasio risiko yang disesuaikan dengan risiko.
Strategi pemantauan trend cross-dynamic adalah sistem perdagangan yang ringkas dan praktikal, dengan menggabungkan indikator SMA dan RSI, melakukan pengesahan momentum sambil mengenal pasti titik perubahan trend, dengan berkesan menyaring beberapa isyarat berkualiti rendah. Strategi ini sangat sesuai untuk pelabur yang baru memasuki perdagangan kuantitatif, kerana ia memberikan isyarat perdagangan yang jelas dan mempunyai fungsi pemantauan prestasi yang terbina dalam untuk membantu pedagang menilai prestasi strategi secara objektif.
Walaupun strategi ini agak mudah direka bentuk, ia mencerminkan prinsip-prinsip penting dalam perdagangan kuantitatif: trend pelacakan, pengesahan isyarat dan pemantauan prestasi. Dengan mencadangkan arah pengoptimuman, seperti penapisan keadaan pasaran, penyesuaian parameter, dan penghadaman kerugian yang lebih baik, peniaga dapat meningkatkan kestabilan dan penyesuaian strategi dengan ketara, sambil mengekalkan logik teras strategi.
Strategi mudah ini yang menggabungkan petunjuk teknikal klasik seringkali lebih dipercayai dan berdaya maju daripada algoritma yang rumit, terutamanya apabila mereka mempunyai mekanisme pengurusan risiko dan penilaian prestasi yang terbina dalam. Ini adalah titik permulaan yang ideal bagi peniaga yang mencari strategi kuantitatif peringkat permulaan, yang menyediakan pengalaman dalam talian dan meletakkan asas untuk pembangunan strategi seterusnya.
/*backtest
start: 2024-07-05 00:00:00
end: 2025-02-23 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("STOCKS TO BUY", overlay=true, fill_orders_on_standard_ohlc=true)
// Define 20-period SMA
sma20 = ta.sma(close, 20)
// RSI Calculation (8-period)
rsiValue = ta.rsi(close, 8)
// Buy Condition: Close crosses above 20-SMA and RSI > 60
buyCondition = ta.crossover(close, sma20) and rsiValue > 60
// Sell Condition: Close crosses below 20-SMA and RSI < 40
sellCondition = ta.crossunder(close, sma20) and rsiValue < 40
// Tracking Performance Metrics
var int totalSignals = 0 // Total number of 'B' signals
var int successCount = 0 // Times price rose >2% from 'B' candle close
var int failureCount = 0 // Times price fell below 'B' candle low within 7 bars
// Store entry price and low when signal occurs
var float entryPrice = na
var float entryLow = na
var int barCounter = na // Bar counter for tracking 7-candle window
if buyCondition
strategy.entry("Buy", strategy.long)
totalSignals := totalSignals + 1 // Increment 'B' count
entryPrice := close
entryLow := low
barCounter := 0 // Reset counter when new 'B' signal appears
if sellCondition
strategy.close("Buy") // Close the buy position on sell signal
// Monitor for 7 candles only
if not na(barCounter)
barCounter := barCounter + 1
// Check for Success (Price rises >2%)
success = high >= entryPrice * 1.02
if success
successCount := successCount + 1
entryPrice := na // Reset entry price after success
// Check for Failure (Price falls below entryLow within 7 candles)
failure = low < entryLow and barCounter <= 7
if failure
failureCount := failureCount + 1
entryLow := na // Reset entry low after failure
// Stop tracking after 7 candles
if barCounter > 7
barCounter := na
// Plot 'B' on chart when buy condition is met
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="B")
// Plot 'S' on chart when sell condition is met
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="S")
// Display Performance Metrics Table
var table performanceTable = table.new(position=position.top_right, columns=2, rows=4, bgcolor=color.gray, border_width=1)
if bar_index % 10 == 0 // Update table every 10 bars for efficiency
table.cell(performanceTable, 0, 0, "Metric", text_color=color.white, bgcolor=color.blue)
table.cell(performanceTable, 1, 0, "Value", text_color=color.white, bgcolor=color.blue)
table.cell(performanceTable, 0, 1, "Total 'B' Signals", text_color=color.white)
table.cell(performanceTable, 1, 1, str.tostring(totalSignals), text_color=color.white)
table.cell(performanceTable, 0, 2, "Price Rose >2%", text_color=color.white)
table.cell(performanceTable, 1, 2, str.tostring(successCount), text_color=color.green)
table.cell(performanceTable, 0, 3, "Price Fell Below 'B' Low (7 bars)", text_color=color.white)
table.cell(performanceTable, 1, 3, str.tostring(failureCount), text_color=color.red)