Strategi take profit dinamis Bollinger band

SMA
Tanggal Pembuatan: 2024-05-24 17:54:47 Akhirnya memodifikasi: 2024-05-24 17:54:47
menyalin: 0 Jumlah klik: 599
1
fokus pada
1617
Pengikut

Strategi take profit dinamis Bollinger band

Ringkasan

Strategi ini menggunakan indikator Bollinger Bands, melakukan shorting saat harga menyentuh rel atas, melakukan over saat harga menyentuh rel bawah, dan mengatur stop loss dinamis, ketika memegang posisi mencapai keuntungan 1%. Gagasan inti dari strategi ini adalah bahwa harga selalu berfluktuasi di dalam Bollinger Bands, dengan karakteristik regresi rata-rata, sehingga dapat melakukan operasi reversal untuk mengambil keuntungan dari selisih harga ketika harga menyimpang terlalu jauh dari rata-rata bergerak.

Prinsip Strategi

  1. Menghitung Moving Average dan Standar Difference: Menggunakan Simple Moving Average (SMA) untuk menghitung Moving Average of the closing price (basis), lalu menghitung Standar Difference of the closing price relative to the Moving Average (dev).
  2. Perhitungan atas dan bawah rel: atas rel ((upper) adalah basis + dev *multiplier, downtrack ((lower) untuk basis - dev *multiplier, di mana multiplier adalah kelipatan dari amplitudo gelombang.
  3. Menciptakan sinyal perdagangan: menghasilkan sinyal multi ketika harga penutupan di atas melewati jalur dan harga penutupan saat ini lebih kecil dari harga pembukaan; menghasilkan sinyal shorting ketika harga penutupan di bawah melewati jalur dan harga penutupan saat ini lebih besar dari harga pembukaan.
  4. Dinamis Stop: Setelah membuka posisi, stop harga dihitung berdasarkan harga buka posisi dan stop rasio (takeProfitPercentage), dan ketika harga mencapai stop harga, posisi ditutup.
  5. Visualisasi: Menggambar Bollinger Bands, Moving Averages, dan Trading Signals pada grafik.

Keunggulan Strategis

  1. Sederhana dan efektif: Strategi ini memiliki logika yang jelas, hanya menggunakan satu indikator teknis, sehingga mudah dipahami dan diterapkan.
  2. Aplikasi yang luas: Bollinger Bands bersifat universal dan dapat digunakan untuk berbagai macam standar perdagangan dan pasar.
  3. Dinamis Stop: Dibandingkan dengan Stop Fixed, Stop Dinamis memungkinkan Anda memaksimalkan keuntungan dari uang kertas profit Anda, sambil mengendalikan risiko.
  4. Efektif menangkap tren: Dalam situasi tren, harga menyentuh rel atas atau rel bawah, biasanya akan terus berjalan di arah asalnya untuk sementara waktu, strategi ini dapat secara efektif menangkap peluang tren tersebut.

Risiko Strategis

  1. Performa buruk di pasar bergolak: Strategi ini dapat menyebabkan sinyal perdagangan yang sering terjadi ketika pasar bergolak lebar dan harga berulang kali menembus dalam zona Bollinger, yang menyebabkan terlalu banyak transaksi dan biaya biaya yang lebih tinggi.
  2. Pembalikan dalam tren: Jika tren berlangsung lama dan harga menyimpang dari garis rata-rata dalam jangka panjang, kemunduran strategi ini mungkin lebih dalam.
  3. Kesulitan memilih parameter: Parameter Bollinger Bands (seperti panjang, perkalian) sangat berpengaruh pada kinerja strategi, tetapi tidak memiliki parameter optimal yang dapat diandalkan di mana saja.

Arah optimasi strategi

  1. Kombinasi penilaian tren: Menambahkan indikator penilaian tren ke dalam strategi (seperti moving average), dapat menghentikan perdagangan dalam situasi tren, atau perdagangan berlanjut.
  2. Optimalkan Stop Loss: Anda dapat secara dinamis menyesuaikan Stop Loss berdasarkan indikator volatilitas seperti ATR untuk mendapatkan rasio risiko keuntungan yang lebih baik.
  3. Kombinasi faktor: Pertimbangkan untuk menggunakan Bollinger Bands dengan indikator teknis lainnya (seperti RSI, MACD, dll.) untuk meningkatkan akurasi sinyal dan mengurangi sinyal palsu.
  4. Pemfilteran dasar: Setelah menghasilkan sinyal perdagangan, Anda dapat melakukan konfirmasi kedua melalui data dasar (seperti laporan keuangan, data industri, dll), sehingga meningkatkan stabilitas strategi.

Meringkaskan

Strategi ini menggunakan Bollinger Bands untuk membangun sistem perdagangan yang sederhana dan efektif, dengan harga yang menyentuh rel atas dan bawah sebagai sinyal, dan menggunakan stop-loss dinamis untuk mengendalikan risiko. Strategi ini berkinerja baik dalam situasi tren, tetapi mungkin menghadapi masalah perdagangan yang sering terjadi di pasar yang bergolak.

Kode Sumber Strategi
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Future Price Prediction", overlay=true)

// Ayarlar
length = input.int(14, "Length")
mult = input.float(2.0, "Multiplier")
showBands = input.bool(true, "Show Bands")
takeProfitPercentage = 1.0

// Ortalama ve Standart Sapma Hesaplamaları
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)

// Üst ve Alt Bantlar
upper = basis + dev
lower = basis - dev

// Grafikte Gösterim
plot(basis, color=color.blue, linewidth=2, title="Basis")
plot(showBands ? upper : na, color=color.red, linewidth=1, title="Upper Band")
plot(showBands ? lower : na, color=color.green, linewidth=1, title="Lower Band")

// Al-Sat Sinyalleri
longCondition = ta.crossover(close[1], lower[1]) and close[1] < open[1]
shortCondition = ta.crossunder(close[1], upper[1]) and close[1] > open[1]

// Kar al seviyeleri
float longTakeProfit = na
float shortTakeProfit = na

if longCondition
    longTakeProfit := close * (1 + takeProfitPercentage / 100)
if shortCondition
    shortTakeProfit := close * (1 - takeProfitPercentage / 100)

// Strateji Giriş ve Çıkış
if longCondition
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit", from_entry="Buy", limit=longTakeProfit)

if shortCondition
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit", from_entry="Sell", limit=shortTakeProfit)

// Al-Sat Sinyalleri Grafikte Gösterim
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Bilgi Tablosu
var table data = table.new(position.bottom_right, 2, 2, frame_color=color.black, frame_width=1)
if barstate.islast
    table.cell(data, 0, 0, "Current Price", text_color=color.white)
    table.cell(data, 1, 0, str.tostring(close))
    table.cell(data, 0, 1, "Predicted Basis", text_color=color.white)
    table.cell(data, 1, 1, str.tostring(basis))