Strategi Dagangan Purata Bergerak Terobosan Mingguan

Penulis:ChaoZhang, Tarikh: 2024-01-18 11:47:25
Tag:

img

Ringkasan

Strategi ini berdagang berdasarkan harga penutupan mingguan Bitcoin dan purata bergerak mudah 8 minggu. Ia pergi lama apabila harga penutupan mingguan melanggar di atas garis 8 minggu dan menutup kedudukan apabila harga penutupan mingguan melanggar di bawah garis 8 minggu. Ia juga menetapkan stop loss dan mengambil nisbah keuntungan untuk mengawal risiko.

Logika Strategi

Strategi ini menganalisis tindakan harga mingguan Bitcoin dan purata bergerak mudah 8 minggu untuk menilai sama ada pasaran berada dalam trend menaik atau penurunan. Apabila harga penutupan mingguan melanggar di atas garis 8 minggu, ia menandakan bahawa pasaran telah memasuki saluran kenaikan dan kedudukan panjang boleh mendapat keuntungan. Apabila harga penutupan mingguan melanggar di bawah garis 8 minggu, ia menandakan bahawa carta mingguan Bitcoin telah memasuki saluran penurunan dan kedudukan panjang yang sedia ada harus dihentikan.

Khususnya, syarat perdagangan berikut ditetapkan dalam strategi:

buy_condition = crossover(btc,ma) #weekly closing price breaks above 8-week line, go long
sell_condition = crossunder(btc,ma) #weekly closing price breaks below 8-week line, close position

Apabila syarat beli dipenuhi, strategi akan panjang. Apabila syarat jual dicetuskan, strategi keluar dengan mengambil keuntungan atau menghentikan kerugian.

Di samping itu, stop loss dan mengambil nisbah keuntungan dikonfigurasi:

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY") 

Nisbah stop loss lalai adalah 1 dan nisbah mengambil keuntungan lalai adalah 3. Ini bermaksud bahawa apabila isyarat keluar datang, jika kini menguntungkan, keluar dengan keuntungan 3 kali.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Jangka masa mingguan, kurang pengambilan, sesuai untuk penyimpanan jangka panjang
  2. MA 8 minggu menapis bunyi bising dan mengenal pasti trend utama
  3. Stop loss dan mengambil keuntungan kawalan risiko

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Tidak dapat menyesuaikan kedudukan berdasarkan tindakan harga jangka pendek
  2. Isyarat pecah mungkin mempunyai isyarat palsu
  3. Stop loss/take profit mungkin gagal semasa peristiwa pasaran yang melampau

Tindakan balas:

  1. Gabungkan dengan penunjuk jangka pendek lain untuk menangkap peluang jangka pendek
  2. Tambah penapis untuk mengelakkan isyarat palsu
  3. Penyesuaian nisbah stop loss/take profit berdasarkan keadaan pasaran untuk mengehadkan kerugian

Arahan pengoptimuman

Beberapa cara strategi ini boleh ditingkatkan:

  1. Tambah penapis tambahan untuk memastikan isyarat pecah yang sah
  2. Mengoptimumkan stop loss dan mengambil nisbah keuntungan
  3. Memasukkan penunjuk jangka pendek untuk analisis pelbagai jangka masa
  4. Gunakan pembelajaran mesin untuk mengoptimumkan parameter secara automatik

Kesimpulan

Ringkasnya, ini adalah strategi yang mudah dan mudah yang menilai trend berdasarkan penembusan mingguan dan purata bergerak. Ia juga mengawal risiko melalui stop loss dan mengambil keuntungan. Ia boleh berfungsi sebagai sistem rujukan untuk pegangan Bitcoin jangka panjang. Tetapi terdapat beberapa batasan yang boleh ditingkatkan pada kualiti isyarat, penyesuaian parameter, analisis pelbagai jangka masa dll.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © taberandwords
//developer: taberandwords
//author: taberandwords
//@version=4

strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed)

source=input(defval=close,title="source",group="STRATEGY")

btc=security('BTCUSDT','1W', source)
ma=sma(btc,8)

buy_condition= crossover(btc,ma) 
sell_condition= crossunder(btc,ma)

ma_color=input(defval=#FF3232,title="COLOR",group="MA")
ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA")
graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC")
graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC")

start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR")

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

if(year>=start_date)
    strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!')

    if(strategy.long)
        alert('BTC buy order trigerred!',alert.freq_once_per_bar)
    strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!')
    if(sell_condition)
        alert('BTC sell order trigerred!',alert.freq_once_per_bar)
plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth)
plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth)
plot(strategy.equity,display=0)


Lebih lanjut