
Strategi ini menggunakan indikator pergerakan harga untuk menilai arah perdagangan. Secara khusus, perhitungan rata-rata dan harga rata-rata secara terpisah, menghasilkan sinyal beli ketika harga melewati garis rata-rata dan harga rata-rata. Untuk memfilter sinyal palsu, diminta tidak ada sinyal serupa sebelumnya.
Strategi ini terutama didasarkan pada indikator pergerakan harga untuk menilai arah tren. Pertama menghitung garis rata-rata dan harga rata-rata:
swmaClose = swma(close)
vwapClose = vwap(close)
Di antaranya,swmaIni adalah rata-rata rata-rata.vwapHarga rata-rata tertimbang untuk volume transaksi. Keduanya dapat mencerminkan harga rata-rata.
Kemudian perbandingan harga dengan nilai rata-rata untuk menentukan apakah ada garis rata-rata dan nilai rata-rata, untuk menentukan apakah ada sinyal bullish:
swmaLong = close > swmaClose
vwapLong = close > vwapClose
Untuk memfilter sinyal palsu, mintalah dua indikator ini untuk tidak memberi sinyal sebelumnya:
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
Untuk informasi lebih lanjut, simaklah tanda-tandanya:
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
Akhirnya, ketika sinyal uptrend disimpan, dan harga kembali naik ke median, sinyal open terjadi:
startLong = saveLong and swmaLong
Ini akan memfilter beberapa sinyal palsu dan membuat sinyal lebih dapat dipercaya.
Strategi ini juga mencakup pengaturan stop loss. Stop loss jarak dapat dikonfigurasi, dan stop loss diatur sebagai stop loss beberapa kali lipat.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Tanggapan:
Strategi ini juga dapat dioptimalkan dengan cara:
Optimalisasi ini dapat meningkatkan fleksibilitas, stabilitas, dan tingkat profitabilitas strategi.
Strategi ini secara keseluruhan adalah strategi pelacakan tren yang sederhana, langsung, dan logis. Strategi ini menggunakan garis rata-rata harga dan harga rata-rata untuk menentukan arah pergerakan harga, dan merancang mekanisme verifikasi multi-langkah untuk meningkatkan kualitas sinyal. Strategi ini juga mencakup pengaturan stop loss yang masuk akal. Dari segi jumlah kode, logika strategi sangat sederhana, hanya membutuhkan lebih dari 20 baris skrip pin yang dapat diimplementasikan. Secara keseluruhan, strategi ini adalah kasus pembelajaran yang sangat baik, dan pemula dapat menjadi titik awal yang baik untuk memahami strategi perdagangan kuantitatif.
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)
// How To Create A Simple Trading Strategy With TradingView
// https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view
swmaClose = swma(close)
vwapClose = vwap(close)
swmaLong = close > swmaClose
vwapLong = close > vwapClose
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
startLong = saveLong and swmaLong
startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1]
stopLoss = input(250, "Stop Loss", step = 50)
takeProfit = input(10, "Reward/Risk") * stopLoss
strategy.entry("Open Long", strategy.long, when = startLong)
strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit)
// bgcolor(swmaLong ? color.blue : na)
// bgcolor(vwapLong ? color.orange : na)
// bgcolor(triggerLong ? color.purple : na)
// bgcolor(saveLong ? color.yellow : na)
bgcolor(startLong[1] ? color.green : na)