חפש סקריפטים עבור "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 سريعة على فريمات صغيرة مع تنبيهات فورية.
محللي الفريمات المتعددة: لتأكيد الاتجاه أو الانعكاس بناءً على تقاطع متوسطات من فريمات مختلفة.
✅ مزايا إضافية:
قابل للتخصيص بشكل كامل حسب استراتيجيتك.
مناسب لعدة أساليب: تأكيد الترند، إعادة الدخول، أو إشارات الانعكاس المبكر.