Strategi ini didasarkan pada pola Doji. Ketika pola Doji muncul, buy stop order ditempatkan antara tinggi Doji dan tinggi lilin sebelumnya, dan sell stop order ditempatkan antara rendah Doji dan rendah lilin sebelumnya. Ketika harga memicu stop order, Anda dapat memilih untuk keluar dengan stop loss tetap dan mengambil keuntungan, atau menggunakan harga tertinggi dan terendah dari pola Doji sebagai stop loss dan mengambil keuntungan. Strategi ini bekerja dengan baik pada jangka waktu yang lebih tinggi seperti harian dan mingguan untuk menyaring kebisingan.
Ketika pola Doji muncul, itu menunjukkan perubahan dalam hubungan penawaran dan permintaan, dengan kekuatan menjadi lebih seimbang, yang dapat menyebabkan pembalikan harga. Strategi ini memanfaatkan sinyal pembalikan harga yang ditunjukkan oleh Doji untuk menangkap peluang melalui perintah berhenti. Secara khusus, kriteria untuk menentukan pola 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, itu dianggap pola Doji, dan perintah berhenti akan ditempatkan.
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 body lilin sebelumnya besar, buy stop order ditempatkan di antara high Doji dan high lilin sebelumnya. jika lilin sebelumnya memiliki body kecil, buy stop order ditempatkan di high Doji. sell stop order mengikuti logika yang sama.
Ada dua pilihan untuk keluar:
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)
Keuntungan dari strategi ini adalah:
Ada beberapa risiko dengan strategi ini:
Beberapa cara untuk mengoptimalkan strategi:
Performa keseluruhan strategi ini baik. Dengan menangkap peluang pembalikan harga Doji, ini dapat menghasilkan sinyal perdagangan yang layak. Juga sederhana untuk diterapkan dan berlaku di berbagai instrumen. Dengan pengujian dan pengoptimalan berkelanjutan, hasil yang lebih baik dapat diharapkan.
/*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)