
Diese Strategie basiert auf der Doji-Sternform, bei der ein Kauf-Stopp-Brief zwischen dem Doji-Stern-Hoch und dem vorherigen K-Linie-Hoch und ein Verkaufs-Stopp-Brief zwischen dem Doji-Stern-Tief und dem vorherigen K-Linie-Tief platziert wird. Wenn der Preis einen Stopp-Brief auslöst, kann die Option ausgeführt werden, mit einem festen Stop-Loss-Stopp oder mit dem höchsten und niedrigsten Preis der Doji-Sternform als Stop-Loss-Stopp.
Wenn eine Doji-Sternform auftritt, bedeutet dies, dass sich die aktuelle Angebots- und Nachfragebeziehung verändert, die Kräfte der Käufer und Verkäufer sich ausgleichen und ein Preiswechsel möglich ist. Die Strategie besteht darin, die von der Doji-Sternform vorhergesagten Preiswechselsignale zu nutzen, um die Umkehrmöglichkeiten durch das Platzieren einer Stopp-Single zu erfassen.
body=close-open
range=high-low
abody=abs(body)
ratio=abody/range
data=(abs(open - close) <= (high - low) * Doji)
Wenn abs (open-close) <= (high-low)*Der Doji-Parameter wird als Doji-Sternform beurteilt, wobei die Stop-Linie als folgt platziert wird:
longDist= longcandle[1] and range[1]>range? high: max(high,high[1])
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])
Wenn die vorherige K-Line-Einheit größer ist, wird das Kauf-Stopp-Signal zwischen dem Doji-Stern-Hochpunkt und dem vorherigen K-Line-Hochpunkt gekauft. Wenn die vorherige K-Line-Einheit kleiner ist, wird das Kauf-Stopp-Signal als Doji-Stern-Hochpunkt gekauft.
Es gibt zwei Varianten der Ausgangsregeln:
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)
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch Risiken:
Die Strategie kann in folgenden Richtungen optimiert werden:
Die Strategie funktioniert insgesamt gut und bietet gute Handelssignale durch die Erfassung von Doji-Preisumkehrmöglichkeiten. Die Strategie ist gleichzeitig einfach zu bedienen, einfach zu implementieren, geeignet für verschiedene Handelsarten und ist eine praktische, quantitative Handelsstrategie. Durch kontinuierliche Tests und Optimierungen werden bessere Strategieergebnisse erwartet.
/*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)