Strategi Momentum Berdasarkan Squeeze LazyBear

Penulis:ChaoZhang, Tanggal: 2023-12-21 14:22:49
Tag:

img

Gambaran umum

Ide utama dari strategi ini didasarkan pada indikator Squeeze Momentum LazyBear untuk menganalisis waktu pembelian dan penjualan. Ini menganalisis titik infleksi dalam tren momentum, menemukan puncak dan terendah sebagai sinyal jual dan beli masing-masing. Karena ini adalah strategi panjang, ini juga mempertimbangkan 50 periode Eksponensial Moving Average untuk mengidentifikasi tren naik. Jika harga penutupan lilin di atas 50EMA, dan kemiringan 50EMA cenderung naik, maka sinyal beli dieksekusi.

Prinsip Strategi

Strategi ini menggabungkan Bollinger Bands dan Keltner Channels untuk mengidentifikasi tren dan zona menekan. Secara khusus, ini menghitung 20-periode Bollinger Bands dan 20-periode Keltner Channels. Ketika Bollinger Bands sepenuhnya berada di dalam Saluran Keltner, itu dipandang sebagai sinyal menekan. Zona menekan diidentifikasi ketika Bollinger Bands band bawah naik di atas band bawah Saluran Keltner dan Bollinger Bands band atas turun di bawah band atas Saluran Keltner. Sebaliknya, ketika Bollinger Bands band bawah jatuh di bawah band bawah Saluran Keltner dan Bollinger Bands band atas naik di atas band atas Saluran Keltner, itu adalah zona non-penekan.

Selain itu, strategi ini menggunakan regresi linier untuk menganalisis perubahan kemiringan momentum. Ini menghitung nilai regresi linier harga selama 20 periode terakhir dikurangi harga khas. Ketika kemiringan nilai regresi linier positif, itu dipandang sebagai tren naik. Ketika kemiringan negatif, itu adalah tren menurun. Dalam zona sempit, jika ada pembalikan dalam kemiringan momentum, itu menandakan beli atau jual. Secara khusus, ketika dalam zona sempit, momentum flip dari positif ke negatif mengeluarkan sinyal jual. Dan ketika dalam zona sempit, momentum flip dari negatif ke positif mengeluarkan sinyal beli.

Untuk menyaring sinyal palsu, strategi ini juga menilai apakah harga penutupan di atas Rata-rata Gerak Eksponensial 50 hari dan jika Rata-rata Gerak Eksponensial 50 hari berada di lereng ke atas.

Analisis Keuntungan

Ini adalah strategi yang sangat cerdas, memanfaatkan dua jenis indikator yang berbeda untuk membuat penilaian multi-dimensi pasar, yang dapat secara efektif menghindari sinyal palsu.

  1. Aplikasi komprehensif dari Bollinger Bands, Saluran Keltner dan indikator momentum untuk analisis multi-dimensi dan peningkatan akurasi.

  2. Zona perampasan dapat secara efektif mengidentifikasi puncak dan terowongan pembalikan momentum dan dengan tepat menangkap tikungan.

  3. Penyaringan tren berdasarkan harga penutupan dan EMA 50 hari menghindari pembukaan posisi berulang selama konsolidasi.

  4. Sinyal yang hanya dipancarkan selama zona tekanan mengurangi sinyal palsu dan meningkatkan tingkat profitabilitas.

  5. Ruang pengoptimalan parameter yang besar memungkinkan pengoptimalan yang ditargetkan melalui periode penyesuaian dll.

  6. Kombinasi jangka panjang dan jangka pendek, mempertimbangkan tren siklus besar dan mengintegrasikan indikator jangka menengah, arah jangka panjang jelas.

Analisis Risiko

Meskipun strategi ini memiliki beberapa indikator teknis nonfarmed, masih ada beberapa risiko:

  1. Kesempatan membeli/menjual yang hilang ketika Bollinger Bands dan Keltner Channels berbeda.

  2. Kerugian besar dapat terjadi selama kenaikan atau penurunan pasar yang keras.

  3. Di pasar volatilitas tinggi, situasi tekanan mungkin tidak jelas, sehingga kurang sinyal.

  4. Cenderung mengalami kerugian penyesuaian selama transisi bull-bear.

Untuk menghindari risiko ini, kita dapat mengambil langkah-langkah berikut:

  1. Mengoptimalkan parameter untuk menyinkronkan Bollinger Bands dan Keltner Channel sebanyak mungkin.

  2. Atur stop loss untuk mengontrol single loss.

  3. Gunakan strategi ini sebagai bagian dari strategi portofolio, dikombinasikan dengan strategi lain.

  4. Mengurangi posisi dengan tepat selama pasar volatilitas tinggi.

Arahan Optimasi

Masih banyak ruang untuk mengoptimalkan strategi ini, terutama di arah berikut:

  1. Mengoptimalkan periode Bollinger Bands dan Saluran Keltner untuk menyinkronkannya sebanyak mungkin.

  2. Uji faktor pengganda yang berbeda untuk menemukan kombinasi parameter yang optimal.

  3. Cobalah memperkenalkan indikator lain untuk konfirmasi, seperti RSI dll.

  4. Berdasarkan model Lima Garis Warna Wen Hua, gunakan strategi ini secara selektif tergantung pada tahap pasar.

  5. Mengadopsi pembelajaran mesin dll untuk secara dinamis mengoptimalkan parameter.

  6. Backtest pada koin yang berbeda untuk menemukan produk perdagangan yang paling cocok.

  7. Jelajahi efektivitas strategi ini dalam jangka waktu yang lebih lama (tiap hari, mingguan, dll.).

Kesimpulan

LazyBear Squeeze Momentum Strategy secara komprehensif menggunakan berbagai indikator teknis, secara akurat mengidentifikasi pembalikan momentum untuk trading selama zona squeeze, menghindari pembukaan posisi berulang selama pasar non-trending.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
initialBalance = 8000

strategy("Crypto momentum strategy", overlay=false)


length = input(20, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")

useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool)

// Calculate BB
source = close
basis = sma(source, length)
ema = ema(source, 50)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : high - low
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn = lowerBB > lowerKC and upperBB < upperKC
sqzOff = lowerBB < lowerKC and upperBB > upperKC
noSqz = sqzOn == false and sqzOff == false

val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0)

slope = (val - val[2])
emaSlope = (ema - ema[1])


bcolor = iff(slope > 0, color.lime, color.red)
scolor = noSqz ? color.green : sqzOn ? color.black : color.green
squeeze = (noSqz ? 0 : sqzOn ? 1 : 0)

plot(val, color=color.gray, style=plot.style_line, linewidth=1, title="momentum")
plot(slope, color=bcolor, style=plot.style_circles, linewidth=2, title="slope")
plot(0, color=scolor, style=plot.style_line, linewidth=2, title="squeeze-zero")

co = crossover(slope / abs(slope), 0)
cu = crossunder(slope / abs(slope), 0)

if co and source > ema and emaSlope > 0
    strategy.entry("long", strategy.long, comment="long")
if cu
    strategy.close("long")


Lebih banyak