
Strategi ini menggunakan indikator Bollinger Bands untuk menganalisis perubahan harga cryptocurrency pada rentang waktu yang berbeda (minit 1, menit 3, menit 5, dan 15 menit) untuk mencari peluang membeli dan menjual. Sebagai tolok ukur sentimen pasar cryptocurrency, strategi ini berfokus pada harga Bitcoin selama 5 menit. Ketika harga Bitcoin menembus Bollinger Bands, sentimen dianggap berada dalam keadaan bullish; sebaliknya, ketika harga Bitcoin menembus Bollinger Bands, sentimen dianggap berbalik menjadi bullish. Strategi ini akan mengamati tren rupture atau tren rupture di Bollinger Bands pada rentang waktu yang berbeda untuk mata uang yang berbeda.
Strategi ini dihitung pada saat yang sama pada 1 menit, 3 menit, 5 menit dan 15 menit. Beringin terdiri dari beberapa kali lipat dari rata-rata bergerak n hari (default 20 hari) dan standar deviasinya (default 1.5 kali lipat). Rata-rata bergerak menunjukkan harga rata-rata mata uang dalam waktu tertentu, sedangkan standar deviasinya mencerminkan tingkat fluktuasi harga. Ketika harga mendekati atau menembus Beringin, pasar berada di posisi tinggi dan fluktuasi meningkat, dan harga mungkin akan berbalik turun.
Strategi ini menggunakan karakteristik indikator Bollinger Bands ini untuk menilai perkembangan terbaru pasar di berbagai titik waktu (dalam 1 menit, 3 menit, 5 menit, dan 15 menit). Strategi ini menilai pasar telah mengeluarkan sinyal jual beli terbaru ketika harga di titik waktu 3 menit atau 5 menit menembus Bollinger Bands ke arah naik atau turun, dan tanda-tanda terkait juga muncul di titik waktu 1 menit dan 15 menit. Selain itu, strategi ini juga akan merujuk pada Bollinger Bands 5 menit Bitcoin untuk menilai tren keseluruhan pasar cryptocurrency dan sentimen pasar (dalam suasana terbuka), sebagai sinyal acuan.
Setelah membuka posisi, strategi juga akan mengatur kondisi stop loss. Jika harga memegang posisi naik atau turun 25%, atur stop loss; Jika harga naik atau turun lebih dari 25% ke arah yang berlawanan, atur stop loss.
Strategi ini mengintegrasikan penilaian jangka pendek dan jangka menengah terhadap pergerakan pasar. 1 menit dan 5 menit waktu untuk menilai perkembangan pasar terbaru, 15 menit waktu untuk menilai tren jangka menengah, dapat secara efektif menghindari tertipu oleh fluktuasi jangka pendek pasar.
Strategi ini berfokus pada penembusan di jalur tengah, atas, dan bawah Brin Belt untuk menghindari kehilangan peluang jual beli.
Bitcoin digunakan sebagai acuan pasar dan indikator sentimen pasar untuk meningkatkan keakuratan pengambilan keputusan.
Pengaturan Stop Loss untuk mengontrol risiko secara efektif.
Brin mendatangkan kemenangan dengan kondisi terbelakang dan mungkin akan melewatkan kesempatan terbaiknya.
Strategi ini sulit untuk ditindaklanjuti secara efektif jika ada risiko sistematis seperti passwords dan black swans yang terjadi di pasar cryptocurrency secara keseluruhan.
Meskipun stop loss telah ditetapkan, namun insiden yang terjadi secara tiba-tiba dapat menyebabkan kerugian yang lebih besar jika melebihi stop loss.
Parameter strategi yang tidak tepat seperti panjang waktu, standar deviasi ganda, dan lain-lain dapat menyebabkan penurunan kualitas sinyal perdagangan.
Solusi yang sesuai:
Ini adalah waktu yang tepat untuk masuk ke sekolah, dengan lebih banyak kriteria.
Meningkatkan penilaian terhadap risiko sistemik pasar.
Kurangi ukuran posisi dan stop loss yang tepat untuk setiap transaksi.
Pengaturan parameter optimasi, pengujian kembali.
Menambahkan lebih banyak waktu untuk penilaian, seperti 30 menit atau 60 menit untuk indikator Brinks.
Pilih parameter Brinks yang lebih sesuai sesuai dengan karakteristik mata uang yang berbeda untuk meningkatkan efektivitas indikator.
Meningkatkan volume transaksi dan lain-lain. Karena volume transaksi dapat memverifikasi keandalan perubahan harga.
Bergabung dengan indikator lain seperti Stoch RSI, MACD, dan lain-lain, meningkatkan akurasi pengambilan keputusan.
Perbandingan tren harga dan korelasi antara mata uang yang berbeda, memilih opsi yang paling banyak digunakan.
Mengoptimalkan strategi stop loss dan menentukan parameter optimal melalui analisis statistik.
Strategi ini adalah strategi perdagangan mata uang kripto multi-waktu yang berfokus pada perubahan harga di pasar dalam skala waktu jangka pendek dan menengah, menggunakan indikator Brin untuk menilai kondisi kosong MULIT di pasar. Pada saat yang sama, menggunakan harga Bitcoin sebagai acuan dan sinyal acuan pasar, membantu menilai tren keseluruhan pasar kriptocurrency. Strategi ini memiliki banyak keuntungan seperti variasi waktu acuan, perbaikan stop loss, dan pengendalian risiko sekaligus pengendalian peluang pasar yang efektif.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(shorttitle="Crypto BB", title="Multi-Interval Bollinger Band Crypto Strategy", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(1.5, minval=0.001, maxval=50, title="StdDev")
interval1m = request.security(syminfo.tickerid, '1', src)
interval3m = request.security(syminfo.tickerid, '3', src)
interval5m = request.security(syminfo.tickerid, '5', src)
interval15m = request.security(syminfo.tickerid, '5', src)
btcinterval5m = request.security("BTC_USDT:swap", "5", src)
bitcoinSignal = 'flat'
var entryPrice = 0.000
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)
bitcoinBasis = ma(btcinterval5m, length, maType)
bitcoinDev = ta.stdev(btcinterval5m, length)
bitcoinUpper = bitcoinBasis + bitcoinDev
bitcoinLower = bitcoinBasis - bitcoinDev
basis1m = ma(interval1m, length, maType)
basis3m = ma(interval3m, length, maType)
basis5m = ma(interval5m, length, maType)
basis15m = ma(interval5m, length, maType)
dev1m = mult * ta.stdev(interval1m, length)
dev3m = mult * ta.stdev(interval3m, length)
dev5m = mult * ta.stdev(interval5m, length)
upper1m = basis1m + dev1m
lower1m = basis1m - dev1m
upper3m = basis3m + dev3m
lower3m = basis3m - dev3m
upper5m = basis5m + dev5m
lower5m = basis5m - dev5m
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis3m, "Basis 3 minute", color=#2962FF, offset = offset)
p3upper = plot(upper3m, "Upper", color=#2962FF, offset = offset)
p3lower = plot(lower3m, "Lower", color=#2962FF, offset = offset)
//Exit protocols
if strategy.opentrades != 0 and strategy.opentrades.entry_id(0) == 'Buy'
entryPrice := strategy.opentrades.entry_price(0)
if ((interval1m - entryPrice)/entryPrice) * 30 > .25
strategy.close('Buy', comment='Take Profit on Buy')
if ((interval1m - entryPrice)/entryPrice) * 30 < -.25
strategy.close('Buy', comment='Stop Loss on Buy')
if strategy.opentrades != 0 and strategy.opentrades.entry_id(0) == 'Sell'
entryPrice := strategy.opentrades.entry_price(0)
if ((entryPrice - interval1m)/entryPrice) * 30 > .25
strategy.close('Sell', comment='Take Profit on Sell')
if ((entryPrice - interval1m)/entryPrice) * 30 < -.25
strategy.close('Sell', comment='Stop Loss on Sell')
//Bitcoin Analysis
if (btcinterval5m < bitcoinUpper and btcinterval5m[1] > bitcoinUpper[1] and btcinterval5m[2] < bitcoinUpper[2] and btcinterval5m[3] < bitcoinUpper[3])
bitcoinSignal := 'Bear'
if (btcinterval5m > bitcoinUpper and btcinterval5m[1] < bitcoinUpper[1] and btcinterval5m[2] > bitcoinUpper[2] and btcinterval5m[3] > bitcoinUpper[3])
bitcoinSignal := 'Bull'
//Short protocols
if (interval3m < basis3m and interval3m[1] > basis3m[1] and interval3m[2] < basis3m[2] and interval3m[3] < basis3m[3]) or
(interval5m < basis5m and interval5m[1] > basis5m[1] and interval5m[2] < basis5m[2] and interval5m[3] < basis5m[3])
and strategy.opentrades.entry_id(0) != 'Sell'
and src < basis1m and src < basis15m
if strategy.opentrades.entry_id(0) == 'Buy'
strategy.close('Buy', 'Basis Band Bearish Reversal')
//strategy.order('Sell', strategy.short, comment = 'Basis band fractal rejection', stop = (upper1m + basis1m)/2)
if (interval3m < upper3m and interval3m[1] > upper3m[1] and interval3m[2] < upper3m[2] and interval3m[3] < upper3m[3]) or
(interval5m < upper5m and interval5m[1] > upper5m[1] and interval5m[2] < upper5m[2] and interval5m[3] < upper5m[3])
and strategy.opentrades.entry_id(0) != 'Sell' and bitcoinSignal == 'Bear' and src < upper1m and src < basis15m
if strategy.opentrades.entry_id(0) == 'Buy'
strategy.close('Buy', 'Bearish Trend Reversal')
strategy.order('Sell', strategy.short, comment = 'Upper band fractal rejection', stop = (upper1m + basis1m)/2)
if (interval3m > basis3m and interval3m[1] < basis3m[1] and interval3m[2] > basis3m[2] and interval3m[3] > basis3m[3]) or
(interval5m > basis5m and interval5m[1] < basis5m[1] and interval5m[2] > basis5m[2] and interval5m[3] > basis5m[3]) and strategy.opentrades.entry_id(0) != 'Buy'
and src > basis1m and src > basis15m
if strategy.opentrades.entry_id(0) == 'Sell'
strategy.close('Sell', 'Basis Band Bullish Reversal')
//strategy.order('Buy', strategy.long, comment = 'Basis band fractal rejection', stop = (lower1m + basis1m)/2)
if (interval3m > lower3m and interval3m[1] < lower3m[1] and interval3m[2] > lower3m[2] and interval3m[3] > lower3m[3]) or
(interval5m > lower5m and interval5m[1] < lower5m[1] and interval5m[2] > lower5m[2] and interval5m[3] > basis5m[3]) and strategy.opentrades.entry_id(0) != 'Buy'
and src > lower1m and src > basis15m and bitcoinSignal == 'Bull'
if strategy.opentrades.entry_id(0) == 'Sell'
strategy.close('Sell', 'Bullish Trend Reversal')
strategy.order('Buy', strategy.long, comment = 'Lower band fractal rejection', stop = (lower1m + basis1m)/2)