Strategi perdagangan pita volatilitas multi-lapis

SMA EMA SMMA WMA VWMA ATR
Tanggal Pembuatan: 2024-07-31 14:08:36 Akhirnya memodifikasi: 2024-07-31 14:08:36
menyalin: 1 Jumlah klik: 583
1
fokus pada
1617
Pengikut

Strategi perdagangan pita volatilitas multi-lapis

Ringkasan

Strategi perdagangan pita gelombang multi-lapisan adalah metode perdagangan kuantitatif yang didasarkan pada volatilitas harga. Strategi ini menggunakan beberapa gelombang untuk mengidentifikasi area overbought dan oversold di pasar, dan melakukan perdagangan ketika harga menyentuh area tersebut. Gagasan utama strategi ini adalah untuk membangun posisi ketika harga menyimpang dari rata-rata, dan mendapatkan keuntungan ketika harga kembali.

Prinsip Strategi

  1. Perhitungan rata-rata: Strategi menggunakan tipe rata-rata yang dapat dipilih (SMA, EMA, SMMA, WMA, VWMA) untuk menghitung garis dasar.

  2. Pengaturan pita gelombang: Berdasarkan garis dasar, menggunakan perbedaan standar kali ganda untuk mengatur pita gelombang multi-lapisan.

  3. Tingkat Fibonacci: Menggunakan level Fibonacci retracement ((23.6%, 38.2%, 50%, 61.8%) untuk membagi band volatilitas dan menciptakan lebih banyak peluang perdagangan.

  4. Penyesuaian dinamis: Anda dapat memilih untuk menggunakan perkalian dinamis untuk menyesuaikan bandwidth oscillasi secara otomatis berdasarkan ATR (Average True Range).

  5. Logika masuk: Strategi ini membangun posisi di arah itu ketika harga menyentuh atau melintasi band fluktuasi tertentu.

  6. Mekanisme Peningkatan Posisi: Jika harga terus bergerak ke arah yang tidak menguntungkan, strategi ini akan meningkatkan posisi di level band yang lebih jauh, yang mencerminkan pemikiran strategi Martingale.

  7. Logika Keluar: Anda dapat memilih untuk mengambil keuntungan ketika harga kembali ke garis acuan. Anda juga dapat mengatur posisi yang sama ketika harga melintasi garis acuan.

Keunggulan Strategis

  1. Multi-Layer Entry: Strategi ini memberikan lebih banyak peluang perdagangan dengan pengaturan beberapa band volatilitas dan tingkat Fibonacci, yang dapat menangkap fluktuasi pasar pada tingkat harga yang berbeda.

  2. Fleksibilitas: Strategi memungkinkan pengguna untuk memilih jenis garis rata-rata, siklus, dan parameter yang berbeda untuk menyesuaikan dengan lingkungan pasar dan varietas perdagangan yang berbeda.

  3. Adaptasi Dinamis: Fungsi kelipatan dinamis yang dapat dipilih memungkinkan strategi untuk menyesuaikan diri secara otomatis dengan volatilitas pasar, meningkatkan adaptasi strategi.

  4. Manajemen risiko: Dengan meningkatkan posisi dalam tren yang tidak menguntungkan, strategi ini mencoba untuk menurunkan harga masuk rata-rata dan meningkatkan kemungkinan keuntungan akhir.

  5. Ide Regression to Average: Strategi didasarkan pada gagasan bahwa harga akhirnya akan kembali ke nilai rata-rata, yang berkinerja baik di banyak pasar dan kerangka waktu.

  6. Kustomisasi: Pengguna dapat menyesuaikan parameter sesuai dengan preferensi risiko dan gaya perdagangan mereka, seperti jumlah saham, Fibonacci Equity.

Risiko Strategis

  1. Risiko kerugian berkelanjutan: Dalam pasar tren yang kuat, harga dapat terus menerus menembus beberapa zona fluktuasi, yang menyebabkan kenaikan posisi berturut-turut dan akumulasi kerugian besar.

  2. Tekanan manajemen dana: Strategi penambahan dana seperti Martin Engels dapat menyebabkan peningkatan permintaan dana yang lebih besar dari kapasitas akun.

  3. Overtrading: Banding gelombang multi-lapisan dapat menghasilkan terlalu banyak sinyal perdagangan di pasar yang bergoyang, meningkatkan biaya transaksi.

  4. Sensitivitas parameter: kinerja kebijakan sangat bergantung pada pengaturan parameter, dan parameter yang tidak tepat dapat menyebabkan kinerja kebijakan yang buruk.

  5. Slippage dan risiko likuiditas: Dalam pasar yang sangat berfluktuasi, kemungkinan terjadinya slippage yang serius, terutama ketika melakukan penargetan.

  6. Risiko penarikan balik: Meskipun strategi ini bertujuan untuk menurunkan biaya rata-rata melalui penarikan balik, penarikan balik yang besar masih mungkin terjadi dalam kondisi pasar yang ekstrim.

Arah optimasi strategi

  1. Masukkan filter tren: Anda dapat menambahkan indikator tren jangka panjang, hanya membuka posisi di arah tren, dan menghindari sering berdagang mundur dalam tren yang kuat.

  2. Manajemen Posisi Dinamis: Mengatur jumlah saham yang diperdagangkan setiap kali sesuai dengan ukuran akun dan dinamika volatilitas pasar untuk mengendalikan risiko dengan lebih baik.

  3. Optimalkan mekanisme keluar: Anda dapat mempertimbangkan untuk memperkenalkan trailing stop atau stop loss dinamis berdasarkan volatilitas untuk lebih mengunci keuntungan dan mengendalikan risiko.

  4. Menambahkan waktu penyaringan: Tambahkan batas jendela waktu perdagangan untuk menghindari periode dengan volatilitas tinggi atau kurang likuiditas.

  5. Mengintegrasikan indikator sentimen pasar: Mengintegrasikan indikator volatilitas seperti VIX untuk menyesuaikan parameter strategi atau menghentikan perdagangan selama periode volatilitas tinggi.

  6. Memperkenalkan pembelajaran mesin: Menggunakan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara dinamis, meningkatkan adaptasi strategi terhadap perubahan pasar.

  7. Menambahkan filter dasar: Menggabungkan data dasar untuk memungkinkan transaksi hanya dalam kondisi dasar tertentu, meningkatkan kualitas transaksi.

Meringkaskan

Strategi perdagangan pita gelombang multi-tingkat adalah sistem perdagangan yang kompleks yang menggabungkan analisis teknis, teori probabilitas, dan manajemen risiko. Ini mencoba untuk menangkap keuntungan dalam fluktuasi harga melalui titik masuk bertingkat dan metode penambahan Martingale. Keunggulan strategi ini adalah fleksibilitas dan pemanfaatan regresi terhadap nilai rata-rata, tetapi juga menghadapi risiko dalam pasar tren yang kuat.

Untuk berhasil menerapkan strategi ini, pedagang perlu memahami karakteristik pasar dengan mendalam, mengatur parameter dengan hati-hati, dan menerapkan manajemen risiko yang ketat. Strategi ini memiliki potensi untuk menjadi alat perdagangan yang efektif dengan pengoptimalan dan pengujian berkelanjutan, yang dikombinasikan dengan wawasan pasar. Namun, mengingat kompleksitas dan potensi risikonya, disarankan untuk melakukan pengujian simulasi dan penilaian risiko yang memadai sebelum melakukan perdagangan di tempat.

Secara keseluruhan, multi-layered band trading strategi menyediakan sebuah kerangka yang menarik dan menantang bagi para trader kuantitatif, dan penerapannya yang sukses membutuhkan kemampuan analisis teknis, keterampilan manajemen risiko, dan optimasi strategi yang berkelanjutan.

Kode Sumber Strategi
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © abtov

//@version=5
strategy("Spider Strategy", overlay=true)

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => 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)

stdev = input.int(56, "STDEV", group="Stdev")
mult = input.float(2.3, "Multiplier", group="Stdev")
ma_len = input.int(230, "Basis Length", group="Stdev")
ma_type = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Stdev")
auto_mult = input.bool(true, "Dynamic Mult.", group="Stdev")
basis_exit = input.bool(false, "Basis Exit", group="Stdev")

col_int = input.int(12, "Collective Value", group="Collective")
col_input = input.bool(true, "Collective Input", group="Collective")


fib1 = input.float(0.236, "Fibonacci Level 1", group = "Fibonacci")
fib2 = input.float(0.382, "Fibonacci Level 2", group = "Fibonacci")
fib3 = input.float(0.5, "Fibonacci Level 3", group = "Fibonacci")
fib4 = input.float(0.618, "Fibonacci Level 4", group = "Fibonacci")

atr_len = input.int(30, "ATR", group="ATR")
atr_bias = input.float(0.72, "Bias", group="ATR")

shares = input.int(1, "Shares Amount", group="Strategy")

if(col_input == true)
    stdev := col_int
    ma_len := col_int
    atr_len := col_int

if(auto_mult == true)
    mult := ma(ta.tr(true), atr_len, ma_type) * atr_bias


basis = ma(close, ma_len, ma_type)
lower = basis - stdev * mult
upper = basis + stdev * mult

lower2 = basis - stdev * mult * fib1
upper2 = basis + stdev * mult * fib1

lower3 = basis - stdev * mult * fib2
upper3 = basis + stdev * mult * fib2

lower4 = basis - stdev * mult * fib3
upper4 = basis + stdev * mult * fib3

lower5 = basis - stdev * mult * fib4
upper5 = basis + stdev * mult * fib4


var lowerAct = false
var lower2Act = false
var lower3Act = false
var lower4Act = false
var lower5Act = false

var upperAct = false
var upper2Act = false
var upper3Act = false
var upper4Act = false
var upper5Act = false


plot(upper, "limit short", color.red)
plot(upper2, "limit 1 short", color.red)
plot(upper3, "limit 2 short", color.red)
plot(upper4, "limit 3 short", color.red)
plot(upper5, "limit 4 short", color.red)
plot(basis, "basis", color.white)
plot(lower, "limit long", color.green)
plot(lower2, "limit 1 long", color.green)
plot(lower3, "limit 2 long", color.green)
plot(lower4, "limit 3 long", color.green)
plot(lower5, "limit 4 long", color.green)


if(lowerAct == false)
    if(close < lower)
        strategy.entry("long", strategy.long, shares)
        lowerAct := true
else
    if(low > basis)
        lowerAct := false


if(lower2Act == false)
    if(close < lower2)
        strategy.entry("long", strategy.long, shares)
        lower2Act := true
else
    if(low > basis)
        lower2Act := false


if(lower3Act == false)
    if(close < lower3)
        strategy.entry("long", strategy.long, shares)
        lower3Act := true
else
    if(low > basis)
        lower3Act := false


if(lower4Act == false)
    if(close < lower4)
        strategy.entry("long", strategy.long, shares)
        lower4Act := true
else
    if(low > basis)
        lower4Act := false


if(lower5Act == false)
    if(close < lower5)
        strategy.entry("long", strategy.long, shares)
        lower5Act := true
else
    if(low > basis)
        lower5Act := false





if(upperAct == false)
    if(close > upper)
        strategy.entry("short", strategy.short, shares)
        upperAct := true
else
    if(high < basis)
        upperAct := false


if(upper2Act == false)
    if(close > upper2)
        strategy.entry("short", strategy.short, shares)
        upper2Act := true
else
    if(high < basis)
        upper2Act := false


if(upper3Act == false)
    if(close > upper3)
        strategy.entry("short", strategy.short, shares)
        upper3Act := true
else
    if(high < basis)
        upper3Act := false


if(upper4Act == false)
    if(close > upper4)
        strategy.entry("short", strategy.short, shares)
        upper4Act := true
else
    if(high < basis)
        upper4Act := false


if(upper5Act == false)
    if(close > upper5)
        strategy.entry("short", strategy.short, shares)
        upper5Act := true
else
    if(high < basis)
        upper5Act := false


if((ta.crossover(close, basis) and basis_exit == true))
    strategy.close("short")
    strategy.close("long")