Doji Candlestick Reversal Trading Strategi

Penulis:ChaoZhang, Tarikh: 2023-09-27 16:40:28
Tag:

Ringkasan

Strategi ini mengenal pasti corak lilin doji dan menggabungkan SMA untuk menentukan pembalikan untuk perdagangan. Ia menjana isyarat perdagangan apabila corak doji terbentuk dan harga buka / tutup berada di luar garis SMA. Isyarat bullish dihasilkan pada garis lelaki yang tergantung dan isyarat bearish pada garis bintang yang menembak.

Prinsip-prinsip

Prinsip utama strategi ini ialah:

  1. Mengenal pasti corak doji dengan mengira julat harga buka/tutup berbanding pergerakan harga keseluruhan.

  2. Memeriksa sama ada penutupan sebelumnya di atas / di bawah semasa tinggi / rendah untuk mengelakkan isyarat palsu.

  3. Menghakimi harga pembukaan/penutupan berhubung dengan garis SMA untuk menjana isyarat pembalikan.

  4. Menghasilkan isyarat panjang/pendek apabila corak doji yang layak dikenal pasti.

Langkah utama dalam kod adalah:

  1. Mengira garis SMA

  2. Mengelilingi lilin untuk mengenal pasti corak doji

  3. Memeriksa hubungan dekat sebelum ini berbanding hubungan tinggi/rendah semasa

  4. Pengesahan isyarat pembalikan berdasarkan hubungan terbuka/dekat dan SMA

  5. Merangka penanda isyarat dan mengeluarkan isyarat panjang/pendek

Kelebihan

Kelebihan strategi ini termasuk:

  1. corak Doji adalah jelas dan mudah untuk mengenal pasti / melaksanakan.

  2. Penapis SMA membantu mengurangkan isyarat palsu.

  3. Isyarat panjang/pendek yang jelas menjadikan operasi perdagangan mudah.

  4. Perdagangan pembalikan menangkap trend jangka pendek.

  5. Parameter yang fleksibel boleh disesuaikan dengan keadaan pasaran yang berbeza.

  6. Mudah difahami dan dilaksanakan, pemula mesra.

Risiko

Beberapa risiko yang berpotensi:

  1. Bergantung pada corak tunggal, terdedah kepada pelarian palsu.

  2. Tiada mekanisme berhenti kerugian untuk mengawal kerugian.

  3. Penyesuaian parameter yang tidak baik boleh membawa kepada perdagangan berlebihan.

  4. Bergantung pada trend, berprestasi rendah di pasaran trend.

  5. Prestasi bergantung pada pengoptimuman parameter.

Penyelesaian:

  1. Tambah penapis lain untuk mengesahkan isyarat.

  2. Melaksanakan stop loss untuk menguruskan risiko.

  3. Mengoptimumkan parameter dan mengehadkan kekerapan perdagangan.

  4. Gunakan terutamanya semasa pasaran terhad julat.

  5. Ujian semula dan pengoptimuman berterusan.

Kawasan Peningkatan

Beberapa cara untuk meningkatkan strategi:

  1. Tambah penapis kelantangan untuk mengelakkan gangguan palsu.

  2. Melaksanakan mekanisme stop loss seperti trailing stop loss.

  3. Mengoptimumkan parameter berdasarkan keadaan pasaran seperti trend.

  4. Tambah penunjuk lain untuk mengesahkan isyarat, seperti MACD, KDJ dll.

  5. Tambah penentuan trend untuk mengelakkan perdagangan yang bertentangan dengan trend.

  6. Mengoptimumkan tempoh melihat semula untuk mengimbangi kekerapan dan kualiti.

Ringkasan

Strategi ini menggunakan corak doji dengan SMA untuk perdagangan pembalikan yang cekap. Ia mempunyai kelebihan seperti peraturan yang mudah dan perdagangan yang mudah. Tetapi juga mempunyai risiko dan kawasan untuk peningkatan. Dengan pengoptimuman berterusan, ia boleh menjadi sistem perdagangan jangka pendek yang kukuh.

[/trans]


/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Doji Reversal", overlay=true)

smaPeriod = input(title="SMA Period", defval=10, minval=0)
tolerance = input(title="Tolerance", defval=0.1, minval=0)

lookbackEnd = input(title="End", defval=2, minval=0)

avg = sma(close, smaPeriod)
signal_long = bool(false)
signal_short = bool(false)

for i = 1 to lookbackEnd
    is_doji = (abs(close[i] - open[i]) / (high[i] - low[i])) < tolerance
    signal_long := signal_long or ( is_doji and (close[i-1] <= high[i] or i == 1) and close[i-1] > high[i] and high[i] < avg and close > open )
    signal_short := signal_short or ( is_doji and (close[i-1] >= low[i] or i == 1) and close[i-1] < low[i] and low[i] > avg and close < open )

plotshape(signal_long, "LONG", style=shape.triangleup, size=size.normal)
plotshape(signal_short, "SHORT", style=shape.triangledown, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Lebih lanjut