Strategi ini menentukan alokasi aset dan lindung nilai berdasarkan tren jangka panjang.
Logikanya adalah:
Pilih aset dasar, periode rata-rata bergerak dan resolusi
Menghitung rata-rata bergerak sederhana dari aset
Harga melintasi di atas MA sinyal bullishness jangka panjang, pergi panjang aset
Harga menyeberangi di bawah MA sinyal penurunan jangka panjang, pergi pendek aset
Bisa juga hanya panjang atau hanya pendek
Hukum tren jangka panjang menggunakan harga aset versus MA
Mengambil posisi berlawanan untuk lindung nilai fluktuasi jangka pendek
Strategi ini melindungi risiko jangka pendek dan berfokus pada tren sekuler aset, memungkinkan keuntungan yang stabil.
Sistem MA sederhana untuk menentukan tren jangka panjang
Pasangan panjang/pendek secara efektif melindungi risiko sistemik
Sinyal panjang dan pendek yang jelas
MA tertinggal dari pergerakan harga
Biaya kepemilikan posisi jangka panjang
Membutuhkan manajemen risiko di beberapa bagian
Strategi ini melakukan lindung nilai dengan menggunakan kombinasi aset jangka panjang dan jangka pendek, menekankan manajemen risiko.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 1h basePeriod: 15m 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/ // © danilogalisteu //@version=4 strategy("Long Term L/S", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) base = input("BMFBOVESPA:IBOV") period = input(5, 'SMA Period', input.integer) resolution = input(title="SMA Resolution", type=input.resolution, defval='M') strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"]) strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1 base_cl = security((base), resolution, close) base_ma = sma(base_cl, period) longCondition = crossover(base_cl, base_ma) if (longCondition) if strat_val > -1 strategy.entry("LONG", strategy.long) if strat_val < 1 strategy.close("SHORT") shortCondition = crossunder(base_cl, base_ma) if (shortCondition) if strat_val > -1 strategy.close("LONG") if strat_val < 1 strategy.entry("SHORT", strategy.short) //plot(longCondition?1:0, 'L', color.blue) //plot(shortCondition?-1:0, 'S', color.red)