AutoFibGauge (TechnoBlooms) AutoFibGauge help users to understand Fibonacci retracement with auto-drawn levels from previous candes, dual moving average crossover for trend confirmation, and a thermometer for quick Fib level identification.
This indicator is designed to streamline your trading decisions. By automatically plotting the Fibonacci levels based on previous candles, it aids in identifying key support and resistance zones. User can choose the number of previous candles for which the Fibonacci is calculated.
Paired with a dual moving average crossover system for robust trend confirmation, this tools helps in aligning with the market's direction.
A dynamic thermometer display that instantly highlights critical Fib levels, making it easier than ever to spot opportunities at a glance.
Cari skrip untuk "moving average crossover"
Liquidity Market Seeking SwiftEdgeThis indicator is designed to identify potential liquidity levels on the chart by detecting swing highs and lows, which are often areas where stop-loss orders or significant orders accumulate. It visualizes these levels with horizontal lines and labels on the right side of the chart, color-coded based on volume to help traders understand where the market might seek liquidity.
How It Works
Swing Highs and Lows: The indicator uses the ta.pivothigh and ta.pivotlow functions to identify significant swing points over a user-defined lookback period (Swing Length). These points are considered potential liquidity levels where stop-loss orders might be placed.
Volume Analysis: The indicator compares the volume at each swing point to the average volume over a specified period (Volume Average Length). Levels with above-average volume are colored red, indicating higher liquidity, while levels with below-average volume are colored green.
Liquidity Visualization: Horizontal dashed lines are drawn at each identified level, extending across the chart. Labels on the right side display the estimated liquidity amount (simulated based on volume and a multiplier, Volume Multiplier for Liquidity).
Sell Signal: A "SELL NOW" label appears when the price approaches a liquidity level after an uptrend (detected using a simple moving average crossover). This suggests a potential reversal as the market may target liquidity at that level.
Strategy Concept: Market Seeking Liquidity
The indicator is based on the concept that markets often move toward areas of high liquidity, such as clusters of stop-loss orders or significant order accumulations. These liquidity pools are typically found around swing highs and lows, where traders place their stop-losses or large orders. By identifying these levels and highlighting those with higher volume (red lines), the indicator aims to show where the market might move to "grab" this liquidity. For example, after an uptrend, the market may reverse at a swing high to take out stop-losses above that level, providing liquidity for larger players to enter or exit positions.
Settings
Swing Length: The number of bars to look back for detecting swing highs and lows. Default is 20.
Liquidity Threshold: The price threshold for merging nearby levels to avoid duplicates. Default is 0.001.
Volume Average Length: The period for calculating the average volume to compare against. Default is 20.
Volume Multiplier for Liquidity: A multiplier to scale the volume into a simulated liquidity amount (displayed as "K"). Default is 1000.
Usage Notes
Use this indicator on any timeframe, though it may be more effective on higher timeframes (e.g., 1H, 4H) where swing points are more significant.
Red lines indicate levels with higher volume, suggesting stronger liquidity pools that the market might target.
Green lines indicate levels with lower volume, which may be less significant.
The "SELL NOW" signal is a basic example of how to use liquidity levels for trading decisions. It appears when the price approaches a liquidity level after an uptrend, but it should be used in conjunction with other analysis.
Adjust the Volume Multiplier for Liquidity to scale the displayed liquidity amounts based on your instrument (e.g., forex pairs may need a higher multiplier than indices).
MA Win RateMoving Average Cross Win Rate
This simple yet useful script calculates the percentage of times a moving average crossover successfully predicts price movement.
Win Conditions:
1] A Golden Cross (fast MA crossing above slow MA) where the price moves up afterward.
2] A Death Cross (fast MA crossing below slow MA) where the price moves down afterward.
In this script, I have used a Simple Moving Average (SMA) for illustration.
You can modify the code to apply any type of moving average and test its accuracy.
Multi-Indicator Signal with TableThis indicator is a versatile multi-indicator tool designed for traders who want to combine signals from various popular indicators into a single framework. It not only visualizes buy and sell signals but also provides a clear, easy-to-read table that summarizes the included indicators and their respective signal colors.
Key Features:
RSI (Relative Strength Index):
Buy Signal: RSI falls below the oversold level (default: 30).
Sell Signal: RSI rises above the overbought level (default: 70).
Signal Color: Green.
MACD (Moving Average Convergence Divergence):
Buy Signal: MACD line crosses above the signal line.
Sell Signal: MACD line crosses below the signal line.
Signal Color: Blue.
MA Crossover (Moving Average Crossover):
Buy Signal: Short EMA (default: 7) crosses above Long SMA (default: 14).
Sell Signal: Short EMA crosses below Long SMA.
Signal Color: Purple.
Stochastic Oscillator:
Buy Signal: Stochastic %K falls below 20 and crosses above %D.
Sell Signal: Stochastic %K rises above 80 and crosses below %D.
Signal Color: Yellow.
TSI (True Strength Index):
Buy Signal: TSI crosses above the zero line.
Sell Signal: TSI crosses below the zero line.
Signal Color: Red.
Dynamic Signal Table:
A clean, compact table displayed at the top-right corner of the chart, summarizing the indicators and their respective signal colors for quick reference.
Customization:
All indicator parameters are fully adjustable, allowing users to fine-tune settings to match their trading strategy.
Signal colors and table design ensure a visually intuitive experience.
Usage:
This tool is ideal for traders who prefer a multi-indicator approach for generating buy/sell signals.
The combination of different indicators helps to filter out noise and increase the accuracy of trade setups.
Notes:
Signals appear only after the confirmation of the current bar to avoid false triggers.
This indicator is designed for educational purposes and should be used in conjunction with proper risk management strategies.
Keltner Channel Strategy with Golden CrossOnly trade with the trend.
This Keltner Channel-based strategy that will only enter into a trade if the signal of the Keltner Channel agrees with a moving average crossover as defined by the user.
Long Position Entries
2 Conditions must be present
1. There must be a Golden Cross (lower period moving average is above higher period moving average). ex 50 period MA > 200 period MA.
2. Price must cross above the Keltner Channel ATR defined by the user.
Short Position Entries
2 Conditions must be present
1. There must be a Death Cross (lower period moving average is below higher period moving average). ex 50 period MA < 200 period MA.
2. Price must cross below the Keltner Channel ATR defined by the user
Closing Trades:
The strategy closes trades as follows:
1. Price crossing the Keltner Channel's Take Profit ATR (defined by User)
2. Price crossing the Keltner Channel's Stop Loss ATR (defined by User)
*Backtesting System ⚉ OVERVIEW ⚉
One of the best Systems for Backtesting your Strategies.
Incredibly flexible, simple, fast and feature-rich system — will solve most of your queries without much effort.
Many systems for setting StopLoss, TakeProfit, Risk Management and advanced Filters.
All you need to do is plug in your indicator and start Backtesting .
I intentionally left the option to use my System on Full Power before you load your indicator into it.
The system uses the built-in simple and popular moving average crossover signal for this purpose. (EMA 50 & 200).
Also Highly Recommend that you Fully use ALL of the features of this system so that you understand how they work before you ask questions.
Also tried to leave TIPS for each feature everywhere, read Tips, activate them and see how they work.
But before you use this system, I Recommend you to read the following description in Full.
—————— How to connect your indicator in 2 steps:
Adapt your indicator by adding only 2 lines of code and then connect it to this Backtesting System.
Step 1 — Create your connector, For doing so:
• 1 — Find or create in your indicator where are the conditions printing the Long-Buy and Short-Sell signals.
• 2 — Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator wether it's a MACD, RSI , Pivots, or whatever indicator with Clear Buy and Sell conditions.
//@version=5
indicator('Moving Average Cross', overlay = true)
MA200 = ta.𝚎𝚖𝚊(close, 200)
MA50 = ta.𝚎𝚖𝚊(close, 50)
// Generate Buy and Sell conditions
buy = ta.crossover (MA200, MA50)
sell = ta.crossunder (MA200, MA50)
plot(MA200, color=color.green)
plot(MA50 , color=color.red )
bgcolor(color = buy ? color.green : sell ? color.red : na, title='SIGNALS')
// ———————————————— SIGNAL FOR SYSTEM ————————————————
Signal = buy ? +1 : sell ? -1 : 0
plot(Signal, title='🔌Connector🔌', display = display.none)
// —————— 🔥 The Backtesting System expects the value to be exactly +1 for the 𝚋𝚞𝚕𝚕𝚒𝚜𝚑 signal, and -1 for the 𝚋𝚎𝚊𝚛𝚒𝚜𝚑 signal
Basically, I identified my Buy & Sell conditions in the code and added this at the bottom of my indicator code
Now you can connect your indicator to the Backtesting System using the Step 2
Step 2 — Connect the connector
• 1 — Add your updated indicator to a TradingView chart and Add the Backtesting System as well to the SAME chart
• 2 — Open the Backtesting System settings and in the External Source field select your 🔌Connector🔌 (which comes from your indicator)
_______________________________
⚉ MAIN SETTINGS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 𝐒𝐨𝐮𝐫𝐜𝐞 — Select your indicator. Add your indicator by following the 2 steps described above and select it in the menu. To familiarize yourself with the system until you select your indicator, you will have an in-built strategy of crossing the two moving EMA's of 50 and 200.
Long Deals — Enable/Disable Long Deals.
Short Deals — Enable/Disable Short Deals.
Wait End Deal — Enable/Disable waiting for a trade to close at Stop Loss/Take Profit. Until the trade closes on the Stop Loss or Take Profit, no new trade will open.
Reverse Deals — To force the opening of a trade in the opposite direction.
ReEntry Deal — Automatically open the same new deal after the deal is closed.
ReOpen Deal — Reopen the trade if the same signal is received. For example, if you are already in the long and a new signal is received in the long, the trade will reopen. * Does not work if Wait End Deal is enabled.
𝐓𝐚𝐤𝐞 𝐏𝐫𝐨𝐟𝐢𝐭:
None — Disables take profit. Useful if you only want to use dynamic stoplosses such as MA, Fast-Trailing, ATR Trail.
FIXED % — Fixed take profit in percent.
FIXED $ — Fixed Take in Money.
ATR — Fixed Take based on ATR.
R:R — Fixed Take based on the size of your stop loss. For example, if your stop is 10% and R:R=1, then the Take would be 10%. R:R=3 Take would be 30%, etc.
HH / LL — Fixed Take based on the previous maximum/minimum (extremum).
𝐒𝐭𝐨𝐩 𝐋𝐨𝐬𝐬:
None — Disables Stop Loss. Useful if you want to work without a stop loss. *Be careful if Wait End Deal is enabled, the trade may not close for a long time until it reaches the Take.
FIXED % — Fixed Stop in percent.
FIXED $ — Fixed Stop in Money.
TRAILING — Dynamic Trailing Stop like on the stock exchanges.
FAST TRAIL — Dynamic Fast Trailing Stop moves immediately in profit and stays in place if the price stands still or the price moves in loss.
ATR — Fixed Stop based on the ATR.
ATR TRAIL — Dynamic Trailing Stop based on the ATR.
LO / HI — A Fixed Stop based on the last Maximum/Minimum extemum. Allows you to place a stop just behind or above the low/high candle.
MA — Dynamic Stop based on selected Moving Average. * You will have 8 types of MA (EMA, SMA, HMA, etc.) to choose from, but you can easily add dozens of other MAs, which makes this type of stop incredibly flexible.
Add % — If true, then with the "𝗦𝘁𝗼𝗽 %" parameter you can add percentages to any of the current SL. Can be especially useful when using Stop - 𝗔𝗧𝗥 or 𝗠𝗔 or 𝗟𝗢/𝗛𝗜. For example with 𝗟𝗢/𝗛𝗜 to put a stop for the last High/Low and add 0.5% additional Stoploss.
Fixed R:R — If the stop loss is Dynamic (Trailing or MA) then if R:R true can also be made Dynamic * Use it carefully, the function is experimental.
_________________________________________
⚉ TAKE PROFIT LEVELS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
A unique method of constructing intermediate Take Profit Levels will allow you to select up to 5 intermediate Take Profit Levels and one intermediate Stop Loss.
Intermediate Take Profit Levels are perfectly calculated into 5 equal parts in the form of levels from the entry point to the final Take Profit target.
All you need to do is to choose the necessary levels for fixing and how much you want to fix at each level as a percentage. For example, TP 3 will always be exactly between the entry point and the Take Profit target. And the value of TP 3 = 50 will close 50% of the amount of the remaining size of the position.
Note: all intermediate SL/TP are closed from the remaining position amount and not from the initial position size, as TV does by default.
SL 0 Position — works in the same way as TP 1-5 but it's Stop. With this parameter you can set the position where the intermediate stop will be set.
Breakeven on TP — When activated, it allows you to put the stop loss at Breakeven after the selected TP is reached. For this function to work as it should - you need to activate an intermediate Take. For example, if TP 3 is activated and Breakeven on TP = 3, then after the price reaches this level, the Stop loss will go to Breakeven.
* This function will not work with Dynamic Stoplosses, because it simply does not make sense.
CoolDown # Bars — When activated, allows you to add a delay before a new trade is opened. A new trade after CoolDown will not be opened until # bars pass and a new signal appears.
_____________________________
⚉ TIME FILTERS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Powerful time filter code that allows you to filter data based on specific time zones, dates, and session days. This code is ideal for those who need to analyze data from different time zones and weed out irrelevant data.
With Time Filter, you can easily set the starting and ending time zones by which you want to filter the data.
You can also set a start and end date for your data and choose which days of the week to include in the analysis. In addition, you can specify start and end times for a specific session, allowing you to focus your analysis on specific time periods.
_________________________________
⚉ SIGNAL FILTERS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Signal Filters — allows you to easily customize and optimize your trading strategies based on 10 filters.
Each filter is designed to help you weed out inaccurate signals to minimize your risks.
Let's take a look at their features:
__________________________________
⚉ RISK MANAGEMENT ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Risk management tools that allow you to set the maximum number of losing trades in a row, a limit on the number of trades per day or week and other filters.
Loss Streak — Set Max number of consecutive loss trades.
Win Streak — Max Winning Streak Length.
Row Loss InDay — Max of consecutive days with a loss in a row.
DrawDown % — Max DrawDown (in % of strategy equity).
InDay Loss % — Set Max Intraday Loss.
Daily Trades — Limit the number of MAX trades per day.
Weekly Trades — Limit the number of MAX trades per week.
* 🡅 I would Not Recommend using these functions without understanding how they work.
Order Size — Position Size
• NONE — Use the default position size settings in Tab "Properties".
• EQUITY — The amount of the allowed position as a percentage of the initial capital.
• Use Net Profit — On/Off the use of profit in the following trades. *Only works if the type is EQUITY.
• SIZE — The size of the allowed position in monetary terms.
• Contracts — The size of the allowed position in the contracts. 1 Сontract = Сurrent price.
________________
⚉ NOTES ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
It is important to note that I have never worked with Backtesting and the functions associated with them before.
It took me about a month of slow work to build this system.
I want to say Big Thanks:
• The PineScripters🌲 group, the guys suggested how to implement some features. Especially @allanster
• Thanks to all those people who share their developments for free on TV and not only.
• I also thank myself for not giving up and finishing the project, and not trying to monetize the system by selling it. * Although I really want the money :)
I tried hard to make it as fast and convenient as possible for everyone who will use my code.
That's why I didn't use any libraries and dozens of heavy functions, and I managed to fit in 8+-functions for the whole code.
Absolutely every block of code I tried to make full-fledged modular, that it was easy to import/edit for myself (you).
I have abused the Ternary Pine operator a little (a lot) so that the code was as compact as possible.
Nevertheless, I tried very hard to keep my code very understandable even for beginners.
At last I managed to write 500 lines of code, making it one of the fastest and most feature-rich systems out there.
I hope everyone enjoys my work.
Put comments and write likes.
Chirag Strategy SMA with StopLossThe Moving Average Crossover trading strategy is possibly the most popular trading strategy in the world of trading. This strategy is a good example of so-called traditional strategies. Traditional strategies are always long or short. That means they are never out of the market. The concept of having a strategy that is always long or short may be scary, particularly in today’s market where you don’t know what is going to happen as far as risk on any one market. But a lot of traders believe that the concept is still valid, especially for those of traders who do their own research or their own discretionary trading.
This version uses crossover of simple moving averages of length 10 and 13. This strategy is best suitable for NIFTY and BANKNIFTY under 15min candlestick for intraday and 1hour candlestick for long-term.
Buff Averages [CC]The Buff Averages were created by Buff Dormeier (Stocks and Commodities Feb 2001) and this is another hidden gem that is a combo of a volume weighted indicator and a moving average crossover system. It uses a special method to calculate the weighting based on volume. The colored line (fast buff) will follow the price closely and you use the other line to act as a trend confirmation. I have included strong buy and sell signals in addition to normal ones so strong signals are darker in color and normal signals are lighter in color. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators or scripts you would like to see me publish!
Trend Analysis Index [CC]The Trend Analysis Index was created by Adam White and not to be confused with the Trend Analysis Indicator that I also published. This indicator operates under the same idea but using a completely different calculation to achieve similar results. The idea behind this indicator is for a combination of volatility and trend confirmation. If the indicator is above it's signal line then the stock is very volatile and vice versa. If the stock is currently trending as in above a chosen moving average for example and the indicator falls below the signal line then there is a pretty good chance in a trend reversal. The recommended buy and sell system to use is to pair this indicator with a moving average crossover system which I have included in the script. Buy when the indicator is above it's signal and the shorter moving average crosses above the longer moving average. For selling you would do the same and sell when the indicator is above it's signal and the shorter moving average crosses below the longer moving average. I have included strong buy and sell signals in addition to the normal ones so stronger signals are darker in color and normal signals are lighter in color.
Let me know what other indicators or scripts you would like to see me publish!
Relative Strength Exponential Moving Average [CC]The Relative Strength Exponential Moving Average was created by Vitali Apirine (Stocks and Commodities Jan 2022 pgs 22-25) and this is a handy moving average that combines a typical overbought/oversold mechanic with an overall trend indicator. Even though the typical length is so large it reacts extremely quickly when the stock becomes overbought or oversold. Because of this the indicator by itself doesn't work as well during choppy periods so Vitali recommends using a moving average crossover system during choppy so do one indicator with the default length of 50 and use a different length of 10 so when the shorter length crosses over the longer length then buy and vice versa you would sell. Generally speaking buy when the line turns green and sell when it turns red. I have used strong buy and sell signals in addition to normal signals so strong signals are darker in color and normal signals are lighter in color.
Let me know if there are any other scripts or indicators you would like me to publish!
Simple Moving Average CrossoverThis strategy uses two moving averages of 21 and 8 to generate buy or sell signal.
This is for purely intraday trades and best use in 15 min time frame
This strategy uses angle/slope of ma to filter out period of sideways movement and only generate signals when the stock starts trending in one direction
How to use this
1) Buy when the buy is generated
2) Sell when the sell is generated
Properties you can tweak to adjust this strategy to your needs are
1) angle -> Adjust this properties to define how much slope would be considered to generate the signals, higher the values lesser the trades generated.
2) atr period-> this is to adjust the atr period
3) ma source -> close is considered as source , you can use open or high or low
Vertical Horizontal Moving Average [AneoPsy & alexgrover] Moving average adapting to the strength of the trend, this is made possible by using the square of the vertical-horizontal filter as a smoothing factor. Alerts are included with two different types of conditions available to the user.
Settings
Length : Period of the moving average
Src : Input data for the indicator
Alerts : Types of conditions to be used in the alerts, when set to "VHMA Direction Change" alerts are triggered once the VHMA is either rising or declining, else the alerts are based on the crosses between Src and the VHMA
Usage
The VHMA can be used as a fast or slow-moving average in a moving average crossover system, or as input for other indicators.
VHMA of with length = 25 and sma with length = 200.
VHMA with length = 25 used as input for the RSI with length = 14.
Details
The vertical-horizontal filter is a measure of the strength of the trend and lay in a (0,1) range, to calculate it you just need to divide the rolling range over with the rolling sum of the absolute price changes, squaring the result allow to get lower results with higher values of length .
Squared vertical horizontal filter with length = 50, the value is low when the market is ranging and high when trending.
To set the alerts go in the alert panel, click on create alert, and select VHMA in "condition", choose between the buy or sell alert. If Src = closing price or another indicator dependant on the closing price select in options "once per bar close", if the indicator using the opening or lagged closing prices values as input select "One per bar" instead.
Thanks
Thanks to AneoPsy for adding the color change, the idea to use two kinds of conditions for the alert, and for its feedback, you can follow him
www.tradingview.com
and finally thanks to you for reading and for your support, only one last script left for the month, then we'll start July with some pretty interesting indicators, I hope you'll like them ^^/
Hull TrendHere we are using Hull Moving Average crossovers as an experiment in trend detection.
The Hull Moving Average (HMA) is an extremely fast and smooth moving average.
Credit to alexgrover & RicardoSantos:
Edge-Preserving FilterIntroduction
Edge-preserving smoothing is often used in image processing in order to preserve edge information while filtering the remaining signal. I introduce two concepts in this indicator, edge preservation and an adaptive cumulative average allowing for fast edge-signal transition with period increase over time. This filter have nothing to do with classic filters for image processing, those filters use kernels convolution and are most of the time in a spatial domain.
Edge Detection Method
We want to minimize smoothing when an edge is detected, so our first goal is to detect an edge. An edge will be considered as being a peak or a valley, if you recall there is one of my indicator who aim to detect peaks and valley (reference at the bottom of the post) , since this estimation return binary outputs we will use it to tell our filter when to stop filtering.
Filtering Increase By Using Multi Steps Cumulative Average
The edge detection is a binary output, using a exponential smoothing could be possible and certainly more efficient but i wanted instead to try using a cumulative average approach because it smooth more and is a bit more original to use an adaptive architecture using something else than exponential averaging. A cumulative average is defined as the sum of the price and the previous value of the cumulative average and then this result is divided by n with n = number of data points. You could say that a cumulative average is a moving average with a linear increasing period.
So lets call CMA our cumulative average and n our divisor. When an edge is detected CMA = close price and n = 1 , else n is equal to previous n+1 and the CMA act as a normal cumulative average by summing its previous values with the price and dividing the sum by n until a new edge is detected, so there is a "no filtering state" and a "filtering state" with linear period increase transition, this is why its multi-steps.
The Filter
The filter have two parameters, a length parameter and a smooth parameter, length refer to the edge detection sensitivity, small values will detect short terms edges while higher values will detect more long terms edges. Smooth is directly related to the edge detection method, high values of smooth can avoid the detection of some edges.
smooth = 200
smooth = 50
smooth = 3
Conclusion
Preserving the price edges can be useful when it come to allow for reactivity during important price points, such filter can help with moving average crossover methods or can be used as a source for other indicators making those directly dependent of the edge detection.
Rsi with a period of 200 and our filter as source, will cross triggers line when an edge is detected
Feel free to share suggestions ! Thanks for reading !
References
Peak/Valley estimator used for the detection of edges in price.
Everyday 0002 _ MAC 1st Trading Hour WalkoverThis is the second strategy for my Everyday project.
Like I wrote the last time - my goal is to create a new strategy everyday
for the rest of 2016 and post it here on TradingView.
I'm a complete beginner so this is my way of learning about coding strategies.
I'll give myself between 15 minutes and 2 hours to complete each creation.
This is basically a repetition of the first strategy I wrote - a Moving Average Crossover,
but I added a tiny thing.
I read that "Statistics have proven that the daily high or low is established within the first hour of trading on more than 70% of the time."
(source: )
My first Moving Average Crossover strategy, tested on VOLVB daily, got stoped out by the volatility
and because of this missed one nice bull run and a very nice bear run.
So I added this single line: if time("60", "1000-1600") regarding when to take exits:
if time("60", "1000-1600")
strategy.exit("Close Long", "Long", profit=2000, loss=500)
strategy.exit("Close Short", "Short", profit=2000, loss=500)
Sweden is UTC+2 so I guess UTC 1000 equals 12.00 in Stockholm. Not sure if this is correct, actually.
Anyway, I hope this means the strategy will only take exits based on price action which occur in the afternoon, when there is a higher probability of a lower volatility.
When I ran the new modified strategy on the same VOLVB daily it didn't get stoped out so easily.
On the other hand I'll have to test this on various stocks .
Reading and learning about how to properly test strategies is on my todo list - all tips on youtube videos or blogs
to read on this topic is very welcome!
Like I said the last time, I'm posting these strategies hoping to learn from the community - so any feedback, advice, or corrections is very much welcome and appreciated!
/pbergden
MultiTradingSystemThis is example to show how you can combine two and more strategies for get
a cumulative signal. Result signal will return 1 if two (or more) strategies
is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
First strategy
Chaikin's Volatility indicator compares the spread between a security's
high and low prices. It quantifies volatility as a widening of the range
between the high and the low price.
You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
HLC3, OHLC4 and ect...
Secon strategy
The Moving Average Crossover trading strategy is possibly the most popular
trading strategy in the world of trading. First of them were written in the
middle of XX century, when commodities trading strategies became popular.
This strategy is a good example of so-called traditional strategies.
Traditional strategies are always long or short. That means they are never
out of the market. The concept of having a strategy that is always long or
short may be scary, particularly in today’s market where you don’t know what
is going to happen as far as risk on any one market. But a lot of traders
believe that the concept is still valid, especially for those of traders who
do their own research or their own discretionary trading.
This version uses crossover of moving average and its exponential moving average.
Quantum Range Filter by MRKcoin### Quantum Range Filter by MRKcoin
**Overview**
This indicator is a sophisticated range detection tool designed based on the principles of quantitative multi-factor models. Instead of relying on a single condition, it assesses the market from three different dimensions to provide a more robust and reliable identification of range-bound (sideways) markets.
When the background is highlighted in red, it indicates that the market is likely in a range phase, suggesting that trend-following strategies may be less effective, and mean-reversion (range trading) strategies could be more suitable.
---
**Core Logic: A Multi-Factor Approach**
The filter evaluates the market state using the following three independent factors:
1. **Momentum Volatility (RSI Bollinger Bandwidth):**
* **Question:** Is the momentum of the market contracting?
* **Method:** It measures the width of the Bollinger Bands applied to the RSI. A narrow bandwidth suggests that momentum is consolidating, which is a common characteristic of a range market.
2. **Price Volatility (ATR Ratio):**
* **Question:** Is the actual price movement shrinking?
* **Method:** It calculates the Average True Range (ATR) as a percentage of the closing price. A low ratio indicates that the price volatility itself is low, reinforcing the case for a range environment.
3. **Absence of Trend (ADX):**
* **Question:** Is there a lack of a clear directional trend?
* **Method:** It uses the Average Directional Index (ADX), a standard tool for measuring trend strength. A low ADX value provides active confirmation that the market is not in a trending phase.
---
**How to Use**
1. **Range Detection:** The primary use is to identify ranging markets. The red highlighted background serves as a visual cue.
2. **Strategy Selection:**
* **Inside the Red Zone:** Consider using range-trading strategies (e.g., buying at support, selling at resistance, using oscillators like RSI or Stochastics for overbought/oversold signals). Avoid using trend-following indicators like moving average crossovers, as they are prone to generating false signals in these conditions.
* **Outside the Red Zone:** The market is likely trending. Trend-following strategies are more appropriate.
3. **Parameter Tuning (In Settings):**
* **This is the key to adapting the filter to any market or timeframe.** Different assets (like BTC vs. ETH) and different timeframes have unique volatility characteristics. Don't hesitate to adjust the parameters to fit the specific chart you are analyzing.
* **Range Detection Score:** This is the most important setting. It determines how many of the three factors must agree to classify the market as a range. The default is `2`, which provides a good balance.
* If the filter seems **too sensitive** (highlighting too often), increase the score to `3`.
* If the filter seems **not sensitive enough** (missing obvious ranges), decrease the score to `1`.
* **Factor Thresholds:** For fine-tuning, adjust the thresholds for each factor.
* **`RSI BB Width Threshold`:** If you want to detect even tighter momentum consolidations, *decrease* this value.
* **`ATR Ratio Threshold`:** If you want to be stricter about price volatility, *decrease* this value.
* **`ADX Threshold`:** To be more lenient on what constitutes a "trendless" market, *increase* this value (e.g., to 30). To be stricter, *decrease* it (e.g., to 20).
* **Pro Tip:** Use the Debug Table (uncomment it in the script's code) to see the live values of each factor. This will give you a clear idea of how to set the thresholds for the specific asset you are trading.
**Disclaimer**
This indicator is a tool to assist in market analysis and should not be used as a standalone signal for making financial decisions. Always use it in conjunction with your own trading strategy, risk management, and analysis. Past performance is not indicative of future results.
**Credits**
* **Concept & Vision:** MRKcoin
Multi-Symbol Cross Indicator Template - Unleash Your Potential!Unlock your full trading potential with this powerful and versatile Multi-Symbol Cross Indicator Template! This script is designed to make you stand out from the crowd by enabling you to monitor multiple symbols on a single chart for specific events, such as a Golden Cross or Death Cross. With its high adaptability to include various technical indicators, you're in complete control of your trading decisions and market analysis.
By using the built-in request.security function, this template fetches data for your chosen symbols from the selected exchange and calculates the conditions (e.g., moving average crossovers) for each symbol. Although the current implementation focuses on Golden Crosses and Death Crosses, the sky is the limit when it comes to modifying the script to incorporate other technical indicators such as RSI, MACD, or Bollinger Bands.
You, as a discerning trader, can easily customize the script by selecting your preferred exchange and symbols through input options. This flexibility allows you to monitor your favorite markets without the need for any direct code modification, giving you the ultimate adaptability for various trading strategies and market analysis purposes.
Remember, this script is more than just an example or template; it's the key to unleashing your inner trading genius. While it's not intended to be a standalone trading strategy, it serves as the foundation for you to build upon and create your own customized multi-symbol indicators or strategies. You are awesome, and with this Multi-Symbol Cross Indicator Template, there's no doubt that you're on the path to achieving great success in your trading journey!
wtfBUYorSELLffsMultiple timeframe Hull moving averages. 1 Hull period, 3 timeframes.
With Info Panel
This strategy is for any pair but the settings are tuned for DOGEUSDT
It is 3 Hull moving averages crossovers.
The first HMA is taken from the timeframe of the chart.
The second and third HMA's have a setting for TIMEFRAME.
For example the user can have the chart on 15m, 2nd HMA on 60m(1H), 3rd HMA on 240m(1H)
A info panel is on chart with the signal from each timeframe.
The binance (where DOGEUSDT can be traded) commission fee of 0.1% is added to the results.
Adjust the commission fee to suit your broker and pair.
Tuned for trading cryptocurrency Elon Musk has constantly been backing – dogecoin.
Ultimate Trader Oscillator - UTO v1Note; this is experimental / learning work -- has nothing to do with the existing "Ultimate Oscillator" -- i call this project UTOpia :)
This is based on some research work i was doing around the Balance Of Power - which i posted about in the past
the conclusion form there was a questions of, what would we get if we create an indicator that takes into consideration other factors that may be affecting momentum - so while the classic Balance of Power formula looks at where the open and close of a bar are compared to the full bar range, this is only a small part of the insight we need - when we visually inspect a price chart, we also look at many other factors. for example, how the bar closes compared to previous bar(s), how much did the bulls (or bears) managed to move the high (or low) of the bar compared to previous one, how much volume, how is the price spread ...etc
so i wanted to build an indicator that does exactly that - we will give a score of +100 / -100 to each bar based on these factors (some were identified in the linked post) -- imagine here that we are a judge in a tug of war contest (or a beauty contest if you would :)) and we give a score to the participating teams - the scores are given in different "categories" as these teams make effort to win the game (each bar) - to be totally fair, in some scoring categories, we choose to take the average of 3 points for a fair assessment - the final score is calculated based on the average from all judges - and then and average over the desired length is calculated. this score should be very fair and represents the true effort from all angles, right? that would be our UTOPIA :)
in our case, we don't use an average of total score after each category is evaluated, but rather create a directional index (similar to RSI) -- so we can avoid big spikes in the resulting numbers, and maintain a oscillator -like result.
-- the code is commented to explain the various pieces - and how the scoring happen.
the results are interesting - and you can see how the UTO stacks against the classic RSI and BoP - but it's more of a work to build on, rather than a usable indicator - although i do use it in my own trading :)
one final thought here, i came to learn after few years that the best indicators do not necessarily lead to profitable trading. from an indicator standpoint, if everyone else is trading using (for example) a moving average crossover or RSI, then a successful trader should be looking at these classic indicators too, cause these common indicators will drive the mass behavior - and will at many times trigger "self- fulfilling prophesies" in price action - but that's not the only or the biggest reason - the big reasons have to do with the fact that trading needs a lot of effort outside the charts, in researching markets, learning the discipline, then managing positions and managing the portfolio. these are all big topics to put in such short words.
i hope some will find this work inspiring.
Long Only EMA Strategy (9/20 with 200 EMA Filter)Details:
This strategy is built around a very simple idea: follow the primary trend and enter only when momentum supports it.
It uses three EMAs on a standard candlestick chart:
1. 9‑period EMA – short‑term momentum
2. 20‑period EMA – medium‑term structure
3. 200‑period EMA – long‑term trend filter
The strategy is ** long‑only ** and is mainly designed for swing trading and positional trading.
It avoids counter‑trend trades by taking entries only when price is trading ** above the 200 EMA **, which is commonly used as a long‑term trend reference.
The rules are deliberately kept simple so that they are easy to understand, modify, and test on different markets and timeframes.
---
Key Features
1. **Trend‑Filtered Entries**
- Fresh long positions are considered only when:
- The 9 EMA crosses above the 20 EMA
- The closing price is **above** the 200 EMA
- This attempts to combine short‑term momentum with a higher‑timeframe trend filter.
2. **Clean Exit Logic**
- The long position is exited when the closing price crosses **below** the 20 EMA.
- This creates an objective, rule‑based way to trail the trade as long as the medium‑term structure remains intact.
3. **Long‑Only, No Short Selling**
- The script intentionally ignores short setups.
- This makes it suitable for markets or accounts where short selling is restricted, or for traders who prefer to participate only on the long side of the market.
4. **Simple Visuals**
- All three EMAs are plotted directly on the chart:
- 9 EMA (fast)
- 20 EMA (medium)
- 200 EMA (trend)
- Trade entries and exits are handled by TradingView’s strategy engine, so users can see results in the Strategy Tester as well as directly on the chart.
5. **Backtest‑Friendly Structure**
- Uses TradingView’s built‑in `strategy()` framework.
- Can be applied to different symbols, timeframes, and markets (equities, indices, crypto, etc.).
- Works on standard candlestick charts, which are supported by TradingView’s backtesting engine.
6. **Configurable in Code**
- The EMA periods are defined in the code and can be easily adjusted.
- Users can tailor the parameters to fit their own style (for example, faster EMAs for intraday trading, slower EMAs for positional trades).
---
How to Use
1. **Add the Strategy to Your Chart**
1. Open any symbol and select a **standard candlestick chart**.
2. Apply the strategy from your “My Scripts” section.
3. Make sure it is enabled so that the trades and results appear.
2. **Select Timeframe**
- The logic can be tested on various timeframes:
- Higher timeframes (1H, 4H, 1D) for swing and positional setups.
- Lower timeframes (5m, 15m) for more active trading, if desired.
- Users should experiment and see where the strategy behaves more consistently for their chosen market.
3. **Read the Signals**
- **Entry:**
- A long trade is opened when the 9 EMA crosses above the 20 EMA while the closing price is above the 200 EMA.
- **Exit:**
- The open long position is closed when the closing price crosses below the 20 EMA.
- All orders are generated automatically once the strategy is attached to the chart.
4. **Use the Strategy Tester**
- Go to the **Strategy Tester** tab in TradingView.
- Check:
- Net profit / drawdown
- Win rate and average trade
- List of trades and the equity curve
- Change the date range and timeframe to see how stable the results are over different periods.
5. **Adjust Parameters if Needed**
- Advanced users can open the code and experiment with:
- EMA lengths (for example 8/21 with 200, or 10/30 with 200)
- Risk sizing and capital settings within the `strategy()` call
- Any changes should be thoroughly re‑tested before considering real‑world application.
---
Practical Applications
1. **Swing Trading on Daily Charts**
- Can be applied to stocks, indices, or ETFs on the daily timeframe.
- The 200 EMA acts as a trend filter to stay aligned with the broad direction, while the 9/20 crossover helps catch medium‑term swings inside that trend.
2. **Positional Trades on Higher Timeframes**
- On 4H or 1D charts, this approach can help in holding trades for several days to weeks.
- The exit rule based on the 20 EMA crossing helps avoid emotional decisions and provides a rules‑based way to trail the trend.
3. **Trend‑Following Filter**
- Even if used purely as a filter, the 200 EMA condition can help traders:
- Avoid taking long trades when the market is in a clear downtrend.
- Focus only on instruments that are trading above their long‑term average.
4. **Educational Use**
- The script is intentionally kept straightforward so that newer users can:
- Learn how a moving average crossover strategy works.
- See how to combine a short‑term signal with a long‑term filter.
- Understand how TradingView’s strategy engine handles entries and exits.
5. **Basis for Further Development**
- This can serve as a starting point for more advanced systems.
- Traders can extend it by adding:
- Additional filters (RSI, volume, volatility filters, time‑of‑day filters, etc.)
- Risk management rules (fixed stop loss, take profit, trailing stops).
- The current version is kept minimal on purpose, so modifications are easy to implement and test.
---
Important Notes & Disclaimer
1. This strategy is provided **for testing, research, and educational purposes only**.
2. It is ** not ** a recommendation to buy or sell any financial instrument.
3. Past performance on historical data does not guarantee similar results in live markets.
4. Markets are risky and trading can lead to financial loss; users should always do their own research, manage risk appropriately, and consult a qualified financial professional if needed.
5. Before using any strategy with real capital, it is strongly advised to:
- Forward test it on a demo / paper trading account.
- Check how it behaves during different market phases (trending, sideways, high‑volatility conditions).
You are free to modify the parameters and logic to better align it with your own trading style and risk tolerance.
Squeeze Hour Frequency [CHE]Squeeze Hour Frequency (ATR-PR) — Standalone — Tracks daily squeeze occurrences by hour to reveal time-based volatility patterns
Summary
This indicator identifies periods of unusually low volatility, defined as squeezes, and tallies their frequency across each hour of the day over historical trading sessions. By aggregating counts into a sortable table, it helps users spot hours prone to these conditions, enabling better scheduling of trading activity to avoid or target specific intraday regimes. Signals gain robustness through percentile-based detection that adapts to recent volatility history, differing from fixed-threshold methods by focusing on relative lowness rather than absolute levels, which reduces false positives in varying market environments.
Motivation: Why this design?
Traders often face uneven intraday volatility, with certain hours showing clustered low-activity phases that precede or follow breakouts, leading to mistimed entries or overlooked calm periods. The core idea of hourly squeeze frequency addresses this by binning low-volatility events into 24 hourly slots and counting distinct daily occurrences, providing a historical profile of when squeezes cluster. This reveals time-of-day biases without relying on real-time alerts, allowing proactive adjustments to session focus.
What’s different vs. standard approaches?
- Reference baseline: Classical volatility tools like simple moving average crossovers or fixed ATR thresholds, which flag squeezes uniformly across the day.
- Architecture differences:
- Uses persistent arrays to track one squeeze per hour per day, preventing overcounting within sessions.
- Employs custom sorting on ratio arrays for dynamic table display, prioritizing top or bottom performers.
- Handles timezones explicitly to ensure consistent binning across global assets.
- Practical effect: Charts show a persistent table ranking hours by squeeze share, making intraday patterns immediately visible—such as a top hour capturing over 20 percent of total events—unlike static overlays that ignore temporal distribution, which matters for avoiding low-liquidity traps in crypto or forex.
How it works (technical)
The indicator first computes a rolling volatility measure over a specified lookback period. It then derives a relative ranking of the current value against recent history within a window of bars. A squeeze is flagged when this ranking falls below a user-defined cutoff, indicating the value is among the lowest in the recent sample.
On each bar, the local hour is extracted using the selected timezone. If a squeeze occurs and the bar has price data, the count for that hour increments only if no prior mark exists for the current day, using a persistent array to store the last marked day per hour. This ensures one tally per unique trading day per slot.
At the final bar, arrays compile counts and ratios for all 24 hours, where the ratio represents each hour's share of total squeezes observed. These are sorted ascending or descending based on display mode, and the top or bottom subset populates the table. Background shading highlights live squeezes in red for visual confirmation. Initialization uses zero-filled arrays for counts and negative seeds for day tracking, with state persisting across bars via variable declarations.
No higher timeframe data is pulled, so there is no repaint risk from external fetches; all logic runs on confirmed bars.
Parameter Guide
ATR Length — Controls the lookback for the volatility measure, influencing sensitivity to short-term fluctuations; shorter values increase responsiveness but add noise, longer ones smooth for stability — Default: 14 — Trade-offs/Tips: Use 10-20 for intraday charts to balance quick detection with fewer false squeezes; test on historical data to avoid over-smoothing in trending markets.
Percentile Window (bars) — Sets the history depth for ranking the current volatility value, affecting how "low" is defined relative to past; wider windows emphasize long-term norms — Default: 252 — Trade-offs/Tips: 100-300 bars suit daily cycles; narrower for fast assets like crypto to catch recent regimes, but risks instability in sparse data.
Squeeze threshold (PR < x) — Defines the cutoff for flagging low relative volatility, where values below this mark a squeeze; lower thresholds tighten detection for rarer events — Default: 10.0 — Trade-offs/Tips: 5-15 percent for conservative signals reducing false positives; raise to 20 for more frequent highlights in high-vol environments, monitoring for increased noise.
Timezone — Specifies the reference for hourly binning, ensuring alignment with market sessions — Default: Exchange — Trade-offs/Tips: Set to "America/New_York" for US assets; mismatches can skew counts, so verify against chart timezone.
Show Table — Toggles the results display, essential for reviewing frequencies — Default: true — Trade-offs/Tips: Disable on mobile for performance; pair with position tweaks for clean overlays.
Pos — Places the table on the chart pane — Default: Top Right — Trade-offs/Tips: Bottom Left avoids candle occlusion on volatile charts.
Font — Adjusts text readability in the table — Default: normal — Trade-offs/Tips: Tiny for dense views, large for emphasis on key hours.
Dark — Applies high-contrast colors for visibility — Default: true — Trade-offs/Tips: Toggle false in light themes to prevent washout.
Display — Filters table rows to focus on extremes or full list — Default: All — Trade-offs/Tips: Top 3 for quick scans of risky hours; Bottom 3 highlights safe low-squeeze periods.
Reading & Interpretation
Red background shading appears on bars meeting the squeeze condition, signaling current low relative volatility. The table lists hours as "H0" to "H23", with columns for daily squeeze counts, percentage share of total squeezes (summing to 100 percent across hours), and an arrow marker on the top hour. A summary row above details the peak count, its share, and the leading hour. A label at the last bar recaps total days observed, data-valid days, and top hour stats. Rising shares indicate clustering, suggesting regime persistence in that slot.
Practical Workflows & Combinations
- Trend following: Scan for hours with low squeeze shares to enter during stable regimes; confirm with higher highs or lower lows on the 15-minute chart, avoiding top-share hours post-news like tariff announcements.
- Exits/Stops: Tighten stops in high-share hours to guard against sudden vol spikes; use the table to shift to conservative sizing outside peak squeeze times.
- Multi-asset/Multi-TF: Defaults work across crypto pairs on 5-60 minute timeframes; for stocks, widen percentile window to 500 bars. Combine with volume oscillators—enter only if squeeze count is below average for the asset.
Behavior, Constraints & Performance
Logic executes on closed bars, with live bars updating counts provisionally but finalizing on confirmation; table refreshes only at the last bar, avoiding intrabar flicker. No security calls or higher timeframes, so no repaint from external data. Resources include a 5000-bar history limit, loops up to 24 iterations for sorting and totals, and arrays sized to 24 elements; labels and table are capped at 500 each for efficiency. Known limits: Skips hours without bars (e.g., weekends), assumes uniform data availability, and may undercount in sparse sessions; timezone shifts can alter profiles without warning.
Sensible Defaults & Quick Tuning
Start with ATR Length at 14, Percentile Window at 252, and threshold at 10.0 for broad crypto use. If too many squeezes flag (noisy table), raise threshold to 15.0 and narrow window to 100 for stricter relative lowness. For sluggish detection in calm markets, drop ATR Length to 10 and threshold to 5.0 to capture subtler dips. In high-vol assets, widen window to 500 and threshold to 20.0 for stability.
What this indicator is—and isn’t
This is a historical frequency tracker and visualization layer for intraday volatility patterns, best as a filter in multi-tool setups. It is not a standalone signal generator, predictive model, or risk manager—pair it with price action, news filters, and position sizing rules.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Thanks to Duyck
for the ma sorter
oscillator fast cryptosmart (Bands on Scale)The oscillator fast cryptosmart is a high-sensitivity momentum indicator designed to generate signals more rapidly than many traditional oscillators, such as the MACD. It is engineered to detect potential price breakouts by analyzing short-term market cycles.
At its core, the indicator uses a Detrended Price Oscillator (DPO) to remove the longer-term trend from price action, allowing it to focus purely on the underlying momentum cycles. It then calculates dynamic volatility bands around this oscillator line.
Signals are generated when momentum breaks out from a normal range, providing traders with an early warning of a potential acceleration in price.
How to Interpret the Signals:
Buy Signal (Green Vertical Line): A buy signal is generated when the oscillator's main line (yellow) crosses above its upper statistical band. This indicates a sharp surge in positive momentum, suggesting a potential upward move is beginning.
Sell Signal (Red Vertical Line): A sell signal is generated when the oscillator's main line crosses below its lower statistical band. This indicates a significant increase in negative momentum, suggesting a potential downward move is starting.
By focusing on momentum breakouts rather than lagging moving average crossovers, the oscillator fast cryptosmart aims to provide an edge in identifying opportunities in fast-moving markets.






















