This Pine Script code is designed to plot Exponential Moving Averages (EMAs) on a chart and generate buy/sell signals based on specific conditions. The code includes a filter to reduce false signals by considering the trend of the EMA 200.
The key components of the code are as follows:
1. Input Variables: The code starts by defining input variables such as the periods for the EMAs (ema200Period, ema50Period, ema13Period), the Average True Range period (atrPeriod), and the chopiness threshold (chopinessThreshold).
2. Calculating EMAs: The EMAs (ema200, ema50, ema13) are calculated using the `ema()` function based on the closing price.
3. Average True Range (ATR): The ATR is calculated using the `atr()` function with the specified period (atrPeriod).
4. Normalized ATR: The normalized ATR is computed by dividing the ATR by the closing price and multiplying by 100. This allows for better comparison across different price levels.
5. EMA 200 Trend Direction: The code determines the trend direction of the EMA 200 by comparing the current value with the previous value. The variables `ema200TrendUp` and `ema200TrendDown` are assigned `true` or `false` values based on the trend direction.
6. Generate Buy/Sell Signals: The buySignal is generated when the following conditions are met: - There is a crossover of the shorter EMAs (ema13, ema50). - The EMA 200 is in an uptrend (`ema200TrendUp` is true). - The current close is above the EMA 200. - The normalized ATR is below the specified chopiness threshold.
The sellSignal is generated when the opposite conditions are met.
7. Plotting: The EMAs (ema200, ema50, ema13) are plotted on the chart using the `plot()` function. The buy and sell signals are plotted as labels using the `plotshape()` function. The buySignal is displayed below the candle (`location=location.belowbar`), and the sellSignal is displayed above the candle (`location=location.abovebar`).
By incorporating these features, the code provides a visual representation of the EMAs, along with buy and sell signals that consider the EMA 200 trend, crossover of shorter EMAs, and the normalized ATR condition. This helps in identifying potential entry and exit points in the market while attempting to reduce false signals.
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.