דלגו לתוכן
פתיחת RaamTrade

LongLeggedDoji — Long-Legged Doji

תוכן זה אינו זמין עדיין בשפה שלך.

A doji with long shadows on both sides: a wide fight that settled exactly where it started. The purest expression of indecision in the candle vocabulary; returns +1 when present.

Signature

LongLeggedDoji(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 Minimum shadow on each side, as a fraction of the range. Default 0.3, bounds 0.05–0.5.
on= symbol No Source symbol. Defaults to the trade symbol. Reads open, high, low, close.

Formula

Tiny body with both shadows at least shadow_ratio of the range.

Warmup

None.

Reading the value

p.value
p > 0

Pattern 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 IndecisionGate(Strategy):
"""Act on the pattern only in the direction of the longer trend."""
trade = Symbol()
sizing = FixedCapital()
def execute(self):
p = LongLeggedDoji(1, 0.05, 0.3, on=self.trade)
sma = SMA(50, on=self.trade)
if p.value == 0 and self.trade.close > sma.value and self.trade.is_flat:
self.buy(self.trade, reason="No indecision present")
if self.trade.is_long and self.trade.close < sma.value:
self.sell(self.trade, self.trade.position, reason="Trend lost")

Notes

  • Returns +1 for presence, not for direction — a long-legged doji is directionally neutral by construction, which is why it is a filter rather than a trigger.