Buscar en scripts para "ema"
EMA Bar ColoringHi,
This is a simple visualization because I wanted to use tradingview on the cellphone with less Lines and Easy to understand.
There are 4 moving averages for each level of the closing price, the color changes.
The Moving averages can be seen in the option tab.
Also the plot of the closing prices can also be seen.
It works better with bar charts.
Best Regards,
RERS
EMAs: 10,20
Hello this is a script that seeks to increase a bit the number of indicators used in the free version. its use is to know if a trend continues or will change, it is a very used and simple but efficient system. If the distance between the lines remains constant then it indicates or gives an indication that the trend continues but if they are cut it indicates or gives an indication of change of interest.
sorry for my bad english but I speak spanish
Infinite EMA with Alpha Control♾️ Infinite EMA with Alpha Control
What Makes This EMA "Infinite"?
Unlike traditional EMA indicators that are limited to typical periods (1-5000), this Infinite EMA breaks all boundaries. You can create EMAs with periods of 1,000, 10,000, or even 1,000,000 bars - that's why it's called "infinite"! Also Infinite EMA starts working immediately from the very first bar on your chart
Why This EMA is "Infinite":
1. Mathematically: When N → ∞, alpha → 0, meaning infinitely long "memory"
2. Practically: You can set any period - even 100,000 bars
3. Flexibility: Alpha allows precise control over the "forgetting speed"
How Does It Work?
The magic lies in the Alpha parameter. While regular EMAs use fixed formulas, this indicator gives you direct control over the EMA's "memory" through Alpha values:
• High Alpha (0.1-0.2): Fast reaction, short memory
• Medium Alpha (0.01-0.05): Balanced response
• Low Alpha (0.0001-0.001): Extremely slow reaction, very long memory
• Ultra-low Alpha (0.000001): Almost frozen in time
The Mathematical Formula:
Alpha = 2 / (Period + 1)
This means you can achieve any EMA period by adjusting Alpha, giving you infinite flexibility!
Expanded "Infinite EMA" Table:
Period EMA (N) - Alpha (Rounded) - Alpha (Exact) - Description
10 - 0.1818 - 0.181818... - Fast EMA
20 - 0.0952 - 0.095238... - Short-term
50 - 0.0392 - 0.039215... - Medium-term
100 - 0.0198 - 0.019801... - Long-term
200 - 0.0100 - 0.009950... - Standard long-term
500 - 0.0040 - 0.003996... - Very long-term
1,000 - 0.0020 - 0.001998... - Super long-term
2,000 - 0.0010 - 0.000999... - Ultra long-term
5,000 - 0.0004 - 0.000399... - Mega long-term
10,000 - 0.0002 - 0.000199... - Giga long-term
25,000 - 0.00008 - 0.000079... - Century-scale EMA
50,000 - 0.00004 - 0.000039... - Practically motionless
100,000 - 0.00002 - 0.000019... - "Glacial" EMA
500,000 - 0.000004 - 0.000003... - Geological timescale
1,000,000 - 0.000002 - 0.000001... - Approaching constant
5,000,000 - 0.0000004 - 0.0000003... - Virtually static
10,000,000 - 0.0000002 - 0.0000001... - Nearly flat line
100,000,000 - 0.00000002 - 0.00000001... - Mathematical infinity
Formula: Alpha = 2/(N+1) where N is the EMA period
Key Features:
Dual EMA System: Run fast and slow EMAs simultaneously
Crossover Signals: Automatic buy/sell signals with customizable alerts
Alpha Control: Direct mathematical control over EMA behavior
Infinite Periods: From 1 to 100,000,000+ bars
Visual Customization: Colors, fills, backgrounds, signal sizes
Instant Start: Works accurately from the very first bar
Update Intervals: Control calculation frequency for noise reduction
Why Choose Infinite EMA?
1. Unlimited Flexibility: Any period you can imagine
2. Mathematical Precision: Direct alpha control for exact behavior
3. Professional Grade: Suitable for all trading styles
4. Easy to Use: Simple settings with powerful results
5. No Warm-up Period: Accurate values from bar #1
Simple Explanation:
Think of EMA as a "memory system":
• High Alpha = Short memory (forgets quickly, reacts fast)
• Low Alpha = Long memory (remembers everything, moves slowly)
With Infinite EMA, you can set the "memory length" to anything from seconds to centuries!
⚡ Instant Start Feature - EMA from First Bar
Immediate Calculation from Bar #1
Unlike traditional EMA indicators that require a "warm-up period" of N bars before showing accurate values, Infinite EMA starts working immediately from the very first bar on your chart.
How It Works:
Traditional EMA Problem:
• Standard 200-period EMA: Needs 200+ bars to become accurate
• First 200 bars: Shows incorrect/unstable values
• Result: Large portions of historical data are unusable
Infinite EMA Solution:
Bar #1: EMA = Current Price (perfect starting point)
Bar #2: EMA = Alpha × Price + (1-Alpha) × Previous EMA
Bar #3: EMA = Alpha × Price + (1-Alpha) × Previous EMA
...and so on
Key Benefits:
No Warm-up Period: Start trading signals from day one
Full Chart Coverage: Every bar has a valid EMA value
Historical Accuracy: Backtesting works on entire dataset
New Markets: Works perfectly on newly listed assets
Short Datasets: Effective even with limited historical data
Practical Impact:
Scenario Traditional EMA Infinite EMA
New cryptocurrency Unusable for first 200 days ✅ Works from day 1
Limited data (< 200 bars) Inaccurate values ✅ Fully functional
Backtesting Must skip first 200 bars ✅ Test entire history
Real-time trading Wait for stabilization ✅ Trade immediately
Technical Implementation:
if barstate.isfirst
EMA := currentPrice // Perfect initialization
else
EMA := alpha × currentPrice + (1-alpha) × previousEMA
This smart initialization ensures mathematical accuracy from the very first calculation, eliminating the traditional EMA "ramp-up" problem.
Why This Matters:
For Backesters: Use 100% of available data
For Live Trading: Get signals immediately on any timeframe
For Researchers: Analyze complete datasets without gaps
Bottom Line: Infinite EMA is ready to work the moment you add it to your chart - no waiting, no warm-up, no exceptions!
Unlike traditional EMAs that require a "warm-up period" of 200+ bars before showing accurate values, Infinite EMA starts working immediately from bar #1.
This breakthrough eliminates the common problem where the first portion of your chart shows unreliable EMA data. Whether you're analyzing a newly listed cryptocurrency, working with limited historical data, or backtesting strategies, every single bar provides mathematically accurate EMA values.
No more waiting periods, no more unusable data sections - just instant, reliable trend analysis from the moment you apply the indicator to any chart.
🔄 Update Interval Bars Feature
The Update Interval feature allows you to control how frequently the EMA recalculates, providing flexible noise filtering without changing the core mathematics.
Set to 1 for standard behavior (updates every bar), or increase to 5-10 for smoother signals that update less frequently. Higher intervals reduce market noise and false signals but introduce slightly more lag. This is particularly useful on volatile timeframes where you want the EMA's directional bias without every minor price fluctuation affecting the calculation.
Perfect for swing traders who prefer cleaner, more stable trend lines over hyper-responsive indicators.
Conclusion
The Infinite EMA transforms the traditional EMA from a fixed-period tool into a precision instrument with unlimited flexibility. By understanding the Alpha-Period relationship, traders can create custom EMAs that perfectly match their trading style, timeframe, and market conditions.
The "infinite" nature comes from the ability to set any period imaginable - from ultra-fast 2-bar EMAs to glacially slow 10-million-bar EMAs, all controlled through a single Alpha parameter.
________________________________________
Whether you're a beginner looking for simple trend following or a professional researcher analyzing century-long patterns, Infinite EMA adapts to your needs. The power of infinite periods is now in your hands! 🚀
Go forward to the horizon. When you reach it, a new one will open up.
- J. P. Morgan
Kalman Ema Crosses - [JTCAPITAL]Kalman EMA Crosses - is a modified way to use Kalman Filters applied on Exponential Moving Averages (EMA Crosses) for Trend-Following.
The Kalman filter is a recursive smoothing algorithm that reduces noise from raw price or indicator data, and in this script it is applied both directly to price and on top of EMA calculations. The goal is to create cleaner, more reliable crossover signals between two EMAs that are less prone to false triggers caused by volatility or market noise.
The indicator works by calculating in the following steps:
Source Selection
The script starts by selecting the price input (default is Close, but can be adjusted). This chosen source is the foundation for all further smoothing and EMA calculations.
Kalman Filtering on Price
Depending on user settings, the selected source is passed through one of two independent Kalman filters. The filter takes into account process noise (representing expected market randomness) and measurement noise (representing uncertainty in the price data). The Kalman filter outputs a smoothed version of price that minimizes noise and preserves underlying trend structure.
EMA Calculation
Two exponential moving averages (EMA 1 and EMA 2) are then computed on the Kalman-smoothed price. The lengths of these EMAs are fully customizable (default 15 and 25).
Kalman Filtering on EMA Values
Instead of directly using raw EMA curves, the script applies a second layer of Kalman filtering to the EMA values themselves. This step significantly reduces whipsaw behavior, creating smoother crossovers that emphasize real momentum shifts rather than temporary volatility spikes.
Trend Detection via EMA Crossovers
-A bullish trend is detected when EMA 1 (fast) crosses above EMA 2 (slow).
-A bearish trend is detected when EMA 1 crosses below EMA 2.
The detected trend state is stored and used to dynamically color the plots.
Visual Representation
Both EMAs are plotted on the chart. Their colors shift to blue during bullish phases and purple during bearish phases. The area between the two EMAs is filled with a shaded region to clearly highlight trending conditions.
Buy and Sell Conditions :
- Buy Condition : When the Kalman-smoothed EMA 1 crosses above the Kalman-smoothed EMA 2, a bullish crossover is confirmed.
- Sell Condition : When EMA 1 crosses below EMA 2, a bearish crossover is confirmed.
Users may enhance the robustness of these signals by adjusting process noise, measurement noise, or EMA lengths. Lower measurement noise values make the filter react faster (but potentially noisier), while higher values make it smoother (but slower).
Features and Parameters :
- Source : Selectable price input (Close, Open, High, Low, etc.).
- EMA 1 Length : Defines the fast EMA period.
- EMA 2 Length : Defines the slow EMA period.
- Process Noise : Controls how much randomness the Kalman filter assumes in price dynamics.
- Measurement Noise : Controls how much uncertainty is assumed in raw input data.
- Kalman Usage : Option to apply Kalman filtering either before EMA calculation (on price) or after (on EMA values).
Specifications :
Kalman Filter
The Kalman filter is an optimal recursive algorithm that estimates the state of a system from noisy measurements. In trading, it is used to smooth prices or indicator values. By balancing process noise (expected volatility) with measurement noise (data uncertainty), it generates a smoothed signal that reacts adaptively to market conditions.
Exponential Moving Average (EMA)
An EMA is a weighted moving average that emphasizes recent data more heavily than older data. This makes it more responsive than a simple moving average (SMA). EMAs are widely used to identify trends and momentum shifts.
EMA Crossovers
The crossing of a fast EMA above a slow EMA suggests bullish momentum, while the opposite suggests bearish momentum. This is a cornerstone technique in trend-following systems.
Dual Kalman Filtering
Applying Kalman both to raw price and to the EMAs themselves reduces whipsaws further. It creates crossover signals that are not only smoothed but also validated across two levels of noise reduction. This significantly enhances signal reliability compared to traditional EMA crossovers.
Process Noise
Represents the filter’s assumption about how much the underlying market can randomly change between steps. Higher values make the filter adapt faster to sudden changes, while lower values make it more stable.
Measurement Noise
Represents uncertainty in price data. A higher measurement noise value means the filter trusts the model more than the observed data, leading to smoother results. A lower value makes the filter more reactive to observed price fluctuations.
Trend Coloring & Fill
The use of dynamic colors and filled regions provides immediate visual recognition of trend states, helping traders act faster and with greater clarity.
Enjoy!
Multi-Timeframe EMAs with Cross Alerts (Up & Down)📌 Indicator Name:
Multi-Timeframe EMAs with Cross Alerts (Up & Down)
🛠️ Core Features:
✅ 1. Multi-Timeframe EMA Display
The script calculates and displays 6 different Exponential Moving Averages (EMAs).
Each EMA has:
Custom length input (e.g., 9, 21, etc.).
Custom timeframe selection (e.g., 1H, 4H, 1D).
Custom color for easy identification on the chart.
✅ 2. EMA Visualization
Each of the six EMAs is plotted on the chart using the selected color and thickness.
They respond dynamically to different timeframes (current or higher/lower).
✅ 3. Cross Detection Logic
The script can detect crossover and crossunder between EMA pairs:
EMA 1 and EMA 2
EMA 3 and EMA 4
EMA 5 and EMA 6
(Optional: can be extended to other combinations.)
✅ 4. Alert Toggles
Users can enable or disable alerts for each pair independently:
Alert: EMA 1 crosses EMA 2
Alert: EMA 3 crosses EMA 4
Alert: EMA 5 crosses EMA 6
(You added an additional option for EMA 4 vs EMA 6 later.)
✅ 5. Visual Alert Markers
The script uses alert() function to send alert messages when:
An EMA crosses above another (crossover)
An EMA crosses below another (crossunder)
Alerts include clear icons like 🔼 and 🔽 in the messages.
🔔 Use Case Scenarios
Swing traders: Identify longer-term cross signals on higher timeframes.
Scalpers: Use lower-timeframe EMAs with fast alert reactions.
Multi-timeframe analysis: Spot alignment between trend-following EMAs across different periods.
✅ Bonus
Fully customizable — great for adapting to your own strategy, whether it's trend confirmation, re-entry signals, or early reversals
📌 اسم المؤشر:
المتوسطات المتحركة الأسية (EMA) متعددة الفريمات مع تنبيهات تقاطع صاعدة وهابطة
🛠️ الميزات الأساسية:
✅ 1. دعم متعدد للفريمات الزمنية
يقوم السكربت بحساب وعرض 6 متوسطات متحركة أسية (EMA) مختلفة.
يمكن تخصيص كل EMA من حيث:
الطول (مثل: 9، 21...).
الفريم الزمني (مثل: الساعة، الأربع ساعات، اليومي...).
اللون، لتسهيل التمييز بين الخطوط على الشارت.
✅ 2. عرض المتوسطات على الرسم البياني
يتم رسم كل من المتوسطات الستة باستخدام اللون والتنسيق الذي تختاره.
المتوسطات تتفاعل تلقائيًا مع التغييرات في الفريم الزمني.
✅ 3. كشف التقاطعات
يمكن للسكربت كشف تقاطعات (صعودًا أو هبوطًا) بين أزواج المتوسطات التالية:
EMA 1 و EMA 2
EMA 3 و EMA 4
EMA 5 و EMA 6
(ويمكنك إضافة المزيد مثل EMA 4 مع EMA 6 حسب الحاجة)
✅ 4. التحكم في التنبيهات
يمكن للمستخدم تفعيل أو تعطيل التنبيهات لكل زوج من المتوسطات على حدة:
تنبيه عند تقاطع EMA 1 و EMA 2
تنبيه عند تقاطع EMA 3 و EMA 4
تنبيه عند تقاطع EMA 5 و EMA 6
(وأي أزواج إضافية يتم إضافتها لاحقًا)
✅ 5. تنبيهات مرئية برسائل واضحة
السكربت يرسل تنبيهات عبر وظيفة alert() عند حدوث:
تقاطع صاعد (EMA يتقاطع من الأسفل إلى الأعلى).
تقاطع هابط (EMA يتقاطع من الأعلى إلى الأسفل).
التنبيه يحتوي على رموز توضيحية مثل 🔼 و 🔽 ليسهل قراءته.
🎯 مناسب لـ:
المتداولين المتأرجحين (Swing Traders): لاكتشاف تقاطعات على الفريمات الكبرى.
المضاربين (Scalpers): باستخدام EMA سريعة على فريمات صغيرة مع تنبيهات فورية.
محللي الفريمات المتعددة: لتأكيد الاتجاه أو الانعكاس بناءً على تقاطع متوسطات من فريمات مختلفة.
✅ مزايا إضافية:
قابل للتخصيص بشكل كامل حسب استراتيجيتك.
مناسب لعدة أساليب: تأكيد الترند، إعادة الدخول، أو إشارات الانعكاس المبكر.
EMA Crossover with RSI and DistanceEMA Crossover with RSI and Distance Strategy
This strategy combines Exponential Moving Averages (EMA) with Relative Strength Index (RSI) and distance-based conditions to generate buy, sell, and neutral signals. It is designed to help traders identify entry and exit points based on multiple technical indicators.
Key Components:
Exponential Moving Averages (EMA):
The strategy uses four EMAs: EMA 5, EMA 13, EMA 40, and EMA 55.
A buy signal (long) is triggered when EMA 5 crosses above EMA 13 and EMA 40 crosses above EMA 55.
A sell signal (short) is generated when EMA 55 crosses above EMA 40.
The distance between EMAs (5 and 13) is also important. If the current distance between EMA 5 and EMA 13 is smaller than the average distance over the last 5 candles, a neutral condition is triggered, preventing a signal even if all other conditions are met.
Relative Strength Index (RSI):
The 14-period RSI is used to determine market strength and direction.
The strategy requires RSI to be above 50 and greater than the average RSI (over the past 14 periods) for a buy signal.
If the RSI is above 60, a green signal is given, indicating a strong bullish condition, even if the EMA conditions are not fully met.
If the RSI is below 40, a red signal is given, indicating a strong bearish condition, regardless of the EMA crossover.
Distance Conditions:
The strategy calculates the distance between EMA 5 and EMA 13 on each candle and compares it to the average distance of the last 5 candles.
If the current distance between EMA 5 and EMA 13 is lower than the average of the last 5 candles, a neutral signal is triggered. This helps avoid entering a trade when the market is losing momentum.
Additionally, if the distance between EMA 40 and EMA 13 is greater than the previous distance, the previous signal is kept intact, ensuring that the trend is still strong enough for the signal to remain valid.
Signal Persistence:
Once a buy (green) or sell (red) signal is triggered, it remains intact as long as the price is closing above EMA 5 for long trades or below EMA 55 for short trades.
If the price moves below EMA 5 for long trades or above EMA 55 for short trades, the signal is recalculated based on the most recent conditions.
Signal Display:
Green Signals: Represent a strong buy signal and are shown below the candle when the RSI is above 60.
Red Signals: Represent a strong sell signal and are shown above the candle when the RSI is below 40.
Neutral Signals: Displayed when the conditions for entry are not met, specifically when the EMA distance condition is violated.
Long and Short Signals: Additional signals are shown based on the EMA crossovers and RSI conditions. These signals are plotted below the candle for long positions and above the candle for short positions.
Trade Logic:
Long Entry: Enter a long trade when EMA 5 crosses above EMA 13, EMA 40 crosses above EMA 55, and the RSI is above 50 and greater than the average RSI. Additionally, the current distance between EMA 5 and EMA 13 should be larger than the average distance of the last 5 candles.
Short Entry: Enter a short trade when EMA 55 crosses above EMA 40 and the RSI is below 40.
Neutral Condition: If the distance between EMA 5 and EMA 13 is smaller than the average distance over the last 5 candles, the strategy will not trigger a signal, even if other conditions are met.
Uptrick: EMA Trend Indicator
### Overview
The goal of this script is to visually indicate on a trading chart whether all three Exponential Moving Averages (EMAs) are trending upwards (i.e., their slopes are positive). If all EMAs are trending upwards, the script will color the bars green. If not, the bars will be colored red.
### Key Concepts
1. **Exponential Moving Average (EMA)**: An EMA is a type of moving average that places more weight on recent data, making it more responsive to price changes compared to a simple moving average (SMA). In this script, we use three different EMAs with different lengths (20, 50, and 200 periods).
2. **Slope of an EMA**: The slope of an EMA refers to the direction in which the EMA is moving. If the current value of the EMA is higher than its value in the previous bar, the slope is positive (upward). Conversely, if the current value is lower than its previous value, the slope is negative (downward).
3. **Bar Color Coding**: The script changes the color of the bars on the chart to provide a visual cue:
- **Green Bars**: Indicate that all three EMAs are trending upwards.
- **Red Bars**: Indicate that one or more EMAs are not trending upwards.
### Detailed Breakdown
#### 1. Input Fields
- **EMA Lengths**: The script starts by allowing the user to input the lengths for the three EMAs. These lengths determine how many periods (e.g., days) are used to calculate each EMA.
- `ema20_length` is set to 20, meaning the first EMA uses the last 20 bars of data.
- `ema50_length` is set to 50, meaning the second EMA uses the last 50 bars of data.
- `ema200_length` is set to 200, meaning the third EMA uses the last 200 bars of data.
#### 2. EMA Calculation
- The script calculates the values of the three EMAs:
- **EMA 20**: This is calculated using the last 20 bars of closing prices.
- **EMA 50**: This is calculated using the last 50 bars of closing prices.
- **EMA 200**: This is calculated using the last 200 bars of closing prices.
These calculations result in three values for each bar on the chart, each representing the EMA value at that point in time.
#### 3. Determining EMA Slopes
- **EMA Slopes**: To understand the trend of each EMA, the script compares the current value of each EMA to its value in the previous bar:
- For the 20-period EMA, the script checks if today’s EMA value is higher than yesterday’s EMA value.
- This process is repeated for the 50-period and 200-period EMAs.
- If today’s EMA value is greater than yesterday’s value, the slope is positive (upward).
- If today’s EMA value is not greater (it is either equal to or less than yesterday’s value), the slope is not positive.
#### 4. Evaluating All Slopes
- **All Slopes Positive Condition**: The script combines the results of the individual slope checks into a single condition. It uses a logical "AND" operation:
- The condition will be `true` only if all three EMAs (20, 50, and 200) have positive slopes.
- If any one of the EMAs does not have a positive slope, the condition will be `false`.
#### 5. Coloring the Bars
- **Bar Coloring Logic**: Based on the above condition, the script decides the color of each bar on the chart:
- If all slopes are positive (condition is `true`), the bar is colored green.
- If any slope is not positive (condition is `false`), the bar is colored red.
- **Visual Cue**: This provides a quick, visual indication to traders:
- Green bars suggest that the market is in an upward trend across all three EMAs, which might indicate a strong bullish trend.
- Red bars suggest that the trend is not uniformly upward, which could be a sign of weakening momentum or a potential reversal.
#### 6. Alerts
- **Alert Conditions**: The script also allows for alert conditions to be set based on the slope analysis:
- An alert can be triggered when all EMA slopes are positive. This might be useful for traders who want to be notified when the market shows strong upward momentum.
### Summary
- The script essentially takes the market data and applies three different EMAs to it, each with a different time frame.
- It then checks the direction (slope) of each of these EMAs to determine if they are all trending upwards.
- If they are, the script colors the bar green, signaling a potentially strong bullish trend.
- If any of the EMAs is not trending upwards, it colors the bar red, indicating a potential issue with the strength of the trend.
This approach helps traders quickly assess market conditions based on multiple EMAs, providing a clearer picture of the overall trend across different time frames.