
Strategi ini adalah berdasarkan Doji Bintang, apabila Doji Bintang berlaku, anda meletakkan stop order antara Doji Bintang tinggi dan satu garis K yang lebih tinggi, dan stop order antara Doji Bintang rendah dan satu garis K yang lebih rendah. Apabila harga mencetuskan Stop order, anda boleh memilih untuk keluar dengan berhenti kerugian tetap, atau dengan harga tertinggi dan terendah dalam bentuk Doji Bintang sebagai berhenti kerugian.
Apabila bentuk bintang Doji muncul, ini menunjukkan bahawa hubungan penawaran dan permintaan semasa berubah, kekuatan pembeli dan penjual semakin seimbang, dan harga mungkin berbalik. Strategi ini adalah menggunakan isyarat pembalikan harga yang diramalkan oleh bentuk bintang Doji, untuk menangkap peluang pembalikan dengan meletakkan single berhenti. Secara khusus, untuk menilai bentuk bintang Doji adalah:
body=close-open
range=high-low
abody=abs(body)
ratio=abody/range
data=(abs(open - close) <= (high - low) * Doji)
Jika abs (open-close) <= (high-low)*Parameter Doji, yang ditakrifkan sebagai bentuk bintang Doji, diletakkan pada titik berhenti. Posisi berhenti adalah seperti berikut:
longDist= longcandle[1] and range[1]>range? high: max(high,high[1])
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])
Jika entiti K-baris sebelumnya lebih besar, membeli berhenti di antara Doji Star High Point dan entiti K-baris sebelumnya. Jika entiti K-baris sebelumnya lebih kecil, membeli berhenti di antara Doji Star High Point.
Terdapat dua pilihan peraturan permainan:
strategy.exit("exit buy","buy stop",loss=SL, profit=TP, when=Use_SL_TP)
strategy.close("buy stop",when=not Use_SL_TP and close<dojilow)
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai risiko:
Strategi ini boleh dioptimumkan dalam beberapa arah:
Strategi ini berfungsi dengan baik secara keseluruhan, dengan menangkap peluang untuk membalikkan harga Doji, isyarat perdagangan yang baik dapat diperoleh. Strategi ini juga mudah dikendalikan, mudah dilaksanakan, sesuai untuk pelbagai jenis perdagangan, dan merupakan strategi perdagangan kuantitatif yang praktikal. Dengan ujian dan pengoptimuman yang berterusan, diharapkan untuk mendapatkan kesan strategi yang lebih baik.
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//This is a simple strategy based on Doji star candlestick
//It places two orders: buy stop at doji star high or previous candle high and sell stop at doji star low or previous candle low.
//This strategy works very well with high time frames like Weekly TF because it eliminates the noise in doji formation.
//
strategy("Doji strategy W", overlay=true, calc_on_every_tick=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
//INPUTS
//MinDistance=input(100,'Minimum distance in ticks')
Use_SL_TP=input(true,'Use stop loss and take profit?')
TP=input(200,'Take Profit in ticks')
SL=input(200,'Stop Loss in tiks')
Doji = input(0.05, minval=0.01, title="Doji size", step=0.01)
//VARIABILI
body=close-open
range=high-low
abody=abs(body)
ratio=abody/range
longcandle= (ratio>0.6)
//Doji
data=(abs(open - close) <= (high - low) * Doji)
plotchar(data, title="Doji", text='Doji', color=black)
longDist= longcandle[1] and range[1]>range? high: max(high,high[1])
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])
dojilow=data==1?low:na
dojihigh=data==1?high:na
goStar=data==1?true:false
//////////////////////////////////////////////////////////////////
//STRATEGY
strategy.order("buy stop",true,stop=longDist, oca_name="Dojy Entry",when=goStar)
strategy.order("sell stop",false,stop=shortDist, oca_name="Dojy Entry",when=goStar)
strategy.exit("exit buy","buy stop",loss=SL, profit=TP, when=Use_SL_TP)
strategy.exit("exit sell","sell stop",loss=SL,profit=TP, when=Use_SL_TP)
strategy.close("buy stop",when=not Use_SL_TP and close<dojilow)
strategy.exit("exit buy","buy stop",profit=TP, when=not Use_SL_TP)
strategy.close("sell stop",when=not Use_SL_TP and close>dojihigh)
strategy.exit("exit sell","sell stop",profit=TP, when=not Use_SL_TP)