Strategi ini berfokus pada shorting dalam kondisi bear market yang turun, sekaligus memastikan bahwa aset berada di jalur turun siklus besar, dan kemudian berhenti keluar setelah penurunan lebih lanjut.
Logika transaksi utama adalah:
Menghitung garis cepat, lambat, dan pilar dari MACD
Ketika MACD garis cepat di bawah garis lambat, menunjukkan mulai memasuki tren turun
Harga di bawah 450-day moving average, mengkonfirmasi berada dalam tren turun jangka panjang
Bila kedua kondisi di atas terpenuhi, bukalapak masuk
Stop-Line ditetapkan 8% di bawah harga tiket masuk
Stop loss line ditetapkan 4% di atas harga masuk
Strategi ini memanfaatkan MACD untuk menentukan pergeseran tren jangka pendek, dan membantu garis rata-rata jangka panjang untuk menentukan tren besar, menghindari shorting buta. Strategi stop loss mengendalikan risiko.
MACD menilai peluang penurunan jangka pendek
Filter rata-rata jangka panjang untuk menghindari pembalikan shorting
Stop Loss Rasio 2: 1, Mengontrol Risiko
Parameter MACD yang perlu dioptimalkan
Garis rata-rata jangka panjang mudah terlambat menghasilkan sinyal yang salah
Hanya dengan menganggur saja, tidak ada kesempatan yang lebih besar.
Optimasi strategi stop loss dan manajemen portofolio sangat penting untuk efektivitas strategi.
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 2h
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/
// © Coinrule
//@version=5
strategy("Shorting Bearish MACD Cross with Price Below EMA 450 (By Coinrule)", overlay=true, initial_capital = 10000, default_qty_value = 30, default_qty_type = strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.1)
// EMAs
slowEMA = ta.ema(close, 450)
// MACD
[macdLine, signalLine, histogramLine] = ta.macd(close, 11, 26, 9)
// Conditions
goShortCondition1 = ta.crossunder(macdLine, signalLine)
goShortCondition2 = slowEMA > close
timePeriod = time >= timestamp(syminfo.timezone, 2021, 12, 1, 0, 0)
notInTrade = strategy.position_size <= 0
strategyDirection = strategy.direction.short
if (goShortCondition1 and goShortCondition2 and timePeriod and notInTrade)
stopLoss = high * 1.04
takeProfit = low * 0.92
strategy.entry("Short", strategy.short)
strategy.exit("exit","Short", stop=stopLoss, limit=takeProfit)
plot(slowEMA, color=color.green)