Strategi persilangan emas adalah petunjuk pasaran yang mudah yang dapat membantu pelabur jangka panjang menentukan masa masuk. Strategi ini menghasilkan isyarat perdagangan berdasarkan persilangan purata bergerak jangka pendek dan jangka panjang. Apabila pasaran memasuki pasaran lembu, persilangan emas terbentuk apabila pasaran memasuki pasaran bergerak jangka panjang, dan lebih banyak boleh dilakukan. Apabila pasaran memasuki pasaran bergerak jangka panjang di bawah rata-rata bergerak jangka pendek, persilangan mati terbentuk, dan pasaran memasuki pasaran beruang, dan harus ditutup.
Strategi ini menggunakan fungsi sma untuk mengira purata bergerak sederhana jangka pendek dan jangka panjang. Panjang purata bergerak jangka pendek ditetapkan untuk 50 hari dan panjang purata bergerak jangka panjang ditetapkan untuk 200 hari.
Apabila garis jangka pendek melintasi garis jangka panjang, menunjukkan bahawa trend pasaran berubah dari turun ke atas, menghasilkan persilangan emas, ini adalah isyarat untuk melakukan lebih banyak. Strategi akan membuka lebih banyak kedudukan melalui fungsi strategy.entry. Apabila garis jangka pendek melintasi garis jangka panjang, menunjukkan bahawa trend pasaran berubah dari naik ke bawah, membentuk persilangan mati, ini adalah isyarat untuk kedudukan yang rata. Strategi akan meratakan semua kedudukan melalui fungsi strategy.close_all.
Dengan menangkap titik peralihan trend pasaran di persimpangan emas / kematian untuk menentukan masa masuk dan masa kedudukan, anda dapat menapis bunyi pasaran dengan berkesan, strategi pemantauan trend yang mudah dan praktikal.
Anda boleh menetapkan hentian untuk mengawal risiko, mengoptimumkan parameter purata bergerak untuk mengurangkan isyarat palsu, menggabungkan dengan petunjuk lain untuk mengesahkan kebolehpercayaan isyarat, dan membangunkan mekanisme pemprosesan kejadian kecemasan untuk menangani berita penting.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter purata bergerak, menyesuaikan panjang garis purata jangka pendek dan jangka panjang, agar lebih sesuai dengan ciri-ciri pasaran yang berbeza;
Keputusan syarat untuk meningkatkan jumlah urus niaga, hanya menghasilkan isyarat jika jumlah urus niaga meningkat;
Menggabungkan indikator lain, seperti MACD, RSI dan lain-lain untuk mengesahkan isyarat silang emas / kematian, untuk mengelakkan isyarat palsu;
Menambah strategi penangguhan kerugian, seperti penangguhan yang dikesan, penangguhan peratusan, dan lain-lain untuk mengawal kerugian tunggal;
Meningkatkan strategi pengurusan kedudukan, seperti kedudukan tetap, kedudukan indeks, dan lain-lain, untuk mengawal risiko keseluruhan;
Mengoptimumkan masa kemasukan, mengamati seketika selepas persilangan berlaku, menapis persilangan palsu.
Dengan pengoptimuman di atas, parameter strategi dapat disesuaikan dengan ciri statistik pasaran, menyaring isyarat palsu, mengawal risiko, dan meningkatkan lagi kestabilan dan keuntungan strategi sambil tetap sederhana.
Strategi Gold Cross adalah strategi trend-tracking yang mudah dan praktikal. Strategi ini secara intuitif menangkap trend pasaran melalui pergerakan rata-rata, dan dapat mengesan masa masuk dan keluar dengan berkesan untuk pelabur garis panjang. Strategi ini mudah dilaksanakan, sesuai untuk pelajar pemula, tetapi juga dapat dikembangkan dan dioptimumkan dalam banyak aspek, menjadikannya strategi perdagangan kuantitatif yang fleksibel dan boleh dipercayai.
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
lShort = input(50, title="short length")
lLong = input(200, title="long length")
src = input(close, title="Source")
smaShort = sma(src, lShort)
smaLong = sma(src, lLong)
plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime)
plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red)
//
//Backtest Time Inputs
//
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(01, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na
bgcolor(testPeriodBackgroundColor, transp=80)
testPeriod() => true
if testPeriod()
longCondition = crossover(smaShort, smaLong)
if (longCondition)
strategy.entry("Long Entry", strategy.long)
shortCondition = crossunder(smaShort, smaLong)
if (shortCondition)
strategy.close_all(true)