Simple Harmonic Oscillator (SHO)The indicator is based on Akram El Sherbini's article "Time Cycle Oscillators" published in IFTA journal 2018 (pages 78-80) (www.ftaa.org.hk)
The SHO is a bounded oscillator for the simple harmonic index that calculates the period of the market’s cycle. The oscillator is used for short and intermediate terms and moves within a range of -100 to 100 percent. The SHO has overbought and oversold levels at +40 and -40, respectively. At extreme periods, the oscillator may reach the levels of +60 and -60. The zero level demonstrates an equilibrium between the periods of bulls and bears. The SHO oscillates between +40 and -40. The crossover at those levels creates buy and sell signals. In an uptrend, the SHO fluctuates between 0 and +40 where the bulls are controlling the market. On the contrary, the SHO fluctuates between 0 and -40 during downtrends where the bears control the market. Reaching the extreme level -60 in an uptrend is a sign of weakness. Mostly, the oscillator will retrace from its centerline rather than the upper boundary +40. On the other hand, reaching +60 in a downtrend is a sign of strength and the oscillator will not be able to reach its lower boundary -40.
Centerline Crossover Tactic
This tactic is tested during uptrends. The buy signals are generated when the WPO/SHI cross their centerlines to the upside. The sell signals are generated when the WPO/SHI cross down their centerlines. To define the uptrend in the system, stocks closing above their 50-day EMA are considered while the ADX is above 18.
Uptrend Tactic
During uptrends, the bulls control the markets, and the oscillators will move above their centerline with an increase in the period of cycles. The lower boundaries and equilibrium line crossovers generate buy signals, while crossing the upper boundaries will generate sell signals. The “Re-entry” and “Exit at weakness” tactics are combined with the uptrend tactic. Consequently, we will have three buy signals and two sell signals.
Sideways Tactic
During sideways, the oscillators fluctuate between their upper and lower boundaries. Crossing the lower boundary to the upside will generate a buy signal. On the other hand, crossing the upper boundary to the downside will generate a sell signal. When the bears take control, the oscillators will cross down the lower boundaries, triggering exit signals. Therefore, this tactic will consist of one buy signal and two sell signals. The sideway tactic is defined when stocks close above their 50-day EMA and the ADX is below 18
Cerca negli script per "adx"
Bull Club BiasThe script intends to eliminate noise from the chart. It uses a combination of multiple indicators into 1.
For long bias:
Close is greater than the ADX
15 Period EMA on close is greater than SMA on high
13 period RSI is greater than 25 periods RSI
MACD is greater than 0
For short bias:
Close is lower than the ADX
15 Period EMA on close is lower than SMA on high
13 period RSI is lower than 25 periods RSI
MACD is lower than 0
For every other combination, it is a range-bound bias. NSE:BANKNIFTY
A green background indicates long bias
A Red background indicates short bias
An Orange background indicates range-bound bias
Strategija 3This one is the combination of BBsqueeze, ADX and EMA's.
On Weekly TF we wait for the BBsqueeze signal to fire. We also check if the ADX is above 20 so we know that we are in a trend. If in a window of less than 10 weekly bars (default setting) we gewt a pullback to the active 21 EMA and the bounce is significant, we get the entry arrow. Conversely for shorts.
Please use it, edit and comment if you like (or dislike) it.
Stay safe
Directional Movement Index + Average Directional IndexPersonal DMI and ADX script
ADX color change from positive vs negative momentum
DMI Color fill based on DMI+/- positive momentum
No fill color during lack of momentum
Apirine Slow Candlestick RSI [ChuckBanger]This is just a candle stick version of Apirine Slow RSI. The yellow line is Apirine Slow RSI with the option to set an offset to it to filter out nice. RSI oscillating between 0 and 100. And whats good with Apirine version is it generates both OB/OS signals and midline (50) cross over signals and divergences. As author suggests, bullish/bearish divergences generated by the indicator are not as effective during strong trends. To avoid fading an established trend, the system is used in conjunction with a trend confirmation tool like ADX indicator.
The script spits out red and green diamonds as a potential long and short signals when the yellow line crosses close of the RSI candles. And combine it with trend confirmation tool like ADX, and if you apply it correctly. You have a very robust trading system. Good luck traders
DAX Shooter 5M StrategyThis is a simple strategy that applies very well for scaling indices to 5 minutes especially for the DAX. The algorithm provides for buying or selling when the market is very "pulled". The rules are as follows:
you buy when:
1- The ADX indicator with the standard settings is greater than 32.
2- the RSI indicator set to 7 periods is crossing upwards the oversold line at 30
3- the candle minimum is lower than the lower band of bollinger bands set to 50 periods.
is sold when:
1- ADX indicator with standard settings is greater than 32.
2 - the RSI indicator set to 7 periods is crossing downwards the overbought line at 70
3- the maximum of the candle is higher than the upper band of the bollinger bands set to 50 periods.
Money management is at the discretion of the trader but usually it is better to set a fixed stop loss and a take profit on reaching the opposite bollinger band.
Enjoy trading at all!
90009If( MDI(14)>40 AND ADX(14)>40 AND PDI(14)<15 AND RSI(14)<30,1,0)
;If( MDI(14)<15 AND ADX(14)<15 AND PDI(14)>40 AND RSI(14)>70,-1,0)
GOLD Auto-Alert Strategy [Enhanced+Signals]1M scalping Indicator , Always take trade above adx 25 and take trades after signal only after the crossing lies. use RSI for over bought and over sold confirmation
[FREE] Multiple Indicators Screener [NASAlgoTrading] Multiple Indicators Screener indicator is designed to help traders quickly scan multiple cryptocurrencies across different timeframes using a combination of proven technical indicators. It provides a comprehensive, at-a-glance view of market conditions to help identify high-probability trading opportunities.
How It Helps Traders Maximize Profits
✅ Saves Time – No need to switch between charts; all key metrics are displayed in one place.
✅ Confirms Trends – Combines multiple indicators to filter high-probability setups.
✅ Multi-Timeframe Alignment – Finds trades where short-term and long-term trends agree.
✅ Overbought/Oversold Alerts – Helps spot potential reversals using RSI, Stochastic, and TSI.
✅ Trend Strength Validation – ADX and Supertrend confirm whether a trend is worth trading.
Why Use This Script?
✔ Completely Free – No hidden costs or premium upgrades.
✔ Easy to Use – No complex setup; works out of the box.
✔ Customizable – Adjust timeframes, indicators, and assets to fit your strategy.
Best For:
Swing Traders – Identify trends across multiple timeframes.
Day Traders – Quickly scan for intraday opportunities.
Crypto Traders – Optimized for popular cryptocurrency pairs.
Start using this powerful screener today to enhance your trading efficiency and spot the best setups with ease! 🚀
Multi-Indicator PanelMulti-indicator panel that combines the following into one panel:
RSI2
RSI14
%K (for stochastics)
%D (for stochastics)
ADX
DI+
DI-
MACD
MACD signal
MACD histogram
All can be toggled on/off and parameters can be adjusted in settings.
[TH] กลยุทธ์ SMC หลายกรอบเวลา (V5.2 - M15 Lead)English Explanation
This Pine Script code implements a multi-timeframe trading strategy based on Smart Money Concepts (SMC). It's designed to identify high-probability trading setups by aligning signals across three different timeframes.
The core logic is as follows:
High Timeframe (HTF) - M15: Determines the overall market direction or bias.
Medium Timeframe (MTF) - M5: Identifies potential Points of Interest (POI), such as Order Blocks or Fair Value Gaps, in alignment with the M15 bias.
Low Timeframe (LTF) - Current Chart: Looks for a specific entry trigger within the M5 POI to execute the trade.
Detailed Breakdown
## Part 1: Inputs & Settings
This section allows you to customize the indicator's parameters:
General Settings:
i_pivotLookback: Sets the lookback period for identifying pivot highs and lows on the LTF, which is crucial for finding the Change of Character (CHoCH).
M15 Bias Settings:
i_m15EmaFast / i_m15EmaSlow: These two EMA (Exponential Moving Average) values on the 15-minute chart determine the main trend. A bullish trend is confirmed when the fast EMA is above the slow EMA, and vice-versa for a bearish trend.
M5 Point of Interest (POI) Settings:
i_showM5Fvg / i_showM5Ob: Toggles the visibility of Fair Value Gaps (FVG) and Order Blocks (OB) on the 5-minute chart. These are the zones where the script will look for trading opportunities.
i_maxPois: Limits the number of POI zones drawn on the chart to keep it clean.
LTF Entry Settings:
i_entryMode:
Confirmation: The script waits for a Change of Character (CHoCH) on the LTF (your current chart) after the price enters an M5 POI. A CHoCH is a break of a recent pivot high (for buys) or pivot low (for sells), suggesting a potential reversal. This is the safer entry method.
Aggressive: The script triggers an entry as soon as the price touches the 50% level of the M5 POI, without waiting for a CHoCH. This is higher risk but can provide a better entry price.
i_showChoch: Toggles the visibility of the CHoCH confirmation lines.
Trade Management Settings:
i_tpRatio: Sets the Risk-to-Reward Ratio (RRR) for the Take Profit target. For example, a value of 2.0 means the Take Profit distance will be twice the Stop Loss distance.
i_slMode: (New in V5.2) Provides four different methods to calculate the Stop Loss:
POI Zone (Default): Places the SL at the outer edge of the M5 POI zone.
Last Swing: Places the SL at the most recent LTF swing high/low before the entry.
ATR: Uses the Average True Range (ATR) indicator to set a volatility-based SL.
Previous Candle: Places the SL at the high or low of the candle immediately preceding the entry. This is the tightest and riskiest option.
i_maxHistory: Sets the number of past trades to display on the chart.
## Part 2: Data Types & Variables
This section defines custom data structures (type) to organize information:
Poi: A structure to hold all information related to a single Point of Interest, including its price boundaries, direction (bullish/bearish), and whether it has been mitigated (touched by price).
Trade: A structure to store details for each trade, such as its entry price, SL, TP, result (Win/Loss/Active), and chart objects for drawing.
## Part 3: Core Logic & Calculations
This is the engine of the indicator:
Data Fetching: It uses request.security to pull EMA data from the M15 timeframe and candle data (high, low, open, close) from the M5 timeframe.
POI Identification: The script constantly scans the M5 data for FVG and OB patterns. When a valid pattern is found that aligns with the M15 bias (e.g., a bullish OB during an M15 uptrend), it's stored as a Poi and drawn on the chart.
Entry Trigger:
It checks if the price on the LTF enters a valid (unmitigated) POI zone.
Based on the selected i_entryMode, it either waits for a CHoCH or enters aggressively.
Once an entry condition is met, it calculates the SL based on the i_slMode, calculates the TP using the i_tpRatio, and creates a new Trade.
Trade Monitoring: For every active trade, the script checks on each new bar if the price has hit the SL or TP level. When it does, the trade's result is updated, and the visual boxes are finalized.
## Part 5: On-Screen Display
This part creates the Performance Dashboard table shown on the top-right of the chart. It provides a real-time summary of:
M15 Bias: Current market direction.
Total Trades: The total number of completed trades from the history.
Win Rate: The percentage of winning trades.
Total R-Multiple: The cumulative Risk-to-Reward multiple (sum of RRR from wins minus losses). A positive value indicates overall profitability.
🇹🇭 คำอธิบายและข้อแนะนำภาษาไทย
สคริปต์นี้เป็น Indicator สำหรับกลยุทธ์การเทรดแบบ Smart Money Concepts (SMC) ที่ใช้การวิเคราะห์จากหลายกรอบเวลา (Multi-Timeframe) เพื่อหาจุดเข้าเทรดที่มีความเป็นไปได้สูง
หลักการทำงานของ Indicator มีดังนี้:
Timeframe ใหญ่ (HTF) - M15: ใช้กำหนดทิศทางหลักของตลาด หรือ "Bias"
Timeframe กลาง (MTF) - M5: ใช้หาโซนสำคัญ หรือ "Point of Interest (POI)" เช่น Order Blocks หรือ Fair Value Gaps ที่สอดคล้องกับทิศทางจาก M15
Timeframe เล็ก (LTF) - กราฟปัจจุบัน: ใช้หาสัญญาณยืนยันเพื่อเข้าเทรดในโซน POI ที่กำหนดไว้
รายละเอียดของโค้ด
## ส่วนที่ 1: การตั้งค่า (Inputs & Settings)
ส่วนนี้ให้คุณปรับแต่งค่าต่างๆ ของ Indicator ได้:
การตั้งค่าทั่วไป:
i_pivotLookback: กำหนดระยะเวลาที่ใช้มองหาจุดกลับตัว (Pivot) ใน Timeframe เล็ก (LTF) เพื่อใช้ยืนยันสัญญาณ Change of Character (CHoCH)
การตั้งค่า M15 (ทิศทางหลัก):
i_m15EmaFast / i_m15EmaSlow: ใช้เส้น EMA 2 เส้นบน Timeframe 15 นาที เพื่อกำหนดเทรนด์หลัก หาก EMA เร็วอยู่เหนือ EMA ช้า จะเป็นเทรนด์ขาขึ้น และในทางกลับกัน
การตั้งค่า M5 (จุดสนใจ - POI):
i_showM5Fvg / i_showM5Ob: เปิด/ปิด การแสดงโซน Fair Value Gaps (FVG) และ Order Blocks (OB) บน Timeframe 5 นาที ซึ่งเป็นโซนที่สคริปต์จะใช้หาโอกาสเข้าเทรด
i_maxPois: จำกัดจำนวนโซน POI ที่จะแสดงผลบนหน้าจอ เพื่อไม่ให้กราฟดูรกเกินไป
การตั้งค่า LTF (การเข้าเทรด):
i_entryMode:
ยืนยัน (Confirmation): เป็นโหมดที่ปลอดภัยกว่า โดยสคริปต์จะรอให้เกิดสัญญาณ Change of Character (CHoCH) ใน Timeframe เล็กก่อน หลังจากที่ราคาเข้ามาในโซน POI แล้ว
เชิงรุก (Aggressive): เป็นโหมดที่เสี่ยงกว่า โดยสคริปต์จะเข้าเทรดทันทีที่ราคาแตะระดับ 50% ของโซน POI โดยไม่รอสัญญาณยืนยัน CHoCH
i_showChoch: เปิด/ปิด การแสดงเส้น CHoCH บนกราฟ
การตั้งค่าการจัดการเทรด:
i_tpRatio: กำหนด อัตราส่วนกำไรต่อความเสี่ยง (Risk-to-Reward Ratio) เพื่อตั้งเป้าหมายทำกำไร (Take Profit) เช่น 2.0 หมายถึงระยะทำกำไรจะเป็น 2 เท่าของระยะตัดขาดทุน
i_slMode: (ฟีเจอร์ใหม่ V5.2) มี 4 รูปแบบในการคำนวณ Stop Loss:
โซน POI (ค่าเริ่มต้น): วาง SL ไว้ที่ขอบนอกสุดของโซน POI
Swing ล่าสุด: วาง SL ไว้ที่จุด Swing High/Low ล่าสุดของ Timeframe เล็ก (LTF) ก่อนเข้าเทรด
ATR: ใช้ค่า ATR (Average True Range) เพื่อกำหนด SL ตามระดับความผันผวนของราคา
แท่งเทียนก่อนหน้า: วาง SL ไว้ที่ราคา High/Low ของแท่งเทียนก่อนหน้าที่จะเข้าเทรด เป็นวิธีที่ SL แคบและเสี่ยงที่สุด
i_maxHistory: กำหนดจำนวนประวัติการเทรดที่จะแสดงย้อนหลังบนกราฟ
## ส่วนที่ 2: ประเภทข้อมูลและตัวแปร
ส่วนนี้เป็นการสร้างโครงสร้างข้อมูล (type) เพื่อจัดเก็บข้อมูลให้เป็นระบบ:
Poi: เก็บข้อมูลของโซน POI แต่ละโซน เช่น กรอบราคาบน-ล่าง, ทิศทาง (ขึ้น/ลง) และสถานะว่าถูกใช้งานไปแล้วหรือยัง (Mitigated)
Trade: เก็บรายละเอียดของแต่ละการเทรด เช่น ราคาเข้า, SL, TP, ผลลัพธ์ (Win/Loss/Active) และอ็อบเจกต์สำหรับวาดกล่องบนกราฟ
## ส่วนที่ 3: ตรรกะหลักและการคำนวณ
เป็นหัวใจสำคัญของ Indicator:
ดึงข้อมูลข้าม Timeframe: ใช้ฟังก์ชัน request.security เพื่อดึงข้อมูล EMA จาก M15 และข้อมูลแท่งเทียนจาก M5 มาใช้งาน
ระบุ POI: สคริปต์จะค้นหา FVG และ OB บน M5 ตลอดเวลา หากเจ้ารูปแบบที่สอดคล้องกับทิศทางหลักจาก M15 (เช่น เจอ Bullish OB ในขณะที่ M15 เป็นขาขึ้น) ก็จะวาดโซนนั้นไว้บนกราฟ
เงื่อนไขการเข้าเทรด:
เมื่อราคาใน Timeframe เล็ก (LTF) วิ่งเข้ามาในโซน POI ที่ยังไม่เคยถูกใช้งาน
สคริปต์จะรอสัญญาณตาม i_entryMode ที่เลือกไว้ (รอ CHoCH หรือเข้าแบบ Aggressive)
เมื่อเงื่อนไขครบ จะคำนวณ SL และ TP จากนั้นจึงบันทึกการเทรดใหม่
ติดตามการเทรด: สำหรับเทรดที่ยัง "Active" อยู่ สคริปต์จะคอยตรวจสอบทุกแท่งเทียนว่าราคาไปถึง SL หรือ TP แล้วหรือยัง เมื่อถึงจุดใดจุดหนึ่ง จะบันทึกผลและสิ้นสุดการวาดกล่องบนกราฟ
## ส่วนที่ 5: การแสดงผลบนหน้าจอ
ส่วนนี้จะสร้างตาราง "Performance Dashboard" ที่มุมขวาบนของกราฟ เพื่อสรุปผลการทำงานแบบ Real-time:
M15 Bias: แสดงทิศทางของตลาดในปัจจุบัน
Total Trades: จำนวนเทรดทั้งหมดที่เกิดขึ้นในประวัติ
Win Rate: อัตราชนะ คิดเป็นเปอร์เซ็นต์
Total R-Multiple: ผลตอบแทนรวมจากความเสี่ยง (R) ทั้งหมด (ผลรวม RRR ของเทรดที่ชนะ ลบด้วยจำนวนเทรดที่แพ้) หากเป็นบวกแสดงว่ามีกำไรโดยรวม
📋 ข้อแนะนำในการใช้งาน
Timeframe ที่เหมาะสม: Indicator นี้ถูกออกแบบมาให้ใช้กับ Timeframe เล็ก (LTF) เช่น M1, M3 หรือ M5 เนื่องจากมันดึงข้อมูลจาก M15 และ M5 มาเป็นหลักการอยู่แล้ว
สไตล์การเทรด:
Confirmation: เหมาะสำหรับผู้ที่ต้องการความปลอดภัยสูง รอการยืนยันก่อนเข้าเทรด อาจจะตกรถบ้าง แต่ลดความเสี่ยงจากการเข้าเทรดเร็วเกินไป
Aggressive: เหมาะสำหรับผู้ที่ยอมรับความเสี่ยงได้สูงขึ้น เพื่อให้ได้ราคาเข้าที่ดีที่สุด
การเลือก Stop Loss:
"Swing ล่าสุด" และ "โซน POI" เป็นวิธีมาตรฐานตามหลัก SMC
"ATR" เหมาะกับตลาดที่มีความผันผวนสูง เพราะ SL จะปรับตามสภาพตลาด
"แท่งเทียนก่อนหน้า" เป็นวิธีที่เสี่ยงที่สุด เหมาะกับการเทรดเร็วและต้องการ RRR สูงๆ แต่ก็มีโอกาสโดน SL ง่ายขึ้น
การบริหารความเสี่ยง: Indicator นี้เป็นเพียง เครื่องมือช่วยวิเคราะห์ ไม่ใช่สัญญาณซื้อขายอัตโนมัติ 100% ผู้ใช้ควรมีความเข้าใจในหลักการของ SMC และทำการบริหารความเสี่ยง (Risk Management) อย่างเคร่งครัดเสมอ
การทดสอบย้อนหลัง (Backtesting): ควรทำการทดสอบ Indicator กับสินทรัพย์และตั้งค่าต่างๆ เพื่อให้เข้าใจลักษณะการทำงานและประสิทธิภาพของมันก่อนนำไปใช้เทรดจริง
ZF RSI PLOT1. How RSI Is Calculated
RSI is typically computed over 14 periods (days, hours, etc.) using the formula:
RSI=100−1001+RS
RSI=100−1+RS100
where
RS=Average Gain over N periodsAverage Loss over N periods
RS=Average Loss over N periodsAverage Gain over N periods
2. Overbought (> 70)
Definition: An RSI reading above 70 suggests that the instrument has experienced relatively large gains and may be “overbought.”
Interpretation:
Potential Reversal: Prices may have risen too far, too fast, and could be due for a pullback or consolidation.
Exit/Take Profits: Traders often trim long positions or tighten stops as RSI climbs above 70.
Confirmation Needed:
Bearish “RSI divergence” (price makes a higher high while RSI makes a lower high).
Price action signals (e.g., bearish candlestick patterns).
Volume drying up on advances.
3. Oversold (< 30)
Definition: An RSI reading below 30 suggests that the instrument has experienced relatively large losses and may be “oversold.”
Interpretation:
Potential Bounce: Prices may have fallen too far, too fast, and could be due for a rebound or consolidation.
Buying Opportunity: Traders often look to initiate or add to long positions as RSI drops below 30.
Confirmation Needed:
Bullish “RSI divergence” (price makes a lower low while RSI makes a higher low).
Price action signals (e.g., hammer candlesticks, support levels).
Volume picking up on declines.
4. Divergences
Bullish Divergence: Price ↓ makes a lower low, RSI ↑ makes a higher low ⇒ possible trend change to the upside.
Bearish Divergence: Price ↑ makes a higher high, RSI ↓ makes a lower high ⇒ possible trend change to the downside.
5. Adjustments & Variations
Stronger Trends: Use 80/20 thresholds to avoid early signals in very strong up- or down-trends.
Shorter/Longer Periods: Adjust the look-back period (e.g., 9 for more sensitivity, 21 for smoother signals) depending on your time frame.
6. Limitations & Best Practices
Can Stay Extreme: In strong trends, RSI may remain overbought/oversold for extended periods—don’t trade it in isolation.
Combine with Other Tools: Use trend filters (moving averages, ADX), support/resistance, and volume to confirm entries.
Risk Management: Always set stops and manage position size; RSI signals can fail.
7. Putting It All Together
Identify Trend: Is the market in an uptrend, downtrend, or range?
Watch RSI Extremes: Note when RSI crosses above 70 or below 30.
Seek Confirmation: Look for divergences, candlestick/pricing signals, and supporting volume.
Execute & Manage: Enter with clear stop-loss levels, consider scaling, and lock in profits appropriately.
By understanding both the raw threshold signals and the nuances—like divergences and trend-context—you can harness RSI’s simplicity while mitigating its pitfalls.
Golden Crossover Momentum Check📊 Golden Cross Momentum Screener — Summary
🔍 What It Does
This indicator identifies Golden Cross events — where the 50 EMA crosses above the 200 EMA, signaling a potential long-term trend reversal — and evaluates the momentum strength to help determine whether price is likely to:
Surge immediately (Group B), or
Retrace first (Group A)
It uses 5 momentum-confirming conditions to score the quality of the breakout and display a single label on the chart with a classification.
✅ Momentum Conditions Validated
RSI > 60 and rising – Indicates bullish buying pressure
MACD Histogram > 0 and rising – Confirms increasing momentum
Volume > 2× 20-day average – Validates participation on the breakout
ADX > 25 – Measures trend strength
Price is >5% above 200 EMA – Confirms price extension above long-term trend
Each passing condition adds 1 point to the momentum score (0–5).
📈 How to Use
Watch for a Golden Cross signal (triangle appears below candle)
If momentum score ≥ 4, the script labels the setup as:
"🚀 Surge Likely (Group B)" — consider immediate breakout entries
If score is 2–3, labeled:
"🔄 Pullback Likely (Group A)" — expect retest/consolidation before continuation
If score < 2, labeled:
"❌ No Momentum Confirmed" — avoid or wait for confirmation
Mariam Market DashboardMariam Market Dashboard – A Quick Guide
Purpose:
Shows if the market is trending, volatile, or stuck so you can decide when to trade or wait.
How to Use
Add the indicator to your chart. Adjust basic settings like EMA, RSI, ATR lengths, and timezone if needed. Use it before entering any trade to confirm market conditions.
What Each Metric Means (with general ranges)
Session: Identifies which market session is active (New York, London, Tokyo).
Trend: Shows current market direction. “Up” means price above EMA and VWAP, “Down” means price below. Use this to confirm bullish or bearish bias.
HTF Trend: Confirms trend on a higher timeframe for stronger signals.
ATR (Average True Range): Measures market volatility or price movement speed.
Low ATR (e.g., below 0.5% of price) means quiet or slow market; high ATR (above 1% of price) means volatile or fast-moving market, good for active trades.
Strong Bar: A candlestick closing near its high (above 75% of range) indicates strong buying momentum; closing near its low indicates strong selling momentum.
Higher Volume: Volume higher than average (typically 10-20% above normal) means more market activity and stronger moves.
Volume / Avg Volume: Ratio above 1.2 (120%) shows volume is significantly higher than usual, signaling strong interest.
RVol % (Relative Volume %): Above 100% means volume is hotter than normal, increasing chances of strong moves; below 50% means low activity and possible indecision.
Delta: Difference between buying and selling volume (if available). A positive delta means buyers dominate; negative means sellers dominate.
ADX (Average Directional Index): Measures trend strength:
Below 20 means weak or no trend;
Above 25 means strong trend;
Between 20-25 is moderate trend.
RSI (Relative Strength Index): Momentum oscillator:
Below 30 = oversold (potential buy);
Above 70 = overbought (potential sell);
Between 40-60 means neutral momentum.
MACD: Confirms momentum direction:
Positive MACD histogram bars indicate bullish momentum;
Negative bars indicate bearish momentum.
Choppiness Index: Measures how much the market is ranging versus trending:
Above 60 = very choppy/sideways market;
Below 40 = trending market.
Consolidation: When true, price is stuck in a narrow range, signaling indecision. Avoid breakout trades during this.
Quick Trading Reminder
Trade only when the trend is clear and volume is above average. Avoid trading in low volume or choppy markets.
TrendMaster Pro 2.3 with Alerts
Hello friends,
A member of the community approached me and asked me how to write an indicator that would achieve a particular set of goals involving comprehensive trend analysis, risk management, and session-based trading controls. Here is one example method of how to create such a system:
Core Strategy Components
Multi-Moving Average System - Uses configurable MA types (EMA, SMA, SMMA) with short-term (9) and long-term (21) periods for primary signal generation through crossovers
Higher Timeframe Trend Filter - Optional trend confirmation using a separate MA (default 50-period) to ensure trades align with broader market direction
Band Power Indicator - Dynamic high/low bands calculated using different MA types to identify price channels and volatility zones
Advanced Signal Filtering
Bollinger Bands Volatility Filter - Prevents trading during low-volatility ranging markets by requiring sufficient band width
RSI Momentum Filter - Uses customizable thresholds (55 for longs, 45 for shorts) to confirm momentum direction
MACD Trend Confirmation - Ensures MACD line position relative to signal line aligns with trade direction
Stochastic Oscillator - Adds momentum confirmation with overbought/oversold levels
ADX Strength Filter - Only allows trades when trend strength exceeds 25 threshold
Session-Based Trading Management
Four Trading Sessions - Asia (18:00-00:00), London (00:00-08:00), NY AM (08:00-13:00), NY PM (13:00-18:00)
Individual Session Limits - Separate maximum trade counts for each session (default 5 per session)
Automatic Session Closure - All positions close at specified market close time
Risk Management Features
Multiple Stop Loss Options - Percentage-based, MA cross, or band-based SL methods
Risk/Reward Ratio - Configurable TP levels based on SL distance (default 1:2)
Auto-Risk Calculation - Dynamic position sizing based on dollar risk limits ($150-$250 range)
Daily Limits - Stop trading after reaching specified TP or SL counts per day
Support & Resistance System
Multiple Pivot Types - Traditional, Fibonacci, Woodie, Classic, DM, and Camarilla calculations
Flexible Timeframes - Auto-adjusting or manual timeframe selection for S/R levels
Historical Levels - Configurable number of past S/R levels to display
Visual Customization - Individual color and display settings for each S/R level
Additional Features
Alert System - Customizable buy/sell alert messages with once-per-bar frequency
Visual Trade Management - Color-coded entry, SL, and TP levels with fill areas
Session Highlighting - Optional background colors for different trading sessions
Comprehensive Filtering - All signals must pass through multiple confirmation layers before execution
This approach demonstrates how to build a professional-grade trading system that combines multiple technical analysis methods with robust risk management and session-based controls, suitable for algorithmic trading across different market sessions.
Good luck and stay safe!
Sri_Momentum Burst Histogram📝 Description :
🌀 Sri_Momentum Burst Histogram — A Custom Momentum and Volatility Fusion Tool
The Sri_Momentum Burst Histogram is a unique technical analysis tool designed to visualize sudden changes in price momentum in the form of a dynamic, color-coded histogram. This indicator helps traders identify trend accelerations, early momentum shifts, and potential exhaustion in real time.
By combining a MACD-like momentum engine with a volatility-sensitive Bollinger Band range, this script offers an enhanced view of market bursts — moments where momentum "pops" beyond typical ranges. The result is a refined perspective on market sentiment, helping traders to anticipate reversals, follow breakouts, and assess the relative strength of ongoing trends.
🧠 Core Methodology
The indicator calculates the difference between a fast and slow EMA (Exponential Moving Average), similar to a MACD histogram.
This difference is then compared across candles to gauge the rate of change in momentum — referred to here as a “momentum burst.”
A sensitivity multiplier allows you to scale the response based on your preferred timeframe and trading style.
A volatility band, derived from Bollinger Band logic, is used to frame the relative intensity of the momentum change.
The histogram is divided into two parts:
Green/Lime Bars represent increasing and decreasing bullish momentum.
Red/Orange Bars represent increasing and decreasing bearish momentum.
⚙️ Customizable Inputs
Momentum Sensitivity: Adjust the responsiveness of the burst detection mechanism.
Short EMA Period: Sets the lookback period for the fast EMA.
Long EMA Period: Sets the lookback period for the slow EMA.
Volatility Band Length: Controls the length used for Bollinger Band calculations.
Band Std Dev Multiplier: Adjusts how wide the volatility range should be, based on price dispersion.
📈 How to Use It
Use the green/red histogram bars to visually gauge momentum strength and direction.
Watch for transitions in color intensity (e.g., green to lime, red to orange) as early warning signs of trend exhaustion or reversal.
Combine with other indicators like RSI, MACD, ADX, or volume profiles to confirm entry/exit points.
Useful in both trending and ranging markets, especially on lower timeframes for scalping or intraday setups.
✅ Key Features
Easy-to-read histogram with intuitive color coding.
Fully customizable settings for fine-tuned signal control.
Can be used on any asset class — stocks, forex, crypto, commodities.
Optimized for real-time use with minimal lag.
🔐 This script is an original creation, developed independently by adapting publicly known mathematical concepts into a unique visualization tool. All function and variable names have been customized for originality and compliance with TradingView’s publishing and community standards.
💡 Developed by: @venkat_27
🧩 For educational purposes only — not financial advice.
Ergodic Market Divergence (EMD)Ergodic Market Divergence (EMD)
Bridging Statistical Physics and Market Dynamics Through Ensemble Analysis
The Revolutionary Concept: When Physics Meets Trading
After months of research into ergodic theory—a fundamental principle in statistical mechanics—I've developed a trading system that identifies when markets transition between predictable and unpredictable states. This indicator doesn't just follow price; it analyzes whether current market behavior will persist or revert, giving traders a scientific edge in timing entries and exits.
The Core Innovation: Ergodic Theory Applied to Markets
What Makes Markets Ergodic or Non-Ergodic?
In statistical physics, ergodicity determines whether a system's future resembles its past. Applied to trading:
Ergodic Markets (Mean-Reverting)
- Time averages equal ensemble averages
- Historical patterns repeat reliably
- Price oscillates around equilibrium
- Traditional indicators work well
Non-Ergodic Markets (Trending)
- Path dependency dominates
- History doesn't predict future
- Price creates new equilibrium levels
- Momentum strategies excel
The Mathematical Framework
The Ergodic Score combines three critical divergences:
Ergodic Score = (Price Divergence × Market Stress + Return Divergence × 1000 + Volatility Divergence × 50) / 3
Where:
Price Divergence: How far current price deviates from market consensus
Return Divergence: Momentum differential between instrument and market
Volatility Divergence: Volatility regime misalignment
Market Stress: Adaptive multiplier based on current conditions
The Ensemble Analysis Revolution
Beyond Single-Instrument Analysis
Traditional indicators analyze one chart in isolation. EMD monitors multiple correlated markets simultaneously (SPY, QQQ, IWM, DIA) to detect systemic regime changes. This ensemble approach:
Reveals Hidden Divergences: Individual stocks may diverge from market consensus before major moves
Filters False Signals: Requires broader market confirmation
Identifies Regime Shifts: Detects when entire market structure changes
Provides Context: Shows if moves are isolated or systemic
Dynamic Threshold Adaptation
Unlike fixed-threshold systems, EMD's boundaries evolve with market conditions:
Base Threshold = SMA(Ergodic Score, Lookback × 3)
Adaptive Component = StDev(Ergodic Score, Lookback × 2) × Sensitivity
Final Threshold = Smoothed(Base + Adaptive)
This creates context-aware signals that remain effective across different market environments.
The Confidence Engine: Know Your Signal Quality
Multi-Factor Confidence Scoring
Every signal receives a confidence score based on:
Signal Clarity (0-35%): How decisively the ergodic threshold is crossed
Momentum Strength (0-25%): Rate of ergodic change
Volatility Alignment (0-20%): Whether volatility supports the signal
Market Quality (0-20%): Price convergence and path dependency factors
Real-Time Confidence Updates
The Live Confidence metric continuously updates, showing:
- Current opportunity quality
- Market state clarity
- Historical performance influence
- Signal recency boost
- Visual Intelligence System
Adaptive Ergodic Field Bands
Dynamic bands that expand and contract based on market state:
Primary Color: Ergodic state (mean-reverting)
Danger Color: Non-ergodic state (trending)
Band Width: Expected price movement range
Squeeze Indicators: Volatility compression warnings
Quantum Wave Ribbons
Triple EMA system (8, 21, 55) revealing market flow:
Compressed Ribbons: Consolidation imminent
Expanding Ribbons: Directional move developing
Color Coding: Matches current ergodic state
Phase Transition Signals
Clear entry/exit markers at regime changes:
Bull Signals: Ergodic restoration (mean reversion opportunity)
Bear Signals: Ergodic break (trend following opportunity)
Confidence Labels: Percentage showing signal quality
Visual Intensity: Stronger signals = deeper colors
Professional Dashboard Suite
Main Analytics Panel (Top Right)
Market State Monitor
- Current regime (Ergodic/Non-Ergodic)
- Ergodic score with threshold
- Path dependency strength
- Quantum coherence percentage
Divergence Metrics
- Price divergence with severity
- Volatility regime classification
- Strategy mode recommendation
- Signal strength indicator
Live Intelligence
- Real-time confidence score
- Color-coded risk levels
- Dynamic strategy suggestions
Performance Tracking (Left Panel)
Signal Analytics
- Total historical signals
- Win rate with W/L breakdown
- Current streak tracking
- Closed trade counter
Regime Analysis
- Current market behavior
- Bars since last signal
- Recommended actions
- Average confidence trends
Strategy Command Center (Bottom Right)
Adaptive Recommendations
- Active strategy mode
- Primary approach (mean reversion/momentum)
- Suggested indicators ("weapons")
- Entry/exit methodology
- Risk management guidance
- Comprehensive Input Guide
Core Algorithm Parameters
Analysis Period (10-100 bars)
Scalping (10-15): Ultra-responsive, more signals, higher noise
Day Trading (20-30): Balanced sensitivity and stability
Swing Trading (40-100): Smooth signals, major moves only Default: 20 - optimal for most timeframes
Divergence Threshold (0.5-5.0)
Hair Trigger (0.5-1.0): Catches every wiggle, many false signals
Balanced (1.5-2.5): Good signal-to-noise ratio
Conservative (3.0-5.0): Only extreme divergences Default: 1.5 - best risk/reward balance
Path Memory (20-200 bars)
Short Memory (20-50): Recent behavior focus, quick adaptation
Medium Memory (50-100): Balanced historical context
Long Memory (100-200): Emphasizes established patterns Default: 50 - captures sufficient history without lag
Signal Spacing (5-50 bars)
Aggressive (5-10): Allows rapid-fire signals
Normal (15-25): Prevents clustering, maintains flow
Conservative (30-50): Major setups only Default: 15 - optimal trade frequency
Ensemble Configuration
Select markets for consensus analysis:
SPY: Broad market sentiment
QQQ: Technology leadership
IWM: Small-cap risk appetite
DIA: Blue-chip stability
More instruments = stronger consensus but potentially diluted signals
Visual Customization
Color Themes (6 professional options):
Quantum: Cyan/Pink - Modern trading aesthetic
Matrix: Green/Red - Classic terminal look
Heat: Blue/Red - Temperature metaphor
Neon: Cyan/Magenta - High contrast
Ocean: Turquoise/Coral - Calming palette
Sunset: Red-orange/Teal - Warm gradients
Display Controls:
- Toggle each visual component
- Adjust transparency levels
- Scale dashboard text
- Show/hide confidence scores
- Trading Strategies by Market State
- Ergodic State Strategy (Primary Color Bands)
Market Characteristics
- Price oscillates predictably
- Support/resistance hold
- Volume patterns repeat
- Mean reversion dominates
Optimal Approach
Entry: Fade moves at band extremes
Target: Middle band (equilibrium)
Stop: Just beyond outer bands
Size: Full confidence-based position
Recommended Tools
- RSI for oversold/overbought
- Bollinger Bands for extremes
- Volume profile for levels
- Non-Ergodic State Strategy (Danger Color Bands)
Market Characteristics
- Price trends persistently
- Levels break decisively
- Volume confirms direction
- Momentum accelerates
Optimal Approach
Entry: Breakout from bands
Target: Trail with expanding bands
Stop: Inside opposite band
Size: Scale in with trend
Recommended Tools
- Moving average alignment
- ADX for trend strength
- MACD for momentum
- Advanced Features Explained
Quantum Coherence Metric
Measures phase alignment between individual and ensemble behavior:
80-100%: Perfect sync - strong mean reversion setup
50-80%: Moderate alignment - mixed signals
0-50%: Decoherence - trending behavior likely
Path Dependency Analysis
Quantifies how much history influences current price:
Low (<30%): Technical patterns reliable
Medium (30-50%): Mixed influences
High (>50%): Fundamental shift occurring
Volatility Regime Classification
Contextualizes current volatility:
Normal: Standard strategies apply
Elevated: Widen stops, reduce size
Extreme: Defensive mode required
Signal Strength Indicator
Real-time opportunity quality:
- Distance from threshold
- Momentum acceleration
- Cross-validation factors
Risk Management Framework
Position Sizing by Confidence
90%+ confidence = 100% position size
70-90% confidence = 75% position size
50-70% confidence = 50% position size
<50% confidence = 25% or skip
Dynamic Stop Placement
Ergodic State: ATR × 1.0 from entry
Non-Ergodic State: ATR × 2.0 from entry
Volatility Adjustment: Multiply by current regime
Multi-Timeframe Alignment
- Check higher timeframe regime
- Confirm ensemble consensus
- Verify volume participation
- Align with major levels
What Makes EMD Unique
Original Contributions
First Ergodic Theory Trading Application: Transforms abstract physics into practical signals
Ensemble Market Analysis: Revolutionary multi-market divergence system
Adaptive Confidence Engine: Institutional-grade signal quality metrics
Quantum Coherence: Novel market alignment measurement
Smart Signal Management: Prevents clustering while maintaining responsiveness
Technical Innovations
Dynamic Threshold Adaptation: Self-adjusting sensitivity
Path Memory Integration: Historical dependency weighting
Stress-Adjusted Scoring: Market condition normalization
Real-Time Performance Tracking: Built-in strategy analytics
Optimization Guidelines
By Timeframe
Scalping (1-5 min)
Period: 10-15
Threshold: 0.5-1.0
Memory: 20-30
Spacing: 5-10
Day Trading (5-60 min)
Period: 20-30
Threshold: 1.5-2.5
Memory: 40-60
Spacing: 15-20
Swing Trading (1H-1D)
Period: 40-60
Threshold: 2.0-3.0
Memory: 80-120
Spacing: 25-35
Position Trading (1D-1W)
Period: 60-100
Threshold: 3.0-5.0
Memory: 100-200
Spacing: 40-50
By Market Condition
Trending Markets
- Increase threshold
- Extend memory
- Focus on breaks
Ranging Markets
- Decrease threshold
- Shorten memory
- Focus on restores
Volatile Markets
- Increase spacing
- Raise confidence requirement
- Reduce position size
- Integration with Other Analysis
- Complementary Indicators
For Ergodic States
- RSI divergences
- Bollinger Band squeezes
- Volume profile nodes
- Support/resistance levels
For Non-Ergodic States
- Moving average ribbons
- Trend strength indicators
- Momentum oscillators
- Breakout patterns
- Fundamental Alignment
- Check economic calendar
- Monitor sector rotation
- Consider market themes
- Evaluate risk sentiment
Troubleshooting Guide
Too Many Signals:
- Increase threshold
- Extend signal spacing
- Raise confidence minimum
Missing Opportunities
- Decrease threshold
- Reduce signal spacing
- Check ensemble settings
Poor Win Rate
- Verify timeframe alignment
- Confirm volume participation
- Review risk management
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. Trading involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results.
The ergodic framework provides unique market insights but cannot predict future price movements with certainty. Always use proper risk management, conduct your own analysis, and never risk more than you can afford to lose.
This tool should complement, not replace, comprehensive trading strategies and sound judgment. Markets remain inherently unpredictable despite advanced analysis techniques.
Transform market chaos into trading clarity with Ergodic Market Divergence.
Created with passion for the TradingView community
Trade with insight. Trade with anticipation.
— Dskyz , for DAFE Trading Systems
Disparity Index with Volatility ZonesDisparity Index with Volatility Zones
is a momentum oscillator that measures the percentage difference between the current price and its simple moving average (SMA). This allows traders to identify overbought/oversold conditions, assess momentum strength, and detect potential trend reversals or continuations.
🔍 Core Concept:
The Disparity Index (DI) is calculated as:
DI = 100 × (Price − SMA) / SMA
A positive DI indicates the price is trading above its moving average (potential bullish sentiment), while a negative DI suggests the price is below the average (potential bearish sentiment).
This version of the Disparity Index introduces a dual-zone volatility framework, offering deeper insight into the market's current state.
🧠 What Makes This Version Unique?
1. High Volatility Zones
When DI crosses above +1.0% or below –1.0%, it often indicates the start or continuation of a strong trend.
Sustained readings beyond these thresholds typically align with trending phases, offering opportunities for momentum-based entries.
A reversal back within ±1.0% after exceeding these levels can suggest a shift in momentum — similar to how RSI exits the overbought/oversold zones before reversals.
These thresholds act as dynamic markers for breakout confirmation and potential trend exhaustion.
2. Low Volatility Zones
DI values between –0.5% and +0.5% define the low-volatility zone, shaded for visual clarity.
This area typically indicates market indecision, sideways price action, or consolidation.
Trading within this range may favor range-bound or mean-reversion strategies, as trend momentum is likely limited.
The logic is similar to interpreting a flat ADX, tight Bollinger Bands, or contracting Keltner Channels — all suggesting consolidation.
⚙️ Features:
Customizable moving average length and input source
Adjustable thresholds for overbought/oversold and low-volatility zones
Optional visual fill between low-volatility bounds
Clean and minimal chart footprint (non-essential plots hidden by default)
📈 How to Use:
1. Trend Confirmation:
A break above +1.0% can be used as a bullish continuation signal.
A break below –1.0% may confirm bearish strength.
Long periods above/below these thresholds support trend-following entries.
2. Reversal Detection:
If DI returns below +1.0% after exceeding it, bullish momentum may be fading.
If DI rises above –1.0% after falling below, bearish pressure may be weakening.
These shifts resemble overbought/oversold transitions in oscillators like RSI or Stochastic, and can be paired with divergence, volume, or price structure analysis for higher reliability.
3. Sideways Market Detection:
DI values within ±0.5% indicate low volatility or a non-trending environment.
Traders may avoid breakout entries during these periods or apply range-trading tactics instead.
Observing transitions out of the low-volatility zone can help anticipate breakouts.
4. Combine with Other Indicators:
DI signals can be enhanced using tools like MACD, Volume Oscillators, or Moving Averages.
For example, a DI breakout beyond ±1.0% supported by a MACD crossover or volume spike can help validate trend initiation.
This indicator is especially powerful when paired with Bollinger Bands:
A simultaneous price breakout from the Bollinger Band and DI moving beyond ±1.0% can help identify early trend inflection points.
This combination supports entering positions early in a developing trend, improving the efficiency of trend-following strategies and enhancing decision-making precision.
It also helps filter false breakouts when DI fails to confirm the move outside the band.
This indicator is designed for educational and analytical purposes and works across all timeframes and asset classes.
It is particularly useful for traders seeking a clear framework to identify momentum strength, filter sideways markets, and improve entry timing within a larger trading system.
VWAP Predictive Breakout + RSI + OB + Trend/Chop📈 VWAP Predictive Breakout + RSI + Order Blocks + Trend/Chop Filter
This multi-layered day trading and scalping tool is designed to predict price direction after a VWAP breakout, rather than react to it. It combines volume, RSI, candlestick structure, order blocks, and trend/chop analysis to improve the accuracy of intraday signals.
🔍 Core Features
VWAP Predictive Breakout
Signals are generated when price breaks above/below VWAP with strength (volume spike + strong candle body), supported by trend confirmation.
RSI Momentum Filter
Uses RSI divergence behavior to validate breakouts, filtering out weak or exhausted moves.
Order Block Detection
Marks bullish and bearish engulfing patterns and checks for proximity to these zones as confirmation for breakouts.
Trend vs Chop Detection
Uses ADX, ATR, EMA distance, Bollinger Band width, and candlestick cleanliness to dynamically identify whether the market is trending or choppy.
Clean Candle Behavior
Filters out noisy or indecisive candles by analyzing wick-to-body ratio and ATR-based body size.
📌 Visual Markers
🟢 Buy Signal: Green triangle below bar
🔴 Sell Signal: Red triangle above bar
🟢⚪ Bullish Order Block: Green circle
🔴⚪ Bearish Order Block: Red circle
🟩 Trending Background: Light green
🟥 Choppy Background: Light red
🛎 Alerts Included
Long signal: VWAP breakout + RSI + Order Block + Clean Candle
Short signal: VWAP breakdown + RSI + Order Block + Clean Candle
🧠 Best Use Cases
Scalping high-probability VWAP reversals or continuations
Day trading in markets where trend clarity is critical
Filtering noise in sideways conditions using real-time chop detection
Hybrid: RSI + Breakout + DashboardHybrid RSI + Breakout Strategy
Adaptive trading system that switches modes based on market regime:
Ranging: Buys when RSI < 30 and sells when RSI > 70.
Trending: Enters momentum breakouts only in the direction of the 200-EMA bias, with ADX confirming trend strength.
Risk Management: Trailing stop locks profits and caps drawdown.
Optimized for BTC, ETH, and SOL on 1 h–1 D charts; back-tested from 2017 onward. Educational use only—run your own tests before deploying live funds.
Angel Signal proAngel Signal Pro is a comprehensive technical analysis tool that integrates multiple indicators for a structured market assessment.
RSI, MACD, and ADX — evaluate trend strength and identify potential entry and exit points.
Momentum and ATR — measure price acceleration and volatility, assisting in risk management.
Stochastic Oscillator — detects overbought and oversold conditions.
SMA (50, 100, 200) — tracks key moving averages with the option to enable all at once.
Cryptocurrency price display — select and monitor real-time prices of any cryptocurrency available on the BINANCE exchange.
Automatic trend detection— classifies trends as bullish, bearish, or neutral based on RSI and MACD signals.
Customizable table — presents key indicator values in a structured and convenient format. The table also provides automatic trend detection across different timeframes (TF), allowing you to assess the current market situation more accurately on various levels.
Automatic gap detection — identifies market gaps, helping to spot potential trading opportunities.
Buy and sell signals — the system generates buy and sell signals based on the analysis of five key indicator values, allowing traders to respond quickly to market changes.
Bollinger Bands — helps assess market volatility and identify support and resistance levels, as well as potential reversal points, by detecting when prices move outside of normal volatility ranges.
Customization settings — in Angel Signal Pro, you can select which indicators and features you want to display. All elements can be turned on or off according to your preferences. There is also the ability to change colors and the appearance of each element, allowing you to tailor the interface to your personal preferences and make the tool more convenient to use.
Angel Signal Pro is suitable for traders of all experience levels and helps navigate market conditions with confidence.
29 мар.
Информация о релизе
Added Super Trend, improved the quality of buy and sell signals, and enhanced settings. Now, all toggle buttons for enabling and disabling indicators follow one another.
30 мар.
Информация о релизе
Fixed several errors in the settings and improved gap search.
nineLivesUtilLibLibrary "nineLivesUtilLib"
isDateInRange(currentTime, useTimeFilter, startDate, endDate)
Checks if the current time is within the specified date range.
Parameters:
currentTime (int) : The current bar's time (time).
useTimeFilter (bool) : Bool 📅: Enable the date range filter.
startDate (int) : Timestamp 📅: The start date for the filter.
endDate (int) : Timestamp 📅: The end date for the filter.
Returns: True if the current time is within the range or filtering is disabled, false otherwise.
@example
inDateRange = nineLivesUtilLib.isDateInRange(time, useTimeFilter, startDate, endDate)
if inDateRange
// Execute trading logic
checkVolumeCondition(currentVolume, useVolumeFilter, volumeThresholdMultiplier, volumeLength)
Checks if the current volume meets the threshold condition.
Parameters:
currentVolume (float) : The current bar's volume (volume).
useVolumeFilter (bool) : Bool 📊: Enable the volume filter.
volumeThresholdMultiplier (float) : Float 📊: Volume threshold relative to average (e.g., 1.5 for 1.5x average).
volumeLength (int) : Int 📊: Lookback length for the volume average.
Returns: True if the volume condition is met or filtering is disabled, false otherwise.
@example
volumeOk = nineLivesUtilLib.checkVolumeCondition(volume, useVolumeFilter, volumeThreshold, volumeLength)
if volumeOk
// Proceed with trading logic
checkMultiTimeframeCondition(currentClose, currentOpen, htfClose, htfOpen, useMultiTimeframe, alignment)
Checks alignment with higher timeframe direction.
Parameters:
currentClose (float) : Float: The current bar's closing price (close).
currentOpen (float) : Float: The current bar's opening price (open).
htfClose (float) : Float: The closing price from the higher timeframe (must be fetched by the calling script using request.security).
htfOpen (float) : Float: The opening price from the higher timeframe (must be fetched by the calling script using request.security).
useMultiTimeframe (bool) : Bool ⏱️: Enable multi-timeframe analysis.
alignment (string) : String ⏱️: Desired alignment ("same", "opposite", "any").
Returns: True if the timeframe alignment condition is met or analysis is disabled, false otherwise.
@example
// In the calling script:
= request.security(syminfo.tickerid, higherTimeframe, )
tfOk = nineLivesUtilLib.checkMultiTimeframeCondition(close, open, htfClose, htfOpen, useMultiTimeframe, tfAlignment)
if tfOk
// Proceed with trading logic
checkMarketRegime(useMarketRegime, regimeIndicator, regimeThreshold, regimeLength, regimeMode)
Detects the market regime (trending or ranging) and checks if trading is allowed.
Parameters:
useMarketRegime (bool) : Bool 🔍: Enable market regime detection.
regimeIndicator (string) : String 🔍: Indicator to use ("ADX" or "Volatility").
regimeThreshold (int) : Int 🔍: Threshold for trend strength/volatility.
regimeLength (simple int) : Int 🔍: Lookback length for the indicator.
regimeMode (string) : String 🔍: Trading mode based on regime ("trend_only", "range_only", "adaptive").
Returns: A tuple containing:
: conditionMet (bool) - True if trading is allowed based on the regime mode and detection, false otherwise.
: inTrendingRegime (bool) - True if the current regime is trending based on the indicator and threshold.
@example
= nineLivesUtilLib.checkMarketRegime(useMarketRegime, regimeIndicator, regimeThreshold, regimeLength, regimeMode)
if regimeOk
// Proceed with trading logic
applyCooldown(buySignal, sellSignal, cooldownBars)
Applies a cooldown period after a signal.
Parameters:
buySignal (bool) : Bool: Buy signal (potentially after primary entry logic).
sellSignal (bool) : Bool: Sell signal (potentially after primary entry logic).
cooldownBars (int) : Int ⏳: The number of bars to wait after a signal before allowing another.
Returns: A tuple containing:
: cooldownFilteredBuy (bool) - Buy signal after cooldown filter.
: cooldownFilteredSell (bool) - Sell signal after cooldown filter.
@example
= nineLivesUtilLib.applyCooldown(rawBuySignal, rawSellSignal, iCool)
applyAllFilters(rawBuy, rawSell, inDateRange, tradeDirection, volumeOk, tfOk, regimeOk, drawdownOk, cooldownOkBuy, cooldownOkSell)
Applies all filtering conditions to the buy and sell signals.
Parameters:
rawBuy (bool) : Bool: The initial buy signal candidate (from primary entry logic, e.g., after cooldown).
rawSell (bool) : Bool: The initial sell signal candidate (from primary entry logic, e.g., after cooldown).
inDateRange (bool) : Bool 📅: Result from isDateInRange.
tradeDirection (string) : String 🔄: Overall trade direction preference ("longs_only", "shorts_only", "both").
volumeOk (bool) : Bool 📊: Result from checkVolumeCondition.
tfOk (bool) : Bool ⏱️: Result from checkMultiTimeframeCondition.
regimeOk (bool) : Bool 🔍: Result from checkMarketRegime.
drawdownOk (bool) : Bool 📉: Result from checkDrawdownExceeded (or equivalent).
cooldownOkBuy (bool) : Bool ⏳: Result from applyCooldown for buy.
cooldownOkSell (bool) : Bool ⏳: Result from applyCooldown for sell.
Returns: A tuple containing:
: finalBuySignal (bool) - The final buy signal after all filters.
: finalSellSignal (bool) - The final sell signal after all filters.
@example
= nineLivesUtilLib.applyAllFilters(cooldownBuy, cooldownSell, inDateRange, tradeDirection, volumeOk, tfOk, regimeOk, !drawdownExceeded, cooldownBuy, cooldownSell)
NOTE: This function filters signals generated by your primary entry logic (e.g., EMA crossover).
checkDrawdownExceeded(currentEquity, useMaxDrawdown, maxDrawdownPercent)
Tracks maximum equity and checks if current drawdown exceeds a threshold.
Parameters:
currentEquity (float) : Float: The strategy's current equity (strategy.equity).
useMaxDrawdown (bool) : Bool 📉: Enable max drawdown protection.
maxDrawdownPercent (float) : Float 📉: The maximum allowed drawdown as a percentage.
Returns: True if drawdown protection is enabled and the current drawdown exceeds the threshold, false otherwise.
@example
drawdownExceeded = nineLivesUtilLib.checkDrawdownExceeded(strategy.equity, useMaxDrawdown, maxDrawdownPercent)
if drawdownExceeded
// Consider stopping entries or exiting positions in the strategy script
calculateExitPrice(positionAvgPrice, percentage, isStop, isLong)
Calculates a stop loss or take profit price based on a percentage from the average entry price.
Parameters:
positionAvgPrice (float) : Float: The average price of the current position (strategy.position_avg_price).
percentage (float) : Float: The stop loss or take profit percentage (e.g., 2.0 for 2%).
isStop (bool) : Bool: True if calculating a stop loss price, false if calculating a take profit price.
isLong (bool) : Bool: True if the position is long, false if short.
Returns: The calculated stop price or take profit price, or na if no position or percentage is invalid.
@example
longSL = nineLivesUtilLib.calculateExitPrice(strategy.position_avg_price, stopLossPercent, true, true)
shortTP = nineLivesUtilLib.calculateExitPrice(strategy.position_avg_price, takeProfitPercent, false, false)
calculateTrailingStopLevel(positionAvgPrice, trailOffsetPercent, trailPercent, currentHigh, currentLow, isLong)
Calculates the current trailing stop level for a position.
Parameters:
positionAvgPrice (float) : Float: The average price of the current position (strategy.position_avg_price).
trailOffsetPercent (float) : Float 🔄: The percentage price movement to activate the trailing stop.
trailPercent (float) : Float 🔄: The percentage distance the stop trails behind the price.
currentHigh (float) : Float: The current bar's high (high).
currentLow (float) : Float: The current bar's low (low).
isLong (bool) : Bool: True if the position is long, false if short.
Returns: The calculated trailing stop price if active, otherwise na.
@example
longTrailStop = nineLivesUtilLib.calculateTrailingStopLevel(strategy.position_avg_price, trailOffset, trailPercent, high, low, true)
shortTrailStop = nineLivesUtilLib.calculateTrailingStopLevel(strategy.position_avg_price, trailOffset, trailPercent, high, low, false)
if not na(longTrailStop)
strategy.exit("Long Trail", from_entry="Long", stop=longTrailStop)