P
PipsGrowth

Key Takeaways

Difficulty:Intermediate
Reliability:High
Category:advanced
Timeframes:1H, 4H, Daily

Williams Alligator

advancedšŸ“Š 1H, 4H, Daily

Three smoothed moving averages representing Jaw, Teeth, and Lips, showing trend phases.

Formula

Code
Jaw = SMMA(13, 8 bars ahead)
Teeth = SMMA(8, 5 bars ahead)
Lips = SMMA(5, 3 bars ahead)

Detailed Explanation

The Alligator was created by Bill Williams to help identify trends and non-trending periods.

Components:
- Jaw (Blue): 13-period SMMA, shifted 8 bars
- Teeth (Red): 8-period SMMA, shifted 5 bars
- Lips (Green): 5-period SMMA, shifted 3 bars

Trading Setup Example

Entry, stop loss, and take profit levels.

šŸ“ˆ Buy Setup
Williams AlligatorCrossEntryTake ProfitStop LossCandlesMACrossBUY
šŸ“‰ Sell Setup
Williams AlligatorCrossEntryTake ProfitStop LossCandlesMACrossSELL

Always wait for signal confirmation before entering a trade.

Where This Indicator Works Best

Trend context and market position.

šŸ“ˆ Bullish Context
WilliamsStrong Uptrend ↑Best Fit āœ“Continues →
šŸ“‰ Bearish Context
WilliamsStrong Downtrend ↓Best Fit āœ“Continues →

Requires advanced market analysis.

Live Chart — Williams Alligator

See Williams Alligator in action on a live chart. Try changing the settings and timeframe.

Williams Alligator is a manual drawing tool or chart type and cannot be auto-overlaid as a study.

Open Chart on TradingView

Parameters

Jaw Period
Default: 13
Jaw smoothing
Teeth Period
Default: 8
Teeth smoothing
Lips Period
Default: 5
Lips smoothing

šŸ“ˆ Bullish Signals

Lips > Teeth > Jaw with upward slopes

šŸ“‰ Bearish Signals

Lips < Teeth < Jaw with downward slopes

Python Implementation

Alligator indicator calculation

Python
def smma(series, period):
return series.ewm(alpha=1/period, adjust=False).mean()
df['Jaw'] = smma(df['high'] + df['low'], 13).shift(8) / 2
df['Teeth'] = smma(df['high'] + df['low'], 8).shift(5) / 2
df['Lips'] = smma(df['high'] + df['low'], 5).shift(3) / 2

TradingView Pine Script

JavaScript
//@version=5
indicator("Alligator", overlay=true)
[jaw, teeth, lips] = ta.alligator(hl2, 13, 8, 8, 5, 5, 3)
plot(jaw, "Jaw", color=color.blue)
plot(teeth, "Teeth", color=color.red)
plot(lips, "Lips", color=color.green)
šŸ“Š Use TradingView for Advanced Charting
Professional analysis tools with 100+ technical indicators
Get TradingView Pro

MT5 MQL5 Code

C++
int alligator_handle = iAlligator(_Symbol, _Period, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN);
double jaw[], teeth[], lips[];
CopyBuffer(alligator_handle, 0, 0, 100, jaw);
CopyBuffer(alligator_handle, 1, 0, 100, teeth);
CopyBuffer(alligator_handle, 2, 0, 100, lips);

Common Mistakes

āœ—Trading when lines are intertwined
āœ—Ignoring early awakening signals

Confirmation Signals

Fractal signals
Awesome Oscillator
Price action

Best For

Trend identificationBill Williams strategiesRanging vs trending markets

šŸ’” Pro Tips

  • •Part of Bill Williams trading system
  • •Sleeping alligator = don't trade
  • •Awakening signals trend beginning
Last updated: February 8, 2026

Educational Disclaimer

This content is for educational purposes only and does not constitute financial or investment advice. Trading involves significant risk and you may lose your capital. Always consult a licensed financial advisor before making investment decisions.

Frequently Asked Questions

Williams Alligator - Complete Guide with Python & TradingView Code