
Strategi berbalik arah adalah strategi perdagangan berbalik yang berdasarkan pada titik pivot harga. Ia mengesan harga dalam beberapa bar untuk menentukan kapan harga mungkin berbalik. Apabila harga melampaui titik teratas, masuk ke arah yang berbalik.
Logik utama strategi berpatah balik dua hala ialah:
Penggunaanpivothigh() danpivotlow()Fungsi ini mengira harga tertinggi dan terendah dalam n bar terakhir sebagai titik nilai teratas. Di sini, n ditetapkan sebagai 4.
Apabila bar terkini berada di atas paras maksimum, strategi menganggap bahawa harga mungkin akan berbalik, dan membuat kemasukan shorting.
Apabila titik rendah bar terkini berada di bawah titik terendah, strategi menganggap harga mungkin berbalik dan melakukan lebih banyak masuk. Stop loss diletakkan di bawah titik terendah.
Apabila harga berbalik ke atas titik terhad, isyarat terdahulu tidak sah dan menunggu peluang perdagangan seterusnya.
Dengan cara ini, strategi ini mengambil peluang untuk membalikkan harga dalam jangka pendek apabila ia melampaui titik kritis. Di samping itu, anda boleh mengawal risiko dengan menetapkan stop loss.
Kaedah ini mempunyai kelebihan berikut:
Pemikiran sellable/round, menggunakan titik nilai tertinggi untuk menentukan titik putaran.
Ia sesuai untuk pasaran seperti cryptocurrency yang berfluktuasi tinggi, dan dapat memanfaatkan peluang untuk membalikkan garis pendek.
Peraturan-peraturan ini agak mudah dan mudah difahami.
Hanya 10% boleh ditarik balik dan risiko boleh dikawal.
Keuntungan mencapai 350%, nisbah Sharp melebihi 1.
Ini adalah salah satu daripada beberapa risiko yang boleh dihadapi oleh strategi penembusan dua hala:
Apabila trend pasaran berterusan, ia akan menghasilkan beberapa hentian kecil.
Titik ekstrem tidak semestinya titik balik, terdapat risiko untuk kehilangan atau tidak mencukupi.
Apabila titik kritikal ditembusi, tidak ada jaminan untuk segera berbalik, dan terdapat risiko untuk mengejar kerugian.
Hanya memerlukan 4 bar yang paling baru, mungkin jarak sampel terlalu kecil.
Tidak mengambil kira kecairan pasaran, kemasukan besar mungkin memberi kesan kepada harga.
Tempoh jangka pendek untuk pengesanan, dan kesan jangka panjangnya tidak pasti.
Strategi pembalikan arah dua hala boleh dioptimumkan dengan:
Tambah tempoh masa titik teratas untuk mengelakkan sampel terlalu kecil. Anda boleh menetapkan tempoh dinamik.
Selepas melanggar titik teratas, tunggu isyarat pengesahan tambahan untuk mengelakkan pelanggaran palsu.
Bergantung kepada keadaan kecairan pasaran, kedudukan masuk disesuaikan secara dinamik.
Gabungan dengan penunjuk trend, untuk mengelakkan reversal-stop loss yang kerap berlaku dalam trend.
Tambah strategi untuk menggerakkan garis hentian anda supaya hentian anda dapat menjejaki keuntungan.
Parameter ujian untuk pelbagai jenis, menetapkan parameter optimum.
Menambah masa pengulangan yang lebih lama dan data niaga hadapan untuk mengesahkan kestabilan strategi.
Strategi berpatah balik dua arah menggunakan titik harga yang ekstrem untuk menentukan masa berpatah balik, dan dapat menangkap peluang garis pendek di pasaran yang bergelombang tinggi. Kelebihannya adalah peraturan yang mudah, penarikan balik yang rendah, dan kadar pulangan yang tinggi. Tetapi ada juga risiko kehilangan pembalikan dan mengejar kerugian.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("QuantNomad - Pivot Reversal Strategy - XBTUSD - 1h", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50)
//
// author: QuantNomad
// date: 2019-06-01
// Pivot Reversal Strategy - XBTUSD - 1h
// https://www.tradingview.com/u/QuantNomad/
// https://t.me/quantnomad
//
leftBars = input(4)
rightBars = input(4)
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])
if (le)
strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
if (se)
strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)