
Strategi ini melakukan perdagangan secara automatik dengan mengenal pasti bentuk terhad, mewujudkan isyarat pelacakan perdagangan, dan menggabungkan logik stop-stop. Apabila mengenal pasti bentuk terbalik, buat lebih banyak shorting, dan mencapai kedudukan kosong selepas berhenti atau berhenti.
Kenali bentuk acuan: Sinyal pelacakan diperhatikan apabila saiz acuan lebih kecil daripada nilai acuan yang ditetapkan dan harga pembukaan sama dengan harga penutupan.
Melakukan lebih banyak shorting: Apabila anda mengenal pasti bentuk reverse oscillation, jika harga penutupan hari sebelumnya lebih tinggi daripada dua hari sebelumnya, lakukan lebih banyak; jika harga penutupan hari sebelumnya lebih rendah daripada dua hari sebelumnya, lakukan shorting.
Hentikan Hentikan: Hentikan Hentikan apabila harga mencapai harga masuk ditambah titik hentikan selepas melakukan overdoing; Hentikan Hentikan apabila harga mencapai harga masuk dan titik hentikan; Hentikan Hentikan apabila harga mencetuskan titik hentikan selepas melakukan overdoing.
Menggunakan bentuk berbalik-balik, anda boleh menangkap titik-titik perubahan harga saham dengan berkesan, meningkatkan keberkesanan isyarat perdagangan.
Digabungkan dengan mekanisme hentian hentian, ia dapat mengawal risiko dengan berkesan, mengunci keuntungan, dan mengelakkan kerugian daripada berkembang.
Automasi urus niaga, mengurangkan kos urus niaga dan meningkatkan kecekapan urus niaga.
Penghakiman bercorak yang agak subjektif dan boleh menyebabkan kesalahan penghakiman.
Stop loss point yang tidak betul, mungkin terlepas sesuatu yang lebih besar atau stop loss terlalu awal.
Parameter strategi perlu sentiasa diuji dan dioptimumkan, jika tidak, ia boleh menyebabkan overfit.
Optimumkan penghakiman bentuk titanium, ditambah dengan lebih banyak petunjuk garis K untuk meningkatkan ketepatan penghakiman.
Uji varian dagangan yang berbeza, sesuaikan titik henti rugi, optimumkan parameter.
Menambah algoritma untuk menilai lebih banyak isyarat dagangan, memperkayakan strategi logik.
Tambah modul pengurusan kedudukan, yang membolehkan anda menyesuaikan kedudukan secara dinamik berdasarkan petunjuk rujukan.
Strategi ini mudah difahami dan mempunyai nilai praktikal tertentu. Tetapi ketepatan pengenalan dan ruang pengoptimuman parameter masih perlu dipertingkatkan, disarankan untuk diuji dan dioptimumkan lebih lanjut sebelum disyorkan untuk aplikasi dalam talian.
/*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))