Signal for Backtesting-Trading Engine [PineCoders]This is a companion script to the PineCoders Backtesting-Trading Engine. It illustrates how to build a signal plot in another script, which can in turn be fed in the Engine to provide entry, exit, filter and stop information.
Connection to the Engine is done through its “External Indicator” input field at the very bottom of the Engine’s Settings/Inputs.
The Engine must be operating in study mode to be able to connect an external indicator to it.
The way this script builds the signal is straightforward, as you will see in the code. Two aspects are worth mentioning:
The “FudgeStop()” function used to fudge the stop value by one tick for the rare cases where it will match one of the protocol reserved values, i.e. 1, 2 or 3.
The priority and exclusivity given to the different types of signals in the signal-building “Signal = …” line. No two signals can be sent simultaneously through the signal plot, except for the entry and stop combination.
You can determine in this script’s Settings/Inputs the type of signals that will go through the signal plot.
This script respects the following protocol:
EXTERNAL SIGNAL PROTOCOL
Only one external indicator can be connected to a script; in order to leverage its use to the fullest, the engine provides options to use it as either an entry signal, an entry/exit signal or a filter. When used as an entry signal, you can also use the signal to provide the entry’s stop. Here’s how this works:
For filter state: supply +1 for bull (long entries allowed), -1 for bear (short entries allowed).
For entry signals: supply +2 for long, -2 for short.
For exit signals: supply +3 for exit from long, -3 for exit from short.
To send an entry stop level with an entry signal: Send positive stop level for long entry (e.g. 103.33 to enter a long with a stop at 103.33), negative stop level for short entry (e.g. -103.33 to enter a short with a stop at 103.33). If you use this feature, your indicator will have to check for exact stop levels of 1.0, 2.0 or 3.0 and their negative counterparts, and fudge them with a tick in order to avoid confusion with other signals in the protocol.
Remember that mere generation of the values by your indicator will have no effect until you explicitly allow their use in the appropriate sections of the Engine’s Settings/Inputs.
Look first. Then leap.
Wyszukaj w skryptach "entry"
[Xzhi] Net VolumeUse net volume to find areas of reversal. This is not meant to be used on its own, and requires others tools, but it is helpful in identifying possible points of entry. Area's with lots of market participants could signify a reversal, depending on the positions entered.
Edit the source code to suit the currency pair you are trading.
Great Expectations [LucF]Great Expectations helps traders answer the question: What is possible? It is a powerful question, yet exploration of the unknown always entails risk. A more complete set of questions better suited to traders could be:
What opportunity exists from any given point on a chart?
What portion of this opportunity can be realistically captured?
What risk will be incurred in trying to do so, and how long will it take?
Great Expectations is the result of an exploration of these questions. It is a trade simulator that generates visual and quantitative information to help strategy modelers visually identify and analyse areas of optimal expectation on charts, whether they are designing automated or discretionary strategies.
WARNING: Great Expectations is NOT an indicator that helps determine the current state of a market. It works by looking at points in the past from which the future is already known. It uses one definition of repainting extensively (i.e. it goes back in the past to print information that could not have been know at the time). Repainting understood that way is in fact almost all the indicator does! —albeit for what I hope is a noble cause. The indicator is of no use whatsoever in analyzing markets in real-time. If you do not understand what it does, please stay away!
This is an indicator—not a strategy that uses TradingView’s backtesting engine. It works by simulating trades, not unlike a backtest, but with the crucial difference that it assumes a trade (either long or short) is entered on all bars in the historic sample. It walks forward from each bar and determines possible outcomes, gathering individual trade statistics that in turn generate precious global statistics from all outcomes tested on the chart.
Great Expectations provides numbers summarizing trade results on all simulations run from the chart. Those numbers cannot be compared to backtest-produced numbers since all non-filtered bars are examined, even if an entry was taken on the bar immediately preceding the current one, which never happens in a backtest. This peculiarity does NOT invalidate Great Expectations calculations; it just entails that results be considered under a different light. Provided they are evaluated within the indicator’s context, they can be useful—sometimes even more than backtesting results, e.g. in evaluating the impact of parameter-fitting or variations in entry, exit or filtering strats.
Traders and strategy modelers are creatures of hope often suffering from blurred vision; my hope is that Great Expectations will help them appraise the validity of their setup and strat intuitions in a realistic fashion, preventing confirmation bias from obstructing perspective—and great expectations from turning into financial great deceptions.
USE CASES
You’ve identified what looks like a promising setup on other indicators. You load Great Expectations on the chart and evaluate if its high-expectation areas match locations where your setup’s conditions occur. Unless today is your lucky day, chances are the indicator will help you realize your setup is not as promising as you had hoped.
You want to get a rough estimate of the optimal trade duration for a chart and you don’t mind using the entry and exit strategies provided with the indicator. You use the trade length readouts of the indicator.
You’re experimenting with a new stop strategy and want to know how long it will keep you in trades, on average. You integrate your stop strategy in the indicator’s code and look at the average trade length it produces and the TST ratio to evaluate its performance.
You have put together your own entry and exit criteria and are looking for a filter that will help you improve backtesting results. You visually ascertain the suitability of your filter by looking at its results on the charts with great Expectations, to see if your filter is choosing its areas correctly.
You have a strategy that shows backtested trades on your chart. Great Expectations can help you evaluate how well your strategy is benefitting from high-opportunity areas while avoiding poor expectation spots.
You want more complete statistics on your set of strategies than what backtesting will provide. You use Great Expectations, knowing that it tests all bars in the sample that correspond to your criteria, as opposed to backtesting results which are limited to a subset of all possible entries.
You want to fool your friends into thinking you’ve designed the holy grail of indicators, something that identifies optimal opportunities on any chart; you show them the P&L cloud.
FEATURES
For one trade
At any given point on the chart, assuming a trade is entered there, Great Expectations shows you information specific to that trade simulation both on the chart and in the Data Window.
The chart can display:
the P & L Cloud which shows whether the trade ended profitably or not, and by how much,
the Opportunity & Risk Cloud which the maximum opportunity and risk the simulation encountered. When superimposed over the P & L cloud, you will see what I call the managed opportunity and risk, i.e the portion of maximum opportunity that was captured and the portion of the maximum risk that was incurred,
the target and if it was reached,
a background that uses a gradient to show different levels of trade length, P&L or how frequently the target was reached during simulation.
The Data Window displays more than 40 values on individual trades and global results. For any given trade you will know:
Entry/Exit levels, including slippage impact,
It’s outcome and duration,
P/L achieved,
The fraction of the maximum opportunity/risk managed by the trade.
For all trades
After going through all the possible trades on the chart, the indicator will provide you with a rare view of all outcomes expressed with the P&L cloud, which allows us to instantly see the most/least profitable areas of a chart using trade data as support, while also showing its relationship with the opportunity/risk encountered during the simulation. The difference between the two clouds is the managed opportunity and risk.
The Data Window will present you with numbers which we will go through later. Some of them are: average stop size, P/L, win rate, % opportunity managed, trade lengths for different types of trade outcomes and the TST (Target:Stop Travel) ratio.
Let’s see Great Expectations in action… and remember to open your Data Window!
INPUTS
Trade direction : You must first choose if you wish to look at long or short trades. Because of the way the indicator works and the amount of visual information on the chart, it is only practical to look at one type of trades at a time. The default is Longs.
Maximum trade Length (MaxL) : This is the maximum walk forward distance the simulator will go in analyzing outcomes from any given point in the past. It also determines the size of the dead zone among the chart’s last bars. A red background line identifies the beginning of the dead zone for which not enough bars have elapsed to analyze outcomes for the maximum trade length defined. If an ATR-based entry stop is used, that length is added to the wait time before beginning simulations, so that the first entry starts with a clean ATR value. On a sample of around 16000 bars, my tests show that the indicator runs into server errors at lengths of around 290, i.e. having completed ~4,6M simulation loop iterations. That is way too high a length anyways; 100 will usually be amply enough to ring out all the possibilities out of a simulation, and on shorter time frames, 30 can be enough. While making it unduly small will prevent simulations of expressing the market’s potential, the less you use, the faster the indicator will run. The default is 40.
Unrealized P&L base at End of Trade (EOT) : When a simulation ends and the trade is still open, we calculate unrealized P&L from an exit order executed from either the last in-trade stop on the previous bar, or the close of the last bar. You can readily see the impact of this selection on the chart, with the P&L cloud. The default is on the close.
Display : The check box besides the title does nothing.
Show target : Shows a green line displaying the trade’s target expressed as a multiple of X, i.e. the amplitude of the entry stop. I call this value “X” and use it as a unit to express profit and loss on a trade (some call it “R”). The line is highlighted for trades where the close reached the target during the trade, whether the trade ended in profit or loss. This is also where you specify the multiple of X you wish to use in calculating targets. The multiple is used even if targets are not displayed.
Show P&L Cloud : The cloud allows traders to see right away the profitable areas of the chart. The only line printed with the cloud is the “end of trade line” (EOT). The EOT line is the only way one can see the level where a trade ended on the chart (in the Data Window you can see it as the “Exit Fill” value). The EOT level for the trade determines if the trade ended in a profit or a loss. Its value represents one of the following:
- fill from order executed at close of bar where stop is breached during trade (which produces “Realized P/L”),
- simulation of a fill pseudo-fill at the user-defined EOT level (last close or stop level) if the trade runs its course through MaxL bars without getting stopped (producing Unrealized P/L).
The EOT line and the cloud fill print in green when the trade’s outcome is profitable and in red when it is not. If the trade was closed after breaching the stop, the line appears brighter.
Show Opportunity&Risk Cloud : Displays the maximum opportunity/risk that was present during the trade, i.e. the maximum and minimum prices reached.
Background Color Scheme : Allows you to choose between 3 different color schemes for the background gradients, to accommodate different types of chart background/candles. Select “None” if you don’t want a background.
Background source : Determines what value will be used to generate the different intensities of the gradient. You can choose trade length (brighter is shorter), Trade P&L (brighter is higher) or the number of times the target was reached during simulation (brighter is higher). The default is Trade Length.
Entry strat : The check box besides the title does nothing. The default strat is All bars, meaning a trade will be simulated from all bars not excluded by the filters where a MaxL bars future exists. For fun, I’ve included a pseudo-random entry strat (an indirect way of changing the seed is to vary the starting date of the simulation).
Show Filter State : Displays areas where the combination of filters you have selected are allowing entries. Filtering occurs as per your selection(s), whether the state is displayed or not. The effect of multiple selections is additive. The filters are:
1. Bar direction: Longs will only be entered if close>open and vice versa.
2. Rising Volume: Applies to both long and shorts.
3. Rising/falling MA of the length you choose over the number of bars you choose.
4. Custom indicator: You can feed your own filtering signal through this from another indicator. It must produce a signal of 1 to allow long entries and 0 to allow shorts.
Show Entry Stops :
1. Multiple of user-defined length ATR.
2. Fixed percentage.
3. Fixed value.
All entry stops are calculated using the entry fill price as a reference. The fill price is calculated from the current bar’s open, to which slippage is added if configured. This simulates the case where the strategy issued the entry signal on the previous bar for it to be executed at the next bar’s open.
The entry stop remains active until the in-trade stop becomes the more aggressive of the two stops. From then on, the entry stop will be ignored, unless a bar close breaches the in-trade stop, in which case the stop will be reset with a new entry stop and the process repeats.
Show In-trade stops : Displays in bright red the selected in-trade stop (be sure to read the note in this section about them).
1. ATR multiple: added/subtracted from the average of the two previous bars minimum/maximum of open/close.
2. A trailing stop with a deviation expressed as a multiple of entry stop (X).
3. A fixed percentage trailing stop.
Trailing stops deviations are measured from the highest/lowest high/low reached during the trade.
Note: There is a twist with the in-trade stops. It’s that for any given bar, its in-trade stop can hold multiple values, as each successive pass of the advancing simulation loops goes over it from a different entry points. What is printed is the stop from the loop that ended on that bar, which may have nothing to do with other instances of the trade’s in-trade stop for the same bar when visited from other starting points in previous simulations. There is just no practical way to print all stop values that were used for any given bar. While the printed entry stops are the actual ones used on each bar, the in-trade stops shown are merely the last instance used among many.
Include Slippage : if checked, slippage will be added/subtracted from order price to yield the fill price. Slippage is in percentage. If you choose to include slippage in the simulations, remember to adjust it by considering the liquidity of the markets and the time frame you’ll be analyzing.
Include Fees : if checked, fees will be subtracted/added to both realized an unrealized trade profits/losses. Fees are in percentage. The default fees work well for crypto markets but will need adjusting for others—especially in Forex. Remember to modify them accordingly as they can have a major impact on results. Both fees and slippage are included to remind us of their importance, even if the global numbers produced by the indicator are not representative of a real trading scenario composed of sequential trades.
Date Range filtering : the usual. Just note that the checkbox has to be selected for date filtering to activate.
DATA WINDOW
Most of the information produced by this indicator is made available in the Data Window, which you bring up by using the icon below the Watchlist and Alerts buttons at the right of the TV UI. Here’s what’s there.
Some of the information presented in the Data Window is standard trade data; other values are not so standard; e. g. the notions of managed opportunity and risk and Target:Stop Travel ratio. The interplay between all the values provided by Great Expectations is inherently complex, even for a static set of entry/filter/exit strats. During the constant updating which the habitual process of progressive refinement in building strategies that is the lot of strategy modelers entails, another level of complexity is no doubt added to the analysis of this indicator’s values. While I don’t want to sound like Wolfram presenting A New Kind of Science , I do believe that if you are a serious strategy modeler and spend the time required to get used to using all the information this indicator makes available, you may find it useful.
Trade Information
Entry Order : This is the open of the bar where simulation starts. We suppose that an entry signal was generated at the previous bar.
Entry Fill (including slip.) : The actual entry price, including slippage. This is the base price from which other values will be calculated.
Exit Order : When a stop is breached, an exit order is executed from the close of the bar that breached the stop. While there is no “In-trade stop” value included in the Data Window (other than the End of trade Stop previously discussed), this “Exit Order” value is how we can know the level where the trade was stopped during the simulation. The “Trade Length” value will then show the bar where the stop was breached.
Exit Fill (including slip.) : When the exit order is simulated, slippage is added to the order level to create the fill.
Chart: Target : This is the target calculated at the beginning of the simulation. This value also appear on the chart in teal. It is controlled by the multiple of X defined under the “Show Target” checkbox in the Inputs.
Chart: Entry Stop : This value also appears on the chart (the red dots under points where a trade was simulated). Its value is controlled by the Entry Strat chosen in the Inputs.
X (% Fill, including Fees) and X (currency) : This is the stop’s amplitude (Entry Fill – Entry Stop) + Fees. It represents the risk incurred upon entry and will be used to express P&L. We will show R expressed in both a percentage of the Entry Fill level (this value), and currency (the next value). This value represents the risk in the risk:reward ratio and is considered to be a unit of 1 so that RR can be expressed as a single value (i.e. “2” actually meaning “1:2”).
Trade Length : If trade was stopped, it’s the number of bars elapsed until then. The trade is then considered “Closed”. If the trade ends without being stopped (there is no profit-taking strat implemented, so the stop is the only exit strat), then the trade is “Open”, the length is MaxL and it will show in orange. Otherwise the value will print in green/red to reflect if the trade is winning/losing.
P&L (X) : The P&L of the trade, expressed as a multiple of X, which takes into account fees paid at entry and exit. Given our default target setting at 2 units of “X”, a trade that closes at its target will have produced a P&L of +2.0, i.e. twice the value of X (not counting fees paid at exit ). A trade that gets stopped late 50% further that the entry stop’s level will produce a P&L of -1.5X.
P&L (currency, including Fees) : same value as above, but expressed in currency.
Target first reached at bar : If price closed above the target during the trade (even if it occurs after the trade was stopped), this will show when. This value will be used in calculating our TST ratio.
Times Stop/Target reached in sim. : Includes all occurrences during the complete simulation loop.
Opportunity (X) : The highest/lowest price reached during a simulation, i.e. the maximum opportunity encountered, whether the trade was previously stopped or not, expressed as a multiple of X.
Risk (X) : The lowest/highest price reached during a simulation, i.e. the maximum risk encountered, whether the trade was previously stopped or not, expressed as a multiple of X.
Risk:Opportunity : The greater this ratio, the greater Opportunity is, compared to Risk.
Managed Opportunity (%) : The portion of Opportunity that was captured by the highest/low stop position, even if it occurred after a previous stop closed the trade.
Managed Risk (%) : The portion of risk that was protected by the lowest/highest stop position, even if it occurred after a previous stop closed the trade. When this value is greater than 100%, it means the trade’s stop is protecting more than the maximum risk, which is frequent. You will, however, never see close to those values for the Managed Opportunity value, since the stop would have to be higher than the Maximum opportunity. It is much easier to alleviate the risk than it is to lock in profits.
Managed Risk:Opportunity : The ratio of the two preceding values.
Managed Opp. vs. Risk : The Managed Opportunity minus the Managed Risk. When it is negative, which is most often is, it means your strat is protecting a greater portion of the risk than it captures opportunity.
Global Numbers
Win Rate(%) : Percentage of winning trades over all entries. Open trades are considered winning if their last stop/close (as per user selection) locks in profits.
Avg X%, Avg X (currency) : Averages of previously described values:.
Avg Profitability/Trade (APPT) : This measures expectation using: Average Profitability Per Trade = (Probability of Win × Average Win) − (Probability of Loss × Average Loss) . It quantifies the average expectation/trade, which RR alone can’t do, as the probabilities of each outcome (win/lose) must also be used to calculate expectancy. The APPT combine the RR with the win rate to yield the true expectancy of a strategy. In my usual way of expressing risk with X, APPT is the equivalent of the average P&L per trade expressed in X. An APPT of -1.5 means that we lose on average 1.5X/trade.
Equity (X), Equity (currency) : The cumulative result of all trade outcomes, expressed as a multiple of X. Multiplied by the Average X in currency, this yields the Equity in currency.
Risk:Opportunity, Managed Risk:Opportunity, Managed Opp. vs. Risk : The global values of the ones previously described.
Avg Trade Length (TL) : One of the most important values derived by going through all the simulations. Again, it is composed of either the length of stopped trades, or MaxL when the trade isn’t stopped (open). This value can help systems modelers shape the characteristics of the components they use to build their strategies.
Avg Closed Win TL and Avg Closed Lose TL : The average lengths of winning/losing trades that were stopped.
Target reached? Avg bars to Stop and Target reached? Avg bars to Target : For the trades where the target was reached at some point in the simulation, the number of bars to the first point where the stop was breached and where the target was reached, respectively. These two values are used to calculate the next value.
TST (Target:Stop Travel Ratio) : This tracks the ratio between the two preceding values (Bars to first stop/Bars to first target), but only for trades where the target was reached somewhere in the loop. A ratio of 2 means targets are reached twice as fast as stops.
The next values of this section are counts or percentages and are self-explanatory.
Chart Plots
Contains chart plots of values already describes.
NOTES
Optimization/Overfitting: There is a fine line between optimizing and overfitting. Tools like this indicator can lead unsuspecting modelers down a path of overfitting that often turns strategies into over-specialized beasts that do not perform elegantly when confronted to the real-world. Proven testing strategies like walk forward analysis will go a long way in helping modelers alleviate this risk.
Input tuning: Because the results generated by the indicator will vary with the parameters used in the active entry, filtering and exit strats, it’s important to realize that although it may be fun at first, just slapping the default settings on a chart and time frame will not yield optimal nor reliable results. While using ATR as often as possible (as I do in this indicator) is a good way to make strat parametrization adaptable, it is not a foolproof solution.
There is no data for the last MaxL bars of the chart, since not enough trade future has elapsed to run a simulation from MaxL bars back.
Modifying the code: I have tried to structure the code modularly, even if that entails a larger code base, so that you can adapt it to your needs. I’ve included a few token components in each of the placeholders designed for entry strategies, filters, entry stops and in-trade stops. This will hopefully make it easier to add your own. In the same spirit, I have also commented liberally.
You will find in the code many instances of standard trade management tasks that can be lifted to code TV strategies where, as I do in mine, you manage everything yourself and don’t rely on built-in Pine strategy functions to act on your trades.
Enjoy!
THANKS
To @scarf who showed me how plotchar() could be used to plot values without ruining scale.
To @glaz for the suggestion to include a Chandelier stop strat; I will.
To @simpelyfe for the idea of using an indicator input for the filters (if some day TV lets us use more than one, it will be useful in other modules of the indicator).
To @RicardoSantos for the random generator used in the random entry strat.
To all scripters publishing open source on TradingView; their code is the best way to learn.
To my trading buddies Irving and Bruno; who showed me way back how pro traders get it done.
TICK gapUsed with the "Cumulative TICK", highlights a gap up candle in yellow and a gap down candle in white, then plots a line 500 points away, signalling a counter trend entry.
MACD Enhanced System MTF with optional TSL and Alerts [LTB]This script is developed to analyse MACD, MACD Signal, MACD Histogram movements by using current and higher time frame. Script calculates higher time frame automatically, no manuel entry. there is trailing stop loss line that is optional.
You can change the parameters as you wish.
btw. you should know that MACD is more successful when there is a trend.
I already shared this as a strategy script. Some ppl wanted to see the code.
You might want to see strategy test =>
by LonesomeTheBlue
Negociated capitalEste script calcula el capital negociado para el periodo trabajado. Simplemente calcula el precio promedio y luego lo multiplica por el volumen operado. El resultado es una aproximación del capital total que se intercambio. Es útil para estimar la liquidez del mercado y encontrar puntos de entrada mas precisos. Aplica a cualquier producto donde se conozca el volumen.
This script calculates the capital negotiated for the period worked. Simply calculate the average price and then multiply it by the volume operated. The result is an approximation of the total capital that is exchanged. It is useful to estimate the liquidity of the market and find more precise points of entry. Applies to any product where the volume is known.
Volatility IndicatorThe Volatility Index measures the market volatility by plotting a smoothed average of the True Range.
Based on HPotter's idea (),
it returns an average of the TrueRange over a specific number of bars.
Here the result is passed through the Fisher's transform and normalized to 0/1-range.
This indicator may be used to identify stretches in the price movements, suitable for entry.
Helter Skalper [by @treypeng]Just my favourite MAs (MA40 and EMA25) filled into an attractive ribbon a bit like a Ichi cloud.
I use these to help make decisions about trend and whether to get in or out of a longer term trade.
I also use these same MAs to scalp on the 5min chart. I like to wait until the MA40 has flattened before looking for an entry.
RCI with EMA&MACD2018/6/11 Re-release for house rule of Trading view.
5lines : RCI lines. A thick navy line has the longest period.
circles : MACD cross. GC=green DC=red
backcolor : Short EMA > Long EMA is blue. Short EMA < Long EMA is red.
Black shadow : It reveals its appearance when over-buying/selling.
It helps your entry.
CCI Multi-TimeframeThe Commodity Channel Index (CCI) is a leading oscillating momentum indicator that was developed by Donald Lambert to identify cyclical turns in commodities but can also be used on securities and bonds as well.
HOW IS IT USED ?
Lambert used the CCI to generate entry and exit signals when the CCI moved above +100% and below -100% respectively. When the CCI moves above +100%, the security enters into a strong uptrend and an entry signal is given. When the CCI moves back below +100% this position should be closed. Conversely, when the CCI moves below -100%, the security enters into a strong downtrend and an exit signal is given. When the CCI moves back above -100% this position should be closed.
In addition, an entry signal is given when the CCI bounces off of the zero line. When the CCI reaches the zero line, the security's average price is at the moving average used to calculate the CCI and when a security bounces off its moving average it is considered a good entry position as the security has pulled back to its short-term support with the bounce reaffirming the current trend.
The CCI can also be used to identify overbought and oversold levels. A security could be considered oversold when the CCI moves below -100 and overbought when it moves above +100. From an oversold level, an entry signal may be given when the CCI moves above -100. From an overbought level, an exit signal might be given when the CCI moves below +100.
Divergences can also be applied to the CCI. A positive divergence below -100 would increase the probability of a signal based on a move above -100, and a negative divergence above +100 would increase the probability of a signal based on a move back below +100.
Trend line breaks can be used to generate entry and exit signals. Trend lines can be drawn connecting the peaks and troughs. From oversold levels, a move above -100 and a trend line breakout could be used as an entry signal. Conversely, from overbought levels, a move below +100 and a trend line breakout could be used as an exit signal.
I added the possibility to add on the chart a 2nd timeframe for confirmation.
If you found this script useful, a tip is always welcome... :)
CMO_EMA (Chande Momentum Oscillator and EMA)
The absolute value of "CMO" alone makes it impossible to know the current location for the waves and there is a possibility of doing useless entry.
To prevent this, display EMA.
Systematic TF IndicatorThis is a simple trend following indicator which works off moving averages for trend bias and breakouts for entry.
Ichimoku Lagging Background ColorThis script colors the background, 26 bars ago, based upon the lagging line being above or below the closing price of 26 bars ago. The lagging line is used as a confirmation for your current entry.
Momentum Linear RegressionThe original script was posted on ProRealCode by user Nicolas.
This is an indicator made of the linear regression applied to the rate of change of price (or momentum). I made a simple signal line just by duplicating the first one within a period decay in the past, to make those 2 lines cross. You can add more periods decay to made signal smoother with less false entry.
Trend Strength Matrix [JOAT]
Trend Strength Matrix — Multi-Timeframe Trend Health Dashboard
Trend Strength Matrix provides a comprehensive view of trend health across multiple timeframes and indicators. It combines RSI, MACD, ADX, and moving average alignment into a single heatmap-style dashboard with an overall strength score—giving you a complete picture of trend quality at a glance.
What Makes This Indicator Unique
Unlike single-indicator trend tools, Trend Strength Matrix:
Analyzes four different indicators simultaneously (RSI, MACD, ADX, MA)
Evaluates up to four timeframes at once for multi-timeframe confluence
Presents everything in an intuitive color-coded heatmap
Calculates a weighted composite score for overall trend assessment
Marks trend shifts directly on the chart
What This Indicator Does
Calculates trend scores from four different indicators
Analyzes up to four timeframes simultaneously
Creates a color-coded heatmap showing strength across all components
Generates a weighted composite score for overall trend assessment
Marks bullish and bearish trend shifts on the chart
Displays a trend-following moving average on the price chart
Component Scores Explained
Each indicator contributes a normalized score from -1 (strongly bearish) to +1 (strongly bullish):
RSI Score — (RSI - 50) / 50
- RSI of 70 = +0.4 (bullish)
- RSI of 30 = -0.4 (bearish)
- RSI of 50 = 0 (neutral)
MACD Score — MACD line normalized by its standard deviation
- Positive MACD = positive score
- Negative MACD = negative score
- Magnitude reflects strength
ADX Score — ADX strength multiplied by DI direction
- High ADX with DI+ > DI- = strong positive
- High ADX with DI- > DI+ = strong negative
- Low ADX = weak score regardless of direction
MA Score — Price position relative to moving average
- Price above MA = positive
- Price below MA = negative
- Distance from MA affects magnitude
Multi-Timeframe Analysis
The indicator analyzes multiple timeframes with weighted importance:
// Weighted MTF composite score
mtfScore = composite1 * 0.40 + // Current TF (40% weight)
composite2 * 0.25 + // TF2, e.g., 1H (25% weight)
composite3 * 0.20 + // TF3, e.g., 4H (20% weight)
composite4 * 0.15 // TF4, e.g., Daily (15% weight)
Higher timeframes provide context and trend direction, while lower timeframes provide timing and entry signals.
Dashboard Layout
The matrix displays a grid with:
Rows — Each timeframe (current, TF2, TF3, TF4)
Columns — Each indicator (RSI, MACD, ADX, MA, Score)
Cell Colors :
- Bright green: Score > 0.5 (strongly bullish)
- Faded green: Score 0.2 to 0.5 (moderately bullish)
- Gray: Score -0.2 to 0.2 (neutral)
- Faded red: Score -0.5 to -0.2 (moderately bearish)
- Bright red: Score < -0.5 (strongly bearish)
Overall Row — Shows weighted composite with trend classification
Trend Classifications
Based on the overall MTF score:
STRONG BULL — Score > 50%
BULLISH — Score 20% to 50%
NEUTRAL — Score -20% to 20%
BEARISH — Score -50% to -20%
STRONG BEAR — Score < -50%
Visual Features
Trend Moving Average — Optional MA line on price chart colored by trend direction
Trend Background — Subtle background tint showing overall trend direction
Trend Shift Labels — "BULL" and "BEAR" labels when trend direction changes
Heatmap Dashboard — Color-coded matrix showing all components and timeframes
Color Scheme
Bullish Color — Default: #00E676 (bright green)
Bearish Color — Default: #FF5252 (red)
Neutral Color — Default: #9E9E9E (gray)
Dashboard Header — #2962FF (blue)
Inputs Overview
Calculation Settings:
RSI Length — Period for RSI (default: 14, range: 5-30)
MACD Fast — Fast EMA period (default: 12, range: 5-30)
MACD Slow — Slow EMA period (default: 26, range: 10-50)
MACD Signal — Signal line period (default: 9, range: 3-20)
ADX Length — Period for ADX/DI (default: 14, range: 5-30)
MA Length — Period for trend MA (default: 50, range: 20-200)
Multi-Timeframe:
Enable Multi-Timeframe — Toggle MTF analysis (default: on)
Timeframe 2 — Second timeframe (default: 60 = 1 hour)
Timeframe 3 — Third timeframe (default: 240 = 4 hours)
Timeframe 4 — Fourth timeframe (default: D = Daily)
Visual Settings:
Bullish/Bearish/Neutral Colors — Customizable color scheme
Show Trend MA — Toggle moving average on price chart
Show Dashboard — Toggle the heatmap matrix
Dashboard Position — Choose corner placement (Top Right, Top Left, Bottom Right, Bottom Left)
How to Use It
For Trend Confirmation:
All green cells = strong bullish alignment across indicators and timeframes
All red cells = strong bearish alignment
Mixed colors = consolidation or transition period
Wait for alignment before entering trend trades
For Multi-Timeframe Analysis:
Higher timeframes (TF3, TF4) show the "big picture" trend
Lower timeframes (current, TF2) show immediate momentum
Best signals occur when all timeframes align
Divergence between timeframes suggests caution
For Entry Timing:
Enter when trend shifts from neutral to bullish/bearish
Look for "BULL" or "BEAR" labels on chart
Confirm with dashboard showing alignment
Use the trend MA as a trailing stop reference
Alerts Available
TSM Bullish Shift — Trend shifted from neutral/bearish to bullish
TSM Bearish Shift — Trend shifted from neutral/bullish to bearish
TSM Strong Bull — Score crossed above 50% (strong bullish)
TSM Strong Bear — Score crossed below -50% (strong bearish)
Best Practices
Wait for multiple timeframes to align before entering
Strong trends show green (or red) across all cells
Mixed colors suggest waiting for clarity
Use the overall score percentage to gauge conviction
— Made with passion by officialjackofalltrades
Megvie Scalping C - Pullback EMA20/50 (3-5m)/@version=5
indicator("Megvie Scalping C - Pullback EMA20/50 (3-5m)", overlay=true, max_labels_count=500, max_lines_count=500)
// === INPUTS ===
ema_fast_len = input.int(20, "EMA fast (pullback)")
ema_slow_len = input.int(50, "EMA slow (trend)")
rsi_len = input.int(14, "RSI length")
rsi_min = input.int(40, "RSI min for entry")
atr_len = input.int(14, "ATR length (for SL/TP)")
use_atr_for_sl = input.bool(true, "Use ATR for SL size")
atr_sl_mult = input.float(1.0, "SL = ATR * multiplier", step=0.1)
rr = input.float(1.8, "Risk:Reward (TP = SL * RR)", step=0.1)
max_signals_repeat = input.int(3, "Min bars between signals", minval=1)
// === INDICATORS ===
ema_fast = ta.ema(close, ema_fast_len)
ema_slow = ta.ema(close, ema_slow_len)
rsi = ta.rsi(close, rsi_len)
atr = ta.atr(atr_len)
plot(ema_fast, color=color.new(color.green, 0), title="EMA 20")
plot(ema_slow, color=color.new(color.red, 0), title="EMA 50")
// === TREND FILTER ===
trend_bull = ema_fast > ema_slow
trend_bear = ema_fast < ema_slow
// === PULLBACK CONDITION ===
// Consider a pullback when price traded at/under EMA20 within the last 3 bars and now shows a bullish/bearish confirmation
pullback_bull = ta.lowest(low, 3) <= ema_fast and close > ema_fast
pullback_bear = ta.highest(high, 3) >= ema_fast and close < ema_fast
// === CONFIRMATION CANDLE ===
// Bullish confirmation: current close > open AND close > high (strong close)
// Bearish confirmation: current close < open AND close < low
bullish_candle = close > open and close > high
bearish_candle = close < open and close < low
// === ENTRY SIGNALS (Version C logic) ===
buySignal = trend_bull and pullback_bull and rsi >= rsi_min and bullish_candle
sellSignal = trend_bear and pullback_bear and rsi <= (100 - rsi_min) and bearish_candle
// Prevent firing signals too often
var int lastSignalBar = na
ok_to_fire = na(lastSignalBar) ? true : (bar_index - lastSignalBar) > max_signals_repeat
buyFire = buySignal and ok_to_fire
sellFire = sellSignal and ok_to_fire
if buyFire
lastSignalBar := bar_index
if sellFire
lastSignalBar := bar_index
// === SL / TP CALCULATION ===
var float sl_price = na
var float tp_price = na
var line sl_line = na
var line tp_line = na
var label sig_label = na
if buyFire
if use_atr_for_sl
sl_price := close - atr * atr_sl_mult
else
sl_price := ta.lowest(low, 3) - syminfo.mintick * 5
tp_price := close + (close - sl_price) * rr
// draw lines and label
line.delete(sl_line )
line.delete(tp_line )
label.delete(sig_label )
sl_line := line.new(bar_index, sl_price, bar_index + 50, sl_price, color=color.new(color.red, 0), width=1, extend=extend.right)
tp_line := line.new(bar_index, tp_price, bar_index + 50, tp_price, color=color.new(color.green, 0), width=1, extend=extend.right)
sig_label := label.new(bar_index, low, "BUY\nSL:" + str.tostring(sl_price, format.mintick) + "\nTP:" + str.tostring(tp_price, format.mintick), style=label.style_label_up, color=color.new(color.green,0), textcolor=color.white, size=size.small)
if sellFire
if use_atr_for_sl
sl_price := close + atr * atr_sl_mult
else
sl_price := ta.highest(high, 3) + syminfo.mintick * 5
tp_price := close - (sl_price - close) * rr
// draw lines and label
line.delete(sl_line )
line.delete(tp_line )
label.delete(sig_label )
sl_line := line.new(bar_index, sl_price, bar_index + 50, sl_price, color=color.new(color.red, 0), width=1, extend=extend.right)
tp_line := line.new(bar_index, tp_price, bar_index + 50, tp_price, color=color.new(color.green, 0), width=1, extend=extend.right)
sig_label := label.new(bar_index, high, "SELL\nSL:" + str.tostring(sl_price, format.mintick) + "\nTP:" + str.tostring(tp_price, format.mintick), style=label.style_label_down, color=color.new(color.red,0), textcolor=color.white, size=size.small)
// === PLOT SIGNAL ARROWS ===
plotshape(buyFire, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="BUY")
plotshape(sellFire, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="SELL")
// === ALERTS ===
alertcondition(buyFire, title="BUY Signal", message="Megvie C: BUY signal. SL: {{plot_0}} TP: {{plot_1}}")
alertcondition(sellFire, title="SELL Signal", message="Megvie C: SELL signal. SL: {{plot_0}} TP: {{plot_1}}")
alertcondition(ta.cross(close, tp_price), title="TP Hit", message="Megvie C: TP reached")
alertcondition(ta.cross(close, sl_price), title="SL Hit", message="Megvie C: SL reached")
// === NOTES ===
// - Optimized for 3-5 minute charts.
// - Test in paper trading before using real capital.
// - Adjust ATR multiplier and RR to match your risk management.
Lux-Reversal Sniper V2Lux-Reversal Sniper V2 – Strategy Description
Lux-Reversal Sniper V2 is a precision-focused trading indicator designed to capture the earliest phase of trend reversals with strong momentum confirmation.
The script combines LuxAlgo-style pivot structure analysis with a proprietary real-body breakout filter, allowing traders to isolate only high-quality reversal entries while avoiding common false signals.
Core Concept
This indicator targets moments when price decisively breaks a key structural level at the exact moment momentum enters the market.
Rather than reacting late, Lux-Reversal Sniper V2 is built to identify the first actionable move following a structural shift.
Entry Conditions
A signal is generated only when all required conditions align:
1. Structural Breakout
Price breaks above resistance or below support derived from LuxAlgo-style pivot highs and lows.
This confirms that a previously respected market structure has been invalidated.
2. Real Body Break (Momentum Validation)
The candle’s real body must fully exceed the previous candle’s wick.
This condition removes wick-based false breakouts and ensures that only genuine, committed price movement triggers a signal.
3. Trend Synchronization (5-Minute EMA)
The script references the 20-period EMA on the 5-minute timeframe, requiring price to align with the new directional bias before signaling.
Market Environment Filter
To prevent low-energy trades, the indicator monitors market conditions in real time:
ATR (5-minute) ≥ 5.5, or
ADX (5-minute) ≥ 20
When either condition is met, the chart background turns orange, indicating the Trading Zone.
No signals are generated outside this zone, regardless of pattern quality.
Real-Time Signal Execution
Signals are triggered immediately when conditions are met, without waiting for candle close.
This allows traders to capture the initial pips of a reversal, making the indicator particularly effective for scalping and fast intraday trading.
Target Projection
Upon entry, the script automatically plots a 10-pip target line, encouraging traders to move beyond minimal scalps and focus on higher-expectancy moves.
Design Philosophy
Lux-Reversal Sniper V2 is not designed to trade every setup.
It is engineered to act only at moments of maximum probability, when structure breaks, momentum confirms, and market energy is present simultaneously.
When the background turns orange and a breakout occurs with a real-body candle, the signal represents the most critical opportunity of the reversal phase.
If you want:
a short marketing description,
a technical whitepaper version, or
a simplified beginner-friendly explanation,
I can provide those as well.
Anurag Balanced 0DTE Scalper SPY QQQBalanced 0DTE Scalper
1. Purpose: A 0DTE options day trading indicator for SPY/QQQ on 5-minute charts with visual CALL/PUT entry and exit signals.
2. Trend Filter: Uses 15-minute EMA crossover (9/21) + ADX to confirm trend direction before taking trades.
3. Entry Logic: Triggers on pullback to 5m EMA9 with RSI/VWAP/MACD confirmation, bullish or bearish candle required.
4. Exit System: ATR-based trailing stop, dual targets (TP1 partial, TP2 full), time stop, and auto-exit at EOD.
5. Risk Controls: Max trades/day limit, cooldown period after exits, session filter (avoids first 10 min & last 15 min).
6. Visual Feedback: Dynamic stop/target lines, entry/exit labels with P&L, background color for trend bias and cooldown.
7. Dashboard: 16-row panel showing bias, ADX, regime, RSI, VWAP, position, bars held, cooldown status, strike suggestions, and DTE recommendation.
Balanced 0DTE Scalper [Clean]Balanced 0DTE Scalper is a professional-grade execution system designed specifically for the high-velocity world of 0DTE (Zero Days to Expiration) options trading on indices like SPY, QQQ, and IWM.
Unlike standard indicators that repaint or lag, this system uses Non-Repainting Multi-Timeframe Logic to align the institutional trend (15m) with precision entry triggers (5m). It is engineered to solve the two biggest killers of 0DTE traders: Theta Decay (holding too long) and Choppy Markets (trading without trend).
How It Works
1. The "Safety Belt" (15-Minute Trend Filter) Before any trade is taken, the system checks the confirmed 15-minute Trend and ADX (Strength).
No Repainting: It strictly uses the previous closed 15m bar to determine bias. Once a signal prints, it stays printed.
Regime Detection: It automatically blocks trades during low-volume "chop" (Low ADX) to save you from theta burn.
2. Precision Entry Triggers (5-Minute) Once the 15m trend gives the "Green Light," the system hunts for 5m setups using a confluence of:
EMA Crossovers: For immediate momentum.
VWAP Filter: Ensuring you are on the right side of institutional volume.
RSI Check: To avoid buying tops or selling bottoms.
3. Aggressive Risk Management (The "Profit Locker") 0DTE profits can vanish in seconds. This script manages the trade for you visually:
Dynamic Trailing Stop: Trails price based on candle Highs/Lows (not closes), allowing it to lock in profits at the peak of a spike.
Time Stop: If a trade stalls for 60 minutes (12 bars), the system triggers a "Time Exit." In 0DTE, time is money—if it's not working, get out.
Visual Levels: Automatically draws your Stop Loss, Target 1 (Conservative), and Target 2 (Runner) lines on the chart.
Features & Dashboard
Live Dashboard: Monitors Trend Bias, ADX Strength, RSI, and Open PnL in real-time.
On-Chart Tickets: Prints a "CALL OPEN" or "PUT OPEN" label with the exact Entry Price, Stop Loss, and Strike Suggestion.
Session Filters: Automatically avoids the first 10 minutes (Open Volatility) and the last 15 minutes (Close Chaos).
Settings Guide
Risk Mode:
Balanced (Default): The recommended blend of Trend + Momentum.
Conservative: Requires a very strong ADX trend. Fewer trades, higher win rate.
Aggressive: Ignores ADX strength. Good for FOMC/CPI days only.
Strike Suggestion: Automatically calculates the nearest Strike Price (ATM/OTM) for SPY/QQQ based on your settings.
Disclaimer
This tool is for educational purposes only. 0DTE options trading involves extreme risk of capital loss. Past performance (even with non-repainting logic) is not indicative of future results. Always manage your risk.
Anurag - Balanced 0DTE Scalper QQQ SPYBalanced 0DTE Scalper is a professional-grade execution system designed specifically for the high-velocity world of 0DTE (Zero Days to Expiration) options trading on indices like SPY, QQQ, and IWM.
Unlike standard indicators that repaint or lag, this system uses Non-Repainting Multi-Timeframe Logic to align the institutional trend (15m) with precision entry triggers (5m). It is engineered to solve the two biggest killers of 0DTE traders: Theta Decay (holding too long) and Choppy Markets (trading without trend).
How It Works
1. The "Safety Belt" (15-Minute Trend Filter) Before any trade is taken, the system checks the confirmed 15-minute Trend and ADX (Strength).
No Repainting: It strictly uses the previous closed 15m bar to determine bias. Once a signal prints, it stays printed.
Regime Detection: It automatically blocks trades during low-volume "chop" (Low ADX) to save you from theta burn.
2. Precision Entry Triggers (5-Minute) Once the 15m trend gives the "Green Light," the system hunts for 5m setups using a confluence of:
EMA Crossovers: For immediate momentum.
VWAP Filter: Ensuring you are on the right side of institutional volume.
RSI Check: To avoid buying tops or selling bottoms.
3. Aggressive Risk Management (The "Profit Locker") 0DTE profits can vanish in seconds. This script manages the trade for you visually:
Dynamic Trailing Stop: Trails price based on candle Highs/Lows (not closes), allowing it to lock in profits at the peak of a spike.
Time Stop: If a trade stalls for 60 minutes (12 bars), the system triggers a "Time Exit." In 0DTE, time is money—if it's not working, get out.
Visual Levels: Automatically draws your Stop Loss, Target 1 (Conservative), and Target 2 (Runner) lines on the chart.
Features & Dashboard
Live Dashboard: Monitors Trend Bias, ADX Strength, RSI, and Open PnL in real-time.
On-Chart Tickets: Prints a "CALL OPEN" or "PUT OPEN" label with the exact Entry Price, Stop Loss, and Strike Suggestion.
Session Filters: Automatically avoids the first 10 minutes (Open Volatility) and the last 15 minutes (Close Chaos).
Settings Guide
Risk Mode:
Balanced (Default): The recommended blend of Trend + Momentum.
Conservative: Requires a very strong ADX trend. Fewer trades, higher win rate.
Aggressive: Ignores ADX strength. Good for FOMC/CPI days only.
Strike Suggestion: Automatically calculates the nearest Strike Price (ATM/OTM) for SPY/QQQ based on your settings.
Disclaimer
This tool is for educational purposes only. 0DTE options trading involves extreme risk of capital loss. Past performance (even with non-repainting logic) is not indicative of future results. Always manage your risk.
Buying Opportunity Score V2.2Buying Opportunity Indicator V2.2
What This Indicator Does
This indicator identifies potential buying opportunities during market fear and pullbacks by combining multiple technical signals into a single composite score (0-100). Higher scores indicate more fear/oversold conditions are present simultaneously.
Why These Components?
Market bottoms typically occur when multiple fear signals align. This indicator combines five complementary measurements that each capture different aspects of market stress:
1. VIX Level (30 points) - Measures implied volatility/fear. VIX spikes during selloffs as traders buy protection. Thresholds based on historical percentiles (VIX 25+ is ~85th percentile historically).
2. Price Drawdown (30 points) - Distance from 52-week high. Larger drawdowns create better risk/reward for mean reversion entries. A 10%+ drawdown from highs historically presents better entry points than buying at all-time highs.
3. RSI 14 (12 points) - Classic momentum oscillator measuring oversold conditions. RSI below 30 indicates short-term selling exhaustion.
4. Bollinger Band Position (13 points) - Statistical measure of price extension. Price below the lower band (2 standard deviations) indicates statistically unusual weakness.
5. VIX Timing (15 points) - Bonus points when VIX is declining from a recent peak. This helps avoid catching falling knives by waiting for fear to subside.
How The Score Works
- Each component contributes points based on severity
- Components are weighted by predictive value from historical analysis
- Score of 70+ means multiple fear signals are present
- Score of 80+ means extreme fear across most components
How To Use
1. Apply to SPY, QQQ, or IWM on daily timeframe
2. Monitor the Current Score in the statistics table
3. Scores below 50 = normal conditions, no action needed
4. Scores 60-69 = elevated fear, monitor closely
5. Scores 70+ = consider entering long positions
6. Scores 80+ = strongest historical entry points
Important Limitations
- This is a research tool, not financial advice
- Past patterns may not repeat in the future
- Signals are infrequent (typically 2-4 per year reaching 70+)
- Works best on broad market ETFs; not validated for individual stocks
- Always use proper position sizing and risk management
- The indicator identifies conditions that have historically been favorable, but cannot predict future returns
Statistics Table
The table shows:
- Current Score with context message
- Chart Results: Rolling 1Y/3Y/5Y statistics from your loaded chart data
Alerts
Multiple alert options available for different score thresholds.
Open Source
Code is fully visible for review and educational purposes.
#BLTA - CARE 7891🔷 #BLTA - CARE 7891 is an overlay toolkit designed to support structured trading preparation and chart reading. It combines a manual Trade Box + Lot Size/Risk panel, session background highlights (NY time), confirmed Previous Day/Week High-Low levels, an Asian range liquidity box, a 1H ZigZag market-structure projection, and an imbalance map (FVG / OG / VI) with an optional dashboard.
This script is an indicator (not a strategy). It does not place orders and is intended for planning, risk visualization, and market context.
✅ Main Modules
1) 💸 Risk Module (Trade Box + Lot Calculation + Table)
A complete manual trade-planning tool:
Pick an Entry Point (EP) and Stop Loss (SL) directly on the chart using input.price(..., confirm=true).
Automatically calculates:
Cash at Risk
SL distance (pips) (Forex-aware)
Lot size based on your:
Account balance
Risk %
Units per lot
Account base currency (with conversion if needed)
Draws:
Risk box (EP ↔ SL)
Target box (RR-based TP)
Displays a clean table panel with the key values.
🔁 Re-confirm Mode (Wizard)
Use “Re-confirm Trade Box Points” to force a clean logical reset and re-pick EP/SL/time anchors:
Shows temporary EP/SL labels
Shows a small wizard table guiding you step-by-step
Turn it OFF to return to normal risk table + boxes
Tip: If your chart timeframe changes or you want a fresh selection, Re-confirm mode is the safest way to reset everything cleanly.
2) 🎨 Session Visualization (New York Time)
Highlights chart background for these windows:
Day Division (17:00–17:01 NY)
London (03:00–05:00 NY) + sub-windows
New York (08:00–10:30 NY) + sub-windows
Colors are fully configurable from inputs.
3) 📰 Confirmed PDH/PDL (Previous Days)
Optional module that plots confirmed Previous Day High (PDH) and Previous Day Low (PDL):
Trading day is defined as 17:00 → 17:00 NY
Lines start exactly at the candle where the high/low occurred
Lines extend forward and can freeze when price touches them
Configurable: days to keep, style, width, and “stop on hit”
4) 📅 Confirmed Weekly High/Low (Previous Weeks)
Optional module that plots confirmed Weekly High/Low:
Confirmation occurs at Sunday 17:00 NY (typical FX week boundary)
Lines begin at the candle where the weekly extremes formed
Extends forward and can freeze on touch
Configurable: weeks to keep, style, width, stop-on-hit
5) 🈵 Asian Range Liquidity Box
Draws a session box that tracks high/low and optional midline (50%):
Uses New York time
Dynamic updates while session is active
Optional mid label and configurable line style/width
6) 📈 Market Structure - ZigZag (1H projected)
A ZigZag structure engine calculated on 1H and projected onto any timeframe:
Configurable:
Length
Source type (High/Low or Open/Close)
Colors and width
Opacity when viewing non-1H charts
Optional live extension of the last leg
Includes safe cleanup when toggling OFF (no leftover objects)
7) 📊 Imbalance Detector (FVG / OG / VI) + Dashboard
Detects and draws:
Fair Value Gaps (FVG)
Opening Gaps (OG)
Volume Imbalances (VI)
Optional dashboard shows frequencies and fill rates.
Attribution / Credits
This module is inspired by / adapted from the public concept widely known as “Imbalance Detector” (LuxAlgo-style logic). This script is independently packaged and integrated as part of the toolkit with additional modules and custom structure.
⚙️ How to Use (Quick Steps)
Add the indicator to the chart (overlay).
Enable 💸 Risk Module if you want trade planning.
Go to Trade Box Location and pick:
Entry Point (EP)
Stop Loss (SL)
Time anchors for box edges
Adjust:
Account balance, risk %, units per lot, RR target
Enable additional modules as needed:
Session backgrounds
PDH/PDL
Weekly High/Low
Asian range box
ZigZag
Imbalances + dashboard
🔎 Notes & Limitations
This script is for visual planning and context, not trade execution.
Lot sizing is based on the selected EP/SL and your inputs; always double-check broker rules, symbol specifications, and contract size.
Object-heavy features (boxes/lines/tables) may increase load on lower-end devices or very small timeframes.
DDDDD : EMA Pack (Matched Colors + MTF)📌 DDDDD : EMA Pack (Matched Colors + MTF)
🔹 Concept
DDDDD : EMA Pack is a clean and minimal Exponential Moving Average (EMA) overlay designed for trend structure analysis and multi-timeframe context.
This indicator focuses on visual clarity, consistent color mapping, and optional MTF EMA projection, allowing traders to read market structure without clutter or signal noise.
It is not an entry or signal generator, but a trend and regime visualization tool.
🔹 Logic
The script plots a fixed set of EMAs commonly used to define short-term momentum, intermediate trend, and long-term bias:
EMA 5
EMA 10
EMA 25
EMA 50
EMA 75
EMA 200
Each EMA is calculated using the standard exponential moving average formula.
If a higher timeframe is selected, the EMA is calculated on that timeframe and projected onto the current chart using request.security().
🔹 Methodology
Users may select:
Source price (default: close)
EMA timeframe
Empty = current chart timeframe
Any higher timeframe = true MTF EMA projection
All EMA colors are manually matched and fixed to maintain visual consistency across markets and timeframes.
Line thickness is kept uniform to avoid visual hierarchy bias.
This design ensures the indicator remains purely structural, without repainting logic, smoothing tricks, or adaptive parameters.
🔹 How to Use
Use EMA alignment and spacing to assess:
Trend direction
Trend strength
Compression vs expansion
Higher-timeframe EMA projection can be used as:
Dynamic support/resistance
Trend filter
Regime context for lower-timeframe execution
This indicator works best when combined with:
Price action
Market structure
Separate entry/exit logic of your own system
⚠️ This indicator does not provide buy/sell signals and should not be used alone for trade execution.
🔹 Notes
No repainting beyond standard MTF behavior
No performance or profitability claims
Designed for discretionary and systematic traders
Suitable for stocks, crypto, forex, and indices






















