Strategi ini terutamanya berdasarkan purata bergerak garis bulanan dan suku untuk operasi. Khususnya, garis 20 hari digunakan sebagai garis bulanan dan garis 60 hari sebagai garis suku. Isyarat strategi berasal dari salib emas dan salib kematian kedua-dua purata bergerak. Apabila garis bulanan melintasi di atas garis suku, pergi panjang; apabila garis bulanan jatuh di bawah garis suku, tutup kedudukan. Strategi ini sesuai untuk operasi jangka menengah dan panjang untuk menangkap peluang penyatuan dan perbezaan.
Strategi ini menggunakan purata bergerak mudah 20 hari sebagai penunjuk garis bulanan dan purata bergerak mudah 60 hari sebagai penunjuk garis suku.
Gunakan persilangan purata bergerak garis bulanan dan suku untuk menentukan trend jangka menengah dan panjang. Salib emas untuk pergi panjang menunjukkan permulaan pasaran lembu jangka menengah dan panjang, sementara salib kematian untuk pergi pendek menunjukkan permulaan pasaran beruang jangka menengah dan panjang. Pada masa yang sama, gunakan strategi berhenti keuntungan dan berhenti kerugian untuk mengawal risiko.
Penyelesaian:
Strategi ini secara sistematik memanfaatkan kelebihan purata bergerak bulanan dan suku tahunan dengan menilai arah trend jangka menengah dan panjang melalui salib emas dan salib kematian purata bergerak. Pada masa yang sama, mekanisme stop loss dan mengambil keuntungan yang munasabah dikonfigurasi untuk mengawal risiko. Masih ada banyak ruang untuk mengoptimumkan strategi ini, yang bernilai ujian dan pengoptimuman lanjut.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30) sma20 = sma(close, 20) sma60 = sma(close, 60) plot(sma20, title="月線", color=color.purple,linewidth=2) plot(sma60, title="季線", color=color.yellow,linewidth=2) backtest_year = input(title="backtest_year",type=input.integer,defval=2020) backtest_month = input(title="backtest_month",type=input.integer,defval=10) backtest_date = input(title="backtest_date",type=input.integer,defval=1) backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0) to_long = sma20 > sma60 and close > highest(10)*0.9 // 黃金交叉 to_close = sma20 < sma60 // 死亡交叉 to_exit = close < highest(10)*0.9 //股價嚴重回檔 to_stop = close < 0.9*strategy.position_avg_price // to_long = crossover(sma20, sma60) // 黃金交叉 // to_close = crossunder(sma20, sma60) // 死亡交叉 //plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar) //plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar) //strategy.close("open long",when = tslide, comment="多單滑價7%出場") if true strategy.entry("golden", strategy.long, when=to_long,comment="多單入場") strategy.close("golden", when=to_exit,comment="多單滑價7%出場") strategy.close("golden", when=to_close,comment="月線季線死亡交叉") strategy.close("golden", when=to_stop,comment="虧損10%強迫停損")