Strategi Perdagangan Rata-rata Gerak Pembebasan Mingguan

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

img

Gambaran umum

Strategi ini diperdagangkan berdasarkan harga penutupan mingguan Bitcoin dan rata-rata bergerak sederhana 8 minggu. Ini pergi panjang ketika harga penutupan mingguan pecah di atas garis 8 minggu dan menutup posisi ketika harga penutupan mingguan pecah di bawah garis 8 minggu. Ini juga menetapkan stop loss dan mengambil rasio keuntungan untuk mengendalikan risiko.

Logika Strategi

Strategi ini menganalisis aksi harga mingguan Bitcoin dan rata-rata bergerak sederhana 8 minggu untuk menilai apakah pasar berada dalam tren naik atau turun. Ketika harga penutupan mingguan pecah di atas garis 8 minggu, itu menandakan bahwa pasar telah memasuki saluran tren naik dan posisi panjang dapat menguntungkan. Ketika harga penutupan mingguan pecah di bawah garis 8 minggu, itu menandakan bahwa grafik mingguan Bitcoin telah memasuki saluran tren turun dan posisi panjang yang ada harus dihentikan.

Secara khusus, kondisi 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

Ketika kondisi beli terpenuhi, strategi berjalan panjang. Ketika kondisi jual dipicu, strategi keluar dengan mengambil keuntungan atau stop loss.

Selain itu, stop loss dan mengambil rasio keuntungan dikonfigurasi:

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

Rasio stop loss default adalah 1 dan rasio take profit default adalah 3. Ini berarti bahwa ketika sinyal keluar datang, jika saat ini menguntungkan, keluar dengan keuntungan 3 kali. Jika saat ini kerugian, keluar dengan kerugian 1 kali.

Analisis Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Jangka waktu mingguan, kurang penarikan, cocok untuk penyimpanan jangka panjang
  2. MA 8 minggu menyaring kebisingan dan mengidentifikasi tren utama
  3. Stop loss dan take profit mengendalikan risiko

Analisis Risiko

Ada juga beberapa risiko:

  1. Tidak dapat menyesuaikan posisi berdasarkan aksi harga jangka pendek
  2. Sinyal pecah mungkin memiliki sinyal palsu
  3. Stop loss/take profit mungkin gagal selama peristiwa pasar ekstrem

Pengendalian:

  1. Gabungkan dengan indikator jangka pendek lainnya untuk menangkap peluang jangka pendek
  2. Tambahkan filter untuk menghindari sinyal palsu
  3. Sesuaikan rasio stop loss/take profit berdasarkan kondisi pasar untuk membatasi kerugian

Arahan Optimasi

Beberapa cara strategi ini dapat ditingkatkan:

  1. Tambahkan filter tambahan untuk memastikan sinyal breakout yang valid
  2. Mengoptimalkan stop loss dan mengambil rasio keuntungan
  3. Menggabungkan indikator jangka pendek untuk analisis multi-frame waktu
  4. Gunakan pembelajaran mesin untuk mengoptimalkan parameter secara otomatis

Kesimpulan

Singkatnya, ini adalah strategi yang sederhana dan langsung yang menilai tren berdasarkan perputaran mingguan dan moving average. Ini juga mengendalikan risiko melalui stop loss dan take profit. Ini dapat berfungsi sebagai sistem referensi untuk kepemilikan Bitcoin jangka panjang. Tetapi ada beberapa keterbatasan yang dapat ditingkatkan pada kualitas sinyal, tuning parameter, analisis multi-frame waktu 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 banyak