
Strategi ini menggabungkan indikator spiral dan moving average untuk mengidentifikasi arah dan intensitas tren harga untuk menghasilkan sinyal jual-beli dan penarikan potensial. Ketika indikator spiral positif menembus indikator spiral negatif, titik persimpangan ini akan ditandai di grafik, dan sinyal jual-beli akan dihasilkan jika harga close out lebih tinggi dari moving average; dan jika indikator spiral negatif menembus indikator spiral positif, sinyal close out akan dihasilkan jika harga close out lebih rendah dari moving average.
Indikator spiral: terdiri dari garis indikator spiral positif ((VI +) dan garis indikator spiral negatif ((VI -)) yang digunakan untuk mengidentifikasi arah dan kekuatan tren harga.
Moving Average: Menggunakan metode moving average pilihan (SMA, EMA, SMMA, WMA, atau VWMA) untuk meluruskan data harga, dan menghasilkan garis halus yang dikenal sebagai garis halus.
Tentukan sinyal over dan under: Tandai titik persimpangan ketika VI+ melewati VI-dan menghasilkan sinyal over jika harga close lebih tinggi dari smooth; Tentukan sinyal over ketika VI+ melewati VI-dan menghasilkan sinyal under jika harga close lebih rendah dari smooth.
Kombinasi dengan keuntungan dari pengenalan tren dan filter geser, dapat menangkap tren di pasar yang sedang tren, dan menghindari sinyal yang salah di pasar yang bergoyang.
Indikator spiral dapat secara efektif mengidentifikasi arah dan intensitas tren. Moving average dapat memfilter beberapa kebisingan.
Strategi logisnya sederhana dan jelas, mudah dipahami dan diterapkan.
Parameter yang dapat disesuaikan untuk menyesuaikan dengan lingkungan pasar yang berbeda.
Dalam pasar yang tidak terkonsolidasi dan tidak memiliki tren yang jelas, mungkin terjadi sinyal yang salah dan SERIAL stop loss.
Penetapan parameter yang tidak tepat juga dapat mempengaruhi kinerja strategi. Misalnya, penyetelan terlalu pendek untuk panjang rata-rata bergerak tidak efektif, dan terlalu panjang untuk mengidentifikasi perubahan tren yang terlambat.
Tidak dapat berperan sebagai pelindung terhadap kejadian-kejadian yang tidak terduga, seperti perubahan tren yang drastis setelah peristiwa keuangan besar.
Indikator lain dapat diperkenalkan untuk digunakan dalam kombinasi, seperti indikator volume transaksi untuk menentukan tingkat keandalan tren.
Pengaturan parameter optimasi yang menyeimbangkan trend tracking dan noise filtering pada moving averages.
Menambahkan strategi stop loss untuk mengendalikan kerugian.
Mengoptimalkan parameter secara otomatis menggunakan metode seperti pembelajaran mesin.
Mengatur posisi dengan menggunakan modul manajemen risiko.
Strategi ini dengan mudah dan efektif menggabungkan indikator spiral dan rata-rata bergerak, mencapai efek menangkap tren yang sangat baik. Mengidentifikasi arah tren dan memiliki kemampuan penyaringan kebisingan tertentu, dapat mengurangi sinyal yang salah. Secara keseluruhan, logika strategi ringkas, penggunaan fleksibel, dan kinerja yang baik di pasar tren. Dengan memperkenalkan lebih banyak alat penyaringan, pengaturan parameter optimasi yang tepat, kontrol risiko dapat ditingkatkan lebih lanjut.
/*backtest
start: 2023-02-01 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © DraftVenture
//@version=5
strategy("Vortex + Moving Average Strategy", overlay=true)
//Vortex settings
period_ = input.int(14, title="Vortex Length", minval=2)
VMP = math.sum( math.abs( high - low[1]), period_ )
VMM = math.sum( math.abs( low - high[1]), period_ )
STR = math.sum( ta.atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR
plot(VIP, title="VI +", color=color.white)
plot(VIM, title="VI -", color=color.white)
len = input.int(9, minval=1, title="MA Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.sma(src, len)
plot(out, color=color.blue, title="MA", offset=offset)
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing")
smoothingLine = ma(out, smoothingLength, typeMA)
plot(smoothingLine, title="Smoothing Line", color=#f37f20, offset=offset, display=display.none)
// Determine long and short conditions
longCondition = ta.crossover(VIP, VIM) and close > smoothingLine
shortCondition = ta.crossunder(VIP, VIM) and close < smoothingLine
crossCondition = ta.crossunder(VIP, VIM) or ta.crossunder(VIM, VIP)
// Strategy entry and exit logic
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
bgcolor(crossCondition ? color.new(color.white, 80) : na)
// Strategy by KP