Strategi ini adalah strategi perdagangan trend berikut yang direka berdasarkan prinsip persilangan garis purata bergerak Bitcoin. Strategi ini menggunakan persilangan garis purata bergerak pantas dan garis purata bergerak perlahan sebagai isyarat beli dan jual. Apabila garis purata bergerak pantas melintasi di atas garis purata bergerak perlahan, ia dianggap sebagai salib emas dan pergi panjang; apabila garis purata bergerak pantas melintasi di bawah garis purata bergerak perlahan, ia dianggap sebagai salib kematian dan pergi pendek. Pada masa yang sama, strategi ini juga menggabungkan penunjuk RSI untuk mengelakkan kemasukan yang sembrono.
Strategi ini terutamanya berdasarkan dua penunjuk:
Moving Average (MA): Mengira harga penutupan purata dalam tempoh tertentu untuk menentukan trend harga dan isyarat pembalikan.
Indeks Kekuatan Relatif (RSI): Mengira kelajuan kenaikan dan penurunan harga dalam tempoh tertentu untuk menilai kawasan yang terlalu banyak dibeli dan terlalu banyak dijual.
Secara khusus, strategi ini menggunakan MA yang lebih pendek sebagai garisan pantas dan MA yang lebih lama sebagai garisan perlahan. Apabila garisan pantas melintasi di atas garisan perlahan, ia menunjukkan bahawa kenaikan harga jangka pendek semakin pesat dan isyarat beli dihasilkan; apabila garisan pantas melintasi di bawah garisan perlahan, ia menunjukkan bahawa penurunan harga jangka pendek semakin pesat dan isyarat jual dihasilkan.
Pada masa yang sama, strategi ini juga menetapkan ambang untuk RSI, menghasilkan isyarat beli hanya apabila RSI melebihi 50 dan isyarat jual hanya apabila RSI di bawah 50, mengelakkan kemasukan yang sembrono apabila harga turun naik dengan ganas.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai beberapa risiko:
Untuk mengurangkan risiko, adalah disyorkan untuk mengoptimumkan parameter purata bergerak, menyesuaikan kedudukan stop loss, dan mengurangkan saiz kedudukan dengan sewajarnya.
Arah pengoptimuman utama untuk strategi ini termasuk:
Mengoptimumkan parameter tempoh purata bergerak untuk mencari kombinasi parameter yang optimum, melalui carian tambahan, algoritma genetik, dll.
Meningkatkan penunjuk teknikal lain untuk penapisan, seperti KDJ, MACD, dan lain-lain untuk meningkatkan kualiti isyarat perdagangan.
Memantau turun naik harga dan menyesuaikan kedudukan dan menghentikan kerugian.
Menggabungkan jumlah dagangan untuk mengelakkan pecah palsu, hanya mengeluarkan isyarat apabila jumlah dagangan berkembang.
Membangunkan mekanisme penyesuaian parameter sendiri, yang membolehkan strategi untuk menyesuaikan nilai parameter secara automatik berdasarkan persekitaran pasaran yang berbeza.
Ringkasnya, ini adalah strategi trend berikut yang tipikal. Berdasarkan prinsip persilangan purata bergerak, logik perdagangan adalah mudah dan jelas, mudah difahami dan dilaksanakan. Menggabungkan penunjuk RSI dapat mengelakkan perdagangan tidak rasional. Strategi ini membawa risiko dan ganjaran, sesuai untuk pelabur dengan beberapa pengalaman perdagangan kuantiti, tetapi risiko kerugian yang berpotensi perlu dijaga. Jika pemaju dapat menambah lebih banyak penapis, mengoptimumkan adaptiviti parameter, ia dapat meningkatkan lagi keuntungan strategi yang stabil.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Trading Strategy Warning - Past performance may not equal future performance //Account Size Warning - Performance based upon default 10% risk per trade, of account size $100,000. Adjust before you trade to see your own drawdown. //Time Frame - D1 and H4, warning H4 has a lower profit factor (fake-outs, and account drawdown), D1 recommended //Trend Following System - Profitability of this system is dependent on a STRONG trend in Bitcoin, into the future strategy("Bitcoin - MA Crossover Strategy", overlay=true) // User Input usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=10,confirm=false) sma_fast = input(title="Fast MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=20,confirm=false) sma_slow = input(title="Slow MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=40,confirm=false) rsi_valu = input(title="RSI (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false) // Create Indicator's shortSMA = sma(close, sma_fast) longSMA = sma(close, sma_slow) rsi = rsi(close, rsi_valu) strategy.initial_capital = 50000 // Units to buy amount = usr_risk / 100 * (strategy.initial_capital + strategy.netprofit) units = floor(amount / close) // Specify entry conditions longEntry = crossover(shortSMA, longSMA) shortEntry = crossunder(shortSMA, longSMA) // Specify exit conditions longExit = crossunder(shortSMA, longSMA) shortExit = crossover(shortSMA, longSMA) // Execute long trade if (longEntry) strategy.entry("long", strategy.long, units, when = rsi > 50) // Exit long trade if(longExit and strategy.position_size > 0) strategy.order("exit long", strategy.short, abs(strategy.position_size)) // Execute short trade if (shortEntry) strategy.entry("short", strategy.short, units, when = rsi < 50) // Exit short trade if(shortExit and strategy.position_size < 0) strategy.order("exit short", strategy.long, abs(strategy.position_size)) // Plot Moving Average's to chart plot(shortSMA) plot(longSMA, color=color.black)