DragonflyDoji — Dragonfly Doji
תוכן זה אינו זמין עדיין בשפה שלך.
A doji whose open and close sit at the top of the range, with a long lower shadow: sellers took price down through the session and were rejected entirely. Bullish; returns +1.
Signature
DragonflyDoji(lookback, body_ratio, shadow_ratio, on=<source>)| Argument | Type | Required | Notes |
|---|---|---|---|
lookback |
int Param | Yes | Pinned at 1. Bounds 1–1. |
body_ratio |
float Param or literal | Yes | Largest body as a fraction of the range. Default 0.05, bounds 0.001–0.5. |
shadow_ratio |
float Param or literal | Yes | Largest upper shadow as a fraction of the range. Default 0.1, bounds 0.0–0.5. |
on= |
symbol | No | Source symbol. Defaults to the trade symbol. Reads open, high, low, close. |
Formula
Tiny body, upper shadow within shadow_ratio of the range; the rest of the range is the lower shadow.
Warmup
None.
Reading the value
p.valuep > 0Pattern indicators return a flag, not a level: +1 bullish, -1 bearish, 0 absent. They
are zero on most bars by design, so treat them as event triggers rather than as something to
smooth or cross.
Example
class DragonflyEntry(Strategy): """Act on the pattern only in the direction of the longer trend.""" trade = Symbol() sizing = FixedCapital()
def execute(self): p = DragonflyDoji(1, 0.05, 0.1, on=self.trade) sma = SMA(50, on=self.trade) if p.value > 0 and self.trade.is_flat: self.buy(self.trade, reason="Dragonfly doji") if self.trade.is_long and self.trade.close < sma.value: self.sell(self.trade, self.trade.position, reason="Trend lost")Notes
- Geometrically a doji-bodied hammer. Unlike
Hammerit does not require a prior downtrend, so it fires more often and means less on its own.