Strategi Pola Candlestick Trailing Pembalikan


Tanggal Pembuatan: 2024-01-26 16:04:26 Akhirnya memodifikasi: 2024-01-26 16:04:26
menyalin: 1 Jumlah klik: 578
1
fokus pada
1617
Pengikut

Strategi Pola Candlestick Trailing Pembalikan

Ringkasan

Strategi ini melakukan perdagangan otomatis dengan mengidentifikasi bentuk stop, mengimplementasikan sinyal pelacakan perdagangan, dan menggabungkan logika stop loss dengan stop loss. Apabila identifikasi bentuk reversal, melakukan lebih banyak shorting, mencapai posisi yang sama setelah stop loss atau stop loss.

Prinsip Strategi

  1. Identifikasi bentuk acuan: Acuan acuan dianggap sebagai sinyal pelacakan perdagangan ketika entitas acuan berukuran lebih kecil dari nilai acuan yang ditetapkan, dan harga buka setara dengan harga tutup.

  2. Melakukan lebih banyak shorting: Ketika identifikasi bentuk reverse oscillation, jika harga close-out hari sebelumnya lebih tinggi dari dua hari sebelumnya, lakukan lebih banyak shorting; Jika harga close-out hari sebelumnya lebih rendah dari dua hari sebelumnya, lakukan shorting.

  3. Stop loss: Stop loss setelah melakukan overdoing ketika harga mencapai harga masuk plus stop loss; Stop loss setelah melakukan shorting ketika harga mencapai harga masuk minus stop loss; Stop loss setelah melakukan overdoing ketika harga memicu stop loss.

Keunggulan Strategis

  1. Menggunakan bentuk pivot, dapat secara efektif menangkap titik-titik perubahan harga saham, meningkatkan efektivitas sinyal perdagangan.

  2. Dengan mekanisme Stop Loss, Anda dapat secara efektif mengendalikan risiko, mengunci keuntungan, dan menghindari kerugian.

  3. Otomatisasi transaksi, tanpa intervensi manusia, mengurangi biaya transaksi, meningkatkan efisiensi transaksi.

Risiko Strategis

  1. Penghakiman yang bersifat metafisik bersifat subjektif dan dapat menyebabkan kesalahan dalam penghakiman.

  2. Stop loss tidak diatur dengan benar, mungkin akan terjadi kerugian besar atau kerugian prematur.

  3. Parameter kebijakan perlu terus diuji dan dioptimalkan, jika tidak dapat menyebabkan over-fit.

Arah optimasi strategi

  1. Optimalkan kondisi penghakiman kerucut, dikombinasikan dengan lebih banyak indikator K-line untuk meningkatkan akurasi penghakiman.

  2. Uji varietas perdagangan, penyesuaian titik stop loss, optimalisasi parameter.

  3. Menambahkan algoritma untuk menilai lebih banyak sinyal perdagangan, dan memperkaya logika strategi.

  4. Tambahkan modul manajemen posisi, Anda dapat secara dinamis menyesuaikan posisi berdasarkan indikator referensi.

Meringkaskan

Strategi ini dapat mengotomatiskan perdagangan dengan mengidentifikasi sinyal reversal dari bentuk gelung, mengatur aturan stop loss stop loss. Strategi ini sederhana dan mudah dipahami, dan memiliki nilai praktis tertentu. Namun, akurasi identifikasi dan ruang pengoptimalan parameter masih harus ditingkatkan, dan disarankan untuk diuji dan dioptimalkan lebih lanjut sebelum disarankan untuk diterapkan di pasar.

Kode Sumber Strategi
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/01/2019
//   This is a candlestick where the open and close are the same. 
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Doji Backtest", overlay = true)
input_takeprofit = input(10, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
input_minsizebody = input(0.5, title="Min. Size Body pip", step=0.01)
barcolor(abs(close - open) <= input_minsizebody ? open == close ? yellow : na : na)
possell = 0.0
posbuy = 0.0
pospricebuy = 0.0
pospricesell = 0.0
barcolornow = blue
pospricesell := close< close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) 
possell := iff(pospricesell > 0 , -1, 0)
barcolornow := possell == -1 ? red: posbuy == 1 ? green : blue 
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricebuy := close > close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) 
posbuy := iff(pospricebuy > 0 , 1, 0)
barcolornow := posbuy == 1 ? green: barcolornow
pospricebuy := iff(high >= pospricebuy + input_takeprofit and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricebuy := iff(low <= pospricebuy - input_stoploss and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
barcolor(barcolornow)
if (posbuy == 0 and possell == 0) 
    strategy.close_all()
if (posbuy == 1)
    strategy.entry("Long", strategy.long)
if (possell == -1)
    strategy.entry("Short", strategy.short)	   	    
pospricebuy := iff(high <= pospricebuy + input_takeprofit and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricebuy := iff(low >= pospricebuy - input_stoploss and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 ,  nz(pospricesell, 0))