*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.
ابحث في النصوص البرمجية عن "情绪指数板块+约200只股票+选股规则"
L_Trade_BoundariesLibrary "L_Trade_Boundaries"
Trade Boundaries suggest a strength of the security with respect to previous lows. The "L" implies library, and the trade boundaries implies it could be utilized for price strengths. Though, this should not be used as a single parameter to trade wildly. This library can be imported to a custom indicator to utilized the custom functions. There are moving averages attached at the bottom right of the canvas (overlay) to benchmark the closing price with respect to Moving Averages: 20, 28, and 200 (i.e., "D" if timeframe == "D") respectively. The Volume Indicator located at the top of the canvas is a default function (function already made by the trading view) this shows the volume with respect to the selected time frame. All of the indicators tell a story with regard to the security price (in strength terms).
What is available in this Library?
Litmus Color
> This is a function will change color of two numbers, if the first number is less than the second, the color will be red; otherwise, the color will be green.
Lister
> This is simply using an array by revisiting previous lows and plotting to the current time frame (i.e., "D"). There is a custom frequency input for the function, it will go back as much as the implied/specified length. Note: I am still learning how to use array, use this function with discretion. I would also appreciate if there are suggestions commented below.
Moving Average
> This function invokes three moving average metrics: 20, 28, and 200 respectively. The values are displayed at the bottom right of the canvas.
Timeframe Highlight
> This function checks for the input timeframe (i.e., "D", "W", "M") and if the time frame happens to be the same, it will give a "true" result. This result can be utilized for highlighting the positive results on the canvas (the red lines).
litmus_color(value1, value2)
Parameters:
value1
value2
lister(length)
Parameters:
length
moving_averages()
timeframe_highlight(timeframe)
Parameters:
timeframe
Modified Mannarino Market Risk Indicator MMMRI MMRIModified Mannarino Market Risk Indicator MMMRI was developed by "Nobody Special Finance" as an enhancement to the original MMRI developed by Gregory Mannarino. The original and modified version were created as a way to gauge current level of risk in the market. This published indicator includes both versions along with ability to customize the symbols, denominators, and ratio factors that are used within their formulas. Additional options have been included to colorize the candles, plot, and level fills, as well as the option to show or hide a table containing the realtime values for both versions, along with the current dollar strength and 10Y yield.
Levels of market risk are denoted by dashed lines which represent the following levels: 0-50 slight risk, 50-100 low risk, 100-200 moderate risk, 200-300 high risk, 300+ extreme risk. The plot displays whichever of the following two formulas has been selected in the indicator settings, the default choice has been set to MMMRI:
MMRI = (USD Strength * USD Interest Rate) / 1.61
MMMRI = (Debt / GDP) * (USD Strength * USD Interest Rate) / 1.61
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
Moving Average Lab - by InFinitoThe Moving Average Lab allows to create any possible combination of up to 3 given MAs. It is meant to help you find the perfect MA that fits your style, strategy and market type.
This script allows to average, weight, double and triple multiple types and lengths of Moving Averages
Currently supported MA types are:
SMA
EMA
VWMA
WMA
SMMA (RMA)
HMA
LSMA
DEMA
TEMA
Features:
- Double or Triple any type of Moving Average using the same logic used for calculating DEMAs and TEMAs:
In the following example you can see a normal, double and triple 200 VWMA
- Average 2 or 3 different types and lengths of Moving Average:
In the example you can see the average between a Double LSMA and a SMA
- Weight each MA manually:
The example shows the average of an HMA and a VWMA with the HMA having a weight of 2 and the VWMA having a weight of 1
- Average up to 3 personalized MAs:
The example shows the average of an EMA + a Double WMA + a Triple SMA with a 3:2:1 weighting
- Average different Moving Averages with different length each:
The example shows the average of an 800 SMA + a 400 VWMA + a 200 EMA
Soheil PKO's 5 min Hitman Scalp - 3MA + Laguerre RSI + ADX [Pt]Someone sent me this strategy found on YouTube. It is Soheil PKO's "The Best and Most Profitable Scalping Strategy" Best way to find out is to code it =)
This strategy uses Moving Average Ribbon, Laguerre RSI, and ADX. This script only displays the MA ribbon, you will need to add Laguerre RSI and ADX separately.
Long Entry Criteria:
- 16 EMA > 48 EMA > 200 SMA
- Laguerre RSI > 80
- ADX > 20
Long Exit Criterion:
- 16 EMA < 48 EMA
Short Entry Criteria:
- 16 EMA < 48 EMA < 200 SMA
- Laguerre RSI < 20
- ADX > 20
Short Exit Criterion:
- 16 EMA > 48 EMA
As mentioned in the video, risk management is very important, especially for scalping strategies. Therefore, I've added option for setting Stop Loss and Price Target in the options for you guys to play with.
All parameters are configurable.
Enjoy~~
Fibonacci Moving Averages Input(FibMAI) Fibonacci Moving Averages Input is a strategy based on moving averages cross-over or cross-under signals. The bullish golden cross appears on a chart when a stock's short-term moving average crosses above its long-term moving average. The bearish death cross appears on a chart when a stock’s short-term moving average, crosses below its long-term moving average. The general market consensus values used are the 50-day moving average and the 200-day moving average.
With the (FibMAI) Fibonacci Moving Averages Input strategy you can use any value you choose for your bullish or bearish cross. For visual display purposes I have a lot of the Fib Moving Averages 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 shown while hiding the chart candlesticks. But to use this indicator I click on only a couple of MA's to see if there's a notable cross-over or cross-under pattern signal. Then, most importantly, I back test those values into the FibMAI strategy Long or Short settings input.
For example, this NQ1! day chart has it's Long or Short settings input as follows:
Bullish =
FibEMA34
cross-over
FibEMA144
Bearish =
FibEMA55
cross-under
FibSMA144
As you can see you can mix or match 4 different MA's values either Exponential or Simple.
Default color settings:
Rising value = green color
Falling value = red color
Default Visual FibMA settings:
FibEMA's 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181
Default Visual MA settings:
SMA's 50, 100, 150, 200
Default Long or Short settings:
Bullish =
FibEMA34
cross-over
FibEMA144
Bearish =
FibEMA55
cross-under
FibSMA144
TOMMAR#TOMMAR #MultiMovingAverages #MMAR
Dear fellow traders, this is Tommy, and today I'd like to introduce you to the Multi-Moving Averages Ribbon (MMAR) indicator, which I believe to be one of the best MMAR indicators available on TradingView. Moving Averages is a popular technical analysis tool used to smooth out price data by creating an average of past price data points over a specified time period. They can be used to identify trends and provide a clearer view of price action, as well as generate buy and sell signals by observing crossovers between different moving average lines.
In the MMAR indicator, we have incorporated 12 different types of Moving Averages, including Simple Moving Averages (SMA), Exponential Moving Averages (EMA), Weighted Moving Averages (WMA), Hull Moving Averages (HMA), and Smoothed Moving Averages (SMMA), among others. This allows traders to choose the optimal type for their preferred trading commodities.
One common technique in technical analysis is using multiple Moving Averages with varying lengths, which provides a more comprehensive view of price action. By analyzing multiple Moving Averages with different timeframes, traders can better understand both short- and long-term trends and make more informed trading decisions. Some of the well-known combinations of multiple moving averages used by traders are (5, 9, 14, 21, 45), (6, 11, 16, 22, 51), [8, 13, 21, 55), (50, 100, 200), and (60, 120, 240).
Another way to gauge the strength of the market trend is to look for the arrangement of the Moving Averages. If they are in a sequential order, with the shortest on top and the longest on the bottom, it is most likely a bullish trend. On the other hand, if they are arranged in reverse order, with the shortest on the bottom and the longest on top, it is most likely a bearish trend. The 'Trend Light' in the indicator settings will automatically signal when the Moving Averages are in either an orderly or reverse arrangement.
Lastly, I have added a useful feature to the indicator: the 'MA Projection'. This feature projects and forecasts the Moving Averages in the future, allowing traders to easily identify confluence zones in future candlesticks. Please note that the projection levels may change in the case of extreme price action that significantly affects the Moving Averages.
This is free so any Tradingview users can use this indicator. Just search TOMMAR in the indicator section located on top of the chart.
#TOMMAR #MultiMovingAverages #MMAR
안녕하세요 트레이더 여러분, 토미입니다. 오늘 여러분들에게 소개드릴 지표는 다양한 길이의 이동평균선 조합을 사용할 수 있는 MMAR (Multiple Moving Averages Ribbon)입니다. 아마 제가 만든 MMAR 지표가 트레이딩뷰에서 가장 쓸만할 겁니다. 이동평균선, 줄여서 이평선은 말 그대로 특정 기간 범위 내의 주가들을 평균한 값들로 이루어진 선입니다. 제가 이평선 관련된 강의 자료는 예전에 올려드린 바 있으니 더 자세한 내용이 궁금하신 분들은 아래 링크/이미지 클릭하시길 바랍니다.
본 지표는 Simple Moving Averages (SMA), Exponential Moving Averages (EMA), Weighted Moving Averages (WMA), Hull Moving Averages (HMA), 그리고 Smoothed Moving Averages (SMMA) 등을 포함해 총 12개 종류의 이평선 지표를 사용할 수 있습니다. 또한 각 이평선의 길이들도 하나하나 일일이 설정하실 수 있습니다. 예를 들어 요즘에 자주 보이는 이평선들의 조합이 , , , , 그리고 등등이 존재하는데 여러분의 취향에 맞게 설정하여 사용하시면 됩니다.
몇 가지 주요 기능에 대해서 설명 드리겠습니다. 설정에서 ‘Trend Light’를 키면 이평선들의 정배열 혹은 역배열 여부를 쉽게 볼 수 있습니다. 이평선이 정배열일때는 맨 아래의 이평선에 초록불이, 역배열일때는 맨 위의 이평선에 빨간불이 켜지며 둘 다 아닐 땐 아무 불도 켜지지 않습니다. 또한 ‘MA Projection’을 키면 이평선들의 미래 예측 값들을 확장해줍니다. 당연히 가격 변동이 갑자기 크게 나오면 이평선 예측 확장 레벨들이 확 바뀌겠죠.
지표창에 TOMMAR 검색하시거나 아래 즐겨찾기 인디케이터에 넣기 클릭하시면 누구나 사용하실 수 있습니다~ 여러분의 구독, 좋아요, 댓글은 저에게 큰 힘이 됩니다.
Global Money Supply USD-AdjustedGlobal Money Supply Aggregates
- US, China, EU, Japan, UK
- Korea, India, Canada, HK, Australia
- Taiwan, Brazil, Swiss, Russia, Mexico
- Thailand, Indonesia, Saudi, Singapore, Vietnam
Unfortunately, TV Pine can only take in 40 tickers, Each country has Money Supply Data adjusted against its FX to USD.
The formula in TV only can contain 10 tickers. So would recommend doing it up yourself on the first big 5 countries,
Anyway US and China constitute close to 50% of the global money supply.
However, one can argue whether money supply data (broad money) is valid nowadays. But I would bring up that this is just for comparison and trend purposes. Yes, M3 was removed from the US Fed data releases in end-2005.
Aggregating all of the above tickers yield me around 120tn of money supply, USD-adjusted.
There's pretty much other countries that should be included but due to the lack of data and small size of the country, it is omitted.
Examples:
- Heavily Sanctioned: Iran (400-500bn) and Iraq (200-300bn)
- No Data/Bad Data: Algeria (100bn), Bangladesh (110bn)
- Fallen Angels: Venezuela (100bn?), Argentina (120bn)
- 400-500bn club: Israel, Turkey, Poland, Sweden, Ireland, UAE, Msia, Chile
- 200-300bn club: Norway, Czech, Philippines, S.Africa, New Zealand, Egypt, Denmark, Qatar
- 100bn club: Colombia, Lebanon, Pakistan, Morocco, Romania, Hungary, Nigeria, Kuwait
- GDP 1bn club: Peru, Kazakhstan, Angola, Sudan, Ukraine, Ecuador
All these could add up to 10-15tn money supply, but with currencies with bad adoption on some. End of the day, we still living in a dollarised world, with the big 5 nations taking up to 80% of the officially published money supply. The unfortunate issue is that the money supply data isn't that forward-looking. A simple linear extrapolation of historical 3-month rolling average for next month estimates can be decent, with possibility of manual meddling to add adjustments on huge macro-events eg QE infinity.
Perhaps, additional tweaking would be inflation-adjusting this. Against SPX, some housing index, crude oil, gold.
howmuch.net
TOTAL:(RSI+TSI)TOTAL:(RSI+TSI)
This indicator collects instant data of RSI and TSI oscillators. RSI moves between (0) and (100) values as a moving line, while TSI moves between (-100) and (+100) values as two moving lines.
The top value of the sum of these values is graphically;
It takes the total value (+300) from RSI (+100), TSI (+100) and (+100).
The lowest value of the sum of these values is graphically;
It takes the value (-200) from the RSI (0), (-100) and (-100) from the TSI.
In case this indicator approaches (+300) graphically; It can be seen that price candlesticks mostly move upwards. This may not always give accurate results. Past incompatibilities can affect this situation.
In case this indicator approaches (-200) graphically; It can be seen that price candlesticks mostly move downwards. This may not always give accurate results. Past incompatibilities can affect this situation.
The graphical movements and numerical values created by this indicator do not give precise results for price candles.
RedK K-MACD : a MACD with some more musclesMoving Averages are probably the most commonly used analysis tools, and MACD is possibly the first charting indicator a trader gets to learn about.
MACD Basic concept
----------------------------
Without repeating all the tons of documentation about what MACD does, let's quickly re-visit the MACD concept from a 10-mile altitude (note we're keen on simplifying here rather than being technically accurate - so please forgive the use of any "common lingos")
- MACD goal is to represent the distance between 2 Moving Averages (MAs) - one fast and one slow, relatively - as an unrestricted zero-based oscillator.
- The value of the main MACD line is the distance, or the displacement between the 2 MA's
- usually a signal line is used (which is another MA of that distance value) to enable better visualization of the change (and rate of change, since this is all depicted on a time axis) of that displacement - this represents price momentum (price movement in the recent period versus movements for a relatively longer period).
- the difference between the main MACD line and its signal is then represented as a histogram above and below the zero line. in this case, that histogram is really redundant, since it shows a value that is already represented visually by the main line and its signal line.
How K-MACD is different
---------------------------------
K-MACD takes that simple concept of the classic MACD and expands around it - the idea is to use the same simple approach to representing price momentum while bringing in more insight to price moves in the short, medium and long terms, ability to represent more than 2 MA's and to enable better identification of tradeable patterns (like Volatility Contraction and others) - while still keeping things simple and visually clean.
K-MACD is an indicator that allows us to view how price moves against 3 moving averages: a fast / slow pair, and a "market" Filter or Baseline (very long) that will be used as a flag for Bear/Bull market mode. Many traders and trading literature use the 200 day (40 week) SMA as that key filter
so in total, there are 4 MA lines in K-MACD (excluding the "orange" signal line):
* Price Proxy: Which is a very fast moving average that will represent the price itself - let's use a WMA(3) or something close to that here - there will be a signal line to enable better visualization of this similar to a classic MACD - that's the orange line
* Fast & Slow MA's : Use whatever represents the "medium term" momentum for your trading - Some traders use 20 and 50, others use 10 and 20 .. if on your price chart, you keep using a pair of MA's for this, use the same settings in K-MACD - these will be represented by the 3-color Momentum Bars that fluctuate above and below the baseline
* Filter/Baseline MA: Should be your long (Bullish/Bearish Mode) MA. so 100 or 200 or any other value you consider your market to be bearish below and bullish above. on K-MACD this is actually the blue zero line - everything else is "relative" to it
Review the sample chart which explains various elements and the "price chart" setup that K-MACD represents. With K-MACD you can clean up your chart from those various Moving Averages - or use a different set than the ones you already have K-MACD represent - or other indicators (like ATR channels..etc)
Other "muscles" in the K-MACD
---------------------------------------------
- Relative vs Classic Calculation Mode
A key issue with the classic MACD is that the displacement between the 2 moving averages is represented as "absolute or direct" values - as the price of the underlying increases with time, you can't really use these values to make useful comparison between the past and now (see below example) - also you can't use them to compare 2 different instruments.
- The "Relative" calculation option in K-MACD addresses that issue by relating all "distances" to the Baseline MA as percentage (above or below) - you can see this clear when you look at the above chart the far left versus the far right and compare K-MACD with the classic MACD - the Classic option is still available
- More MA "type" options for all MA lines: choose between SMA, EMA, WMA, and RSS_WMA (which i use a lot in my trading and is my default for the Price Proxy)
- More Alerts: a total or 9 alerts (in 3 groups) are available with K-MACD (Momentum above or below baseline, Price Proxy crossing signal line, and Price Proxy crossing baseline)
- New 52 week High / Low markers: These will show as Green/red circles on the zero line in K-MACD. this will only work for 1D timeframe and above, i'm just using a simple approach and would like to keep it that way.
- i know i added some more features not covered above :) -- if you have questions about any of the settings, feel free to ask below
Closing thoughts
-------------------------
K-MACD is a combination of couple of indicators i published in the past (xMACD and Mo_Bars) - so you can go back and read about them if needed - I then added improvements to accommodate ideas from swing trading literature and common practices that i plan to focus on in future. So K-MACD is really part of my own trading setup.
I assume here that most traders are familiar with what a MACD is - so kept this post short - if you thing we should expand more about the concepts covered here let me know in the comments - i can make some separate posts with examples and more details.
I hope many fellow traders find this work useful - and feel free let me know in comments below if you do.
RSI Candle Advanced V2RSI Advanced
As the period value is longer than 14, the RSI value sticks to the value of 50 and becomes useless.
Also, when the period value is less than 14, it moves excessively, so it is difficult for us to see the movement of the RSI .
So, using the period value and the RSI value as variables, I tried to make it easier to identify the RSI value through a new function expression.
This is how RSI Advanced was developed.
Period below 14 reduce the volatility of RSI , and period above 14 increase the volatility of RSI, allowing overbought and oversold zones to work properly and give you a better view of the trend.
By applying the custom algorithm so that the 'RSI Advanced' with period on a 5-minute timeframe has the same value as the 'original RSI' with period on a 60-minute timeframe.
As another example, an 'RSI Advanced' with a period in a 60-minute time frame has the same value as an 'original RSI' with a period in a 240-minute time frame.
Compare the difference in the RSI with a period value of 200 in the snapshot.
------------------------------------------------------------------------------------------
RSI Candlestick
RSI derives its value using only the closing price as a variable.
I solved the RSI equation in reverse and tried to include the high and low prices of candlesticks in the equation.
As a result, 'if the high or low was the closing price, the value of RSI would be like this' was implemented.
Just like when a candle comes down after setting a high price, an upper tail is formed when RSI Candle goes down after setting a high price!!
In divergence, we had to look only at the relationship between closing prices, but if we use RSI candles, we can find divergences in highs and highs, and lows and lows.
Existing indicators could not express "gap", but Version 2 made it possible to express "gap"!!!!!!
RSI can be displayed as candlesticks, bars and lines
Then enjoy my RSI!
----------------------------------------------------------------------------------------
RSI Advanced
기간값이 14보다 길어질수록 RSI값은 50값에 달라붙게 되어서 쓸모가 없어집니다.
또 기간값이 14보다 줄어들수록 과도하게 움직여서 우리는 RSI의 움직임을 보기가 힘듭니다.
그래서 기간 값과 RSI 값을 변수로 사용하여 새로운 함수 식을 통해 RSI 값을 식별하기 편하도록 해보았습니다.
이렇게 RSI Advanced가 개발되었습니다.
기간값이 14보다 낮으면 rsi의 변동폭이 줄어들고, 기간값이 14보다 크면 변동폭이 넓어져 과매수 및 과매도 영역이 제대로 작동하여 추세를 더 잘 볼 수 있습니다.
또한 저는 5분 타임프레임의 기간값이 168(=14*12)인 RSI가 주기 값이 14인 60분 타임프레임의 RSI와 동일한 값을 갖도록 적절한 함수 표현식을 적용하여 RSI를 변경했습니다.
다른 예로, 15분 시간 프레임에서 기간값이 56(=14*4)인 RSI는 60분 시간 프레임의 기간값이 14인 RSI와 동일한 값을 갖습니다.
기간값이 200인 RSI의 차이를 스냅샷에서 비교해보십시오.
-----------------------------
RSI Candlestick
RSI는 종가만을 변수로 사용하여 값을 도출해냅니다.
저는 RSI 식을 역으로 풀어내어서 캔들스틱의 고가와 저가, 시가를 식에 포함시켜보았습니다.
결과적으로, '만약 고가나 저가가 종가였다면 RSI의 값이 이럴것이다'를 구현해내었습니다.
캔들이 고가를 찍고 내려오면 윗꼬리가 생기듯 RSI Candle에서도 고가를 찍고 내려오면 윗꼬리가 생기는겁니다!!
다이버전스 또한 원래는 종가끼리의 관계만 봐야했지만 RSI 캔들을 이용한다면 고가와 고가, 저가와 저가에서도 다이버전스를 발견할 수 있습니다.
기존의 지표는 "갭"을 표현하지 못했지만 Version 2 에서는 "갭"을 표현할 수 있게 만들었습니다!!!!!!
그럼 잘 사용해주십시오!!!
BankNifty Dash
This indicator to be used only in BankNifty , shows Values of BankNifty Index & its top constituents.
Dashboard Interpretation :
LTP - Last Traded Price.
D High - Day High.
D Low - Day Low.
I Points - Shows the contribution of top BankNifty constituents according to its weightage.
PH-PL - "PH - PL" means LTP is trading between Previous Days High( PH ) & Previous Days Low( PL ) which indicates Rangebound-ness.
"+ PH" means LTP is trading above Previous Days High( PH ) which indicates Bullish-ness.
"- PL" means LTP is trading below Previous Days Low( PL ) which indicates Bearish-ness.
ATR - Displays the Daily ATR (Average True Range) (14 period).
DTR - Current Day Range.
DTR% - Current Day Range percentage.
( DTR & DTR%, changes colour based on percent value. < 61.8 is green and > 61.8 is red.)
For example if the Daily ATR is 100 and the current range of the day is 200 this would be 200% the original move.
EMA:-
Default value of 5 is used in Fast EMA.
Default value of 21 is used in Slow EMA.
Default value of 200 is used in EMA (Used for trend direction).
User can change values from input section.
If the colour filled between Fast EMA and Slow EMA is green, the market is in a uptrend
If the colour filled between Fast EMA and Slow EMA is red, the market is in a downtrend.
ADR :-
Plots ADR (Average Day Range) zones are used as support and resistance, ADR zones are calculated using a 5 or 10 day period unless you change the settings.
PDH/PDL :-
Plots Previous Day High(PDH) and Previous Day low(PDL).
Moving Average Support and ResistanceThis indicator takes a moving average, creates an envelope, and analyzes how frequently the moving average and its deviations act as areas of support or resistance. Using this information, you can determine how strong the moving average is as a support or resistance. For example, if the 200 SMA with a 5% range and 1% buffer has an S/R ratio of 1:1.5, then the 200 SMA is acting as resistance more frequently than support. This indicator uses the "buffer" as an envelope extension. The best way to think of this buffer is to envision areas where false breakouts and stop runs may occur. Use this indicator to experiment with different moving averages, ranges, and buffers to find the best combination for your trading style.
RSI Objective LinesThe RSI is a contrarian indicator bounded between 0 and 100 where values close to the area of 30 represent an oversold condition and values close to the area of 70 represent an overbought condition.
Generally, we use the area of 70/75 and the area of 30/25 as extremes that signal a market reversal or a correction. But what if we calculate a simple way to make these levels more dynamic?
The main idea from these objective support and resistance levels is that market regime and dynamics move and as such fixed levels are unlikely to always provide value which means that we can try creating variable levels. The objective support and resistance levels are created following these steps:
* Calculate a 14-period RSI on the close price, let's call this RSI_Close.
* Calculate a 14-period RSI on the high price, let's call this RSI_High.
* Calculate a 14-period RSI on the low price, let's call this RSI_Low.
* Calculate the maximum range which is the highest value of RSI_High in the last 200 periods minus the lowest value of RSI_Low in the last 200 periods. Let's call this Max_Range
* Define the range width. By default, it is set to 5%. Let's call this Threshold.
* The objective support is calculated as the sum of the RSI_Low + (Max_Range * Threshold).
* The objective resistance is calculated as the sum of the RSI_High - (Max_Range * Threshold).
The levels are used in the same way as the oversold and overbought levels. They are more dynamic as they take into account the fluctuations of the RSI so you might see at some point in time a support at 20 and at another at 35.
Slope_TKLibrary "Slope_TK"
This library calculate the slope of a serie between two points
The serie can be ta.ema(close,200) for example
The size is the number of bars between the two points for the slope calculation, for example it can be 10
slope_of_ema200 = slope(t a.eam(close, 200) , 10 )
slope( float serie, int size )
Equity Bond Currency DashboardDepicts demand-flow between Equities, Bonds and Currencies of 6 countries. Useful in tracking the flow of smart money and checking the dynamics of inter-connected markets.
Principle:
DXY lies at the heart of the diagram with usd-currency pairs of 5 countries connected to it. When demand for a currency increases it strengthens against Dollar. This is depicted by a line from DXY to the currency indicating demand flow from Dollar to the currency (DXY is only an indicative symbol for Dollar, the currency may not be part of the dollar index). Similarly when Dollar strengthens against the currency, demand flow is depicted by a line from the currency to DXY. Currency blocks are connected to Equity and Bond Yields of the respective countries. Equities and Bonds, when bought, takes the demand from the respective currencies and vice versa.
Overall, the demand flows in the direction of arrows. The flow is incomplete without commodities, import/export, interest/inflation rates of countries, however, the diagram most of the times explains why an asset class is performing the way it is.
Left side bar of each block is very similar to OHLC candles except for the following -
Instead of wicks, top and bottom of the bar represents high and low for the selected time-frame
Open and close are normalised for high and low
Bar border is red if close < prev.close, green if close >= prev.close
Other notes:
The diagram requires at least 200 bars in the chart to render. Please select the symbol and time-frame that contain at least 200 bars.
The diagram requires a live market to render the flow. To check flows on historical bars, set the option from settings.
Desired indices could be selected for countries of choice. Default settings point to futures wherever possible to have the markets live simultaneously across the countries.
EMA RSI Strategy
Simple strategy
=============
If the last two closes are in ascending order, the rsi is below 50 and ascending, and the current candle is above 200 ema, then LONG. If the last two closes are in descending order, the rsi is above 50 and descending, and the current candle is below 200 ema, then SHORT.
LONG Exit strategy:
ATR: Last 14 day
Lowest: The lowest value of the last 14 candles
Limit points = (Trade Price - Lowest + ATR) * 100000
trail_points : Limit/2
trail_offset = Limit/2
SHORT Exit strategy:
ATR: Last 14 day
Highest: The higher value of the last 14 candles
Limit points = (Trade Price - Highest + ATR) * 100000
trail_points : Limit/2
trail_offset = Limit/2
Backtest results for the AUDUSD pair gave positive results over the last three months.
I am testing this strategy using a python bot in a real environment this week and will update the results at the end of the week.
Disclaimer
This is not financial advice. You should seek independent advice to check how the strategy information relates to your unique circumstances.
We are not liable for any loss caused, whether due to negligence or otherwise arising from the use of, or reliance on, the information provided directly or indirectly by this strategy.
MACD + EMA System with AlertsSo I created the MACD Cross Strategy but not working alone by itself. I added EMA (Exponential Moving Average) filter to improve its winning rate so the MACD Signal only appears when in the same trend direction as Moving Average.
The Main Rules for Long Signal are:
- MACD Main Line Crossover the MACD Signal Line.
- The crossover happens below the MACD center line (0) so the momentum is strong.
- Price above the EMA 200 so it means the market is in a strong uptrend.
The Main Rules for Short Signal are :
- MACD Main Line Crossunder the MACD Signal Line.
- The crossover happens above the MACD center line (0) so the momentum is strong.
- Price below the EMA 200 so it means the market is in a strong downtrend.
The signal crossover & signal alert only generate as per the following rules above.
(E)Moving Average Ribbon High/LowThis is a slight modification of the standard Moving Average Ribbon. This script will take the 200 EMA and SMA with source the high and low, not the close.
This band will act as a support and resistance zone and should be used as a confluence with other indicators or support/resistance lines.
I got inspired to create this one, by the YT video "FINALLY! The 200 EMA Confluence Trading Strategy You’ve Been Waiting For" by The Secret Mindset.
In his video he takes only the 200EMA, but this script will take by default also the SMA into account.
In the settings you still can adapt as you wish ;-)
Happy trading!
MACD strategy + Trailstop indicatorWelcome traveler !
Here is my first indicator I made after 3 days of hardlearning pine code (beginner in coding).
I hope it will please you, if you have any suggestion to enhance this indicator, do not hesitate to give me your thoughts in the comments section or by Private message on trading View !
How does it works ?
It's a simple MACD strategy as describe here :
Uses of EMA 200 as a trend confirmer,
For sells :
When above Zero line (MACD) and under EMA200, we go on sell (background color is red)
For buys:
When under Zero line (MACD) and above EMA 200, we go on Buy (back ground color is green)
FILTERS !
I haded one filter to reduce noise on the indicator :
Signals aren't taken if one of the 14 last candles closed on the other side of the EMA 14.
What are the green and red lines ?
The green line is equivalent of a potential stop loss as a buyer side, same for the red one on seller side !
To make the space with the price bigger, please use "ATR multiplier" in the input options of the indicator while on your chart !
Is it timeframe specific ?
Hell no it is not timeframe specific ! You can try to use it on every timeframe !
As usual, I like to remind you that the best way to test an indicator is to go backtest it or to paper trade before using it on real market conditions !
If you find an idea of filter for a specific timeframe, do not hesitate to contact me ! I'll try to do my best to enhance this indicator as the time goes !
Is there repainting ?
There is no repainting on confirmation !
There's only a movement that I don't know how to ignore on the current open candle for the trail stop indicator I built, it should not be a problem if you place alerts to automatise your trading on the close of the candle, and not the high or low !
If you know how to resolve this problem with my code, I would be glad to get your tips to enhance the script ! :)
Example of the indicator in market (backtest, as said, no repaint on confirmation) :
obvFilterThis library comes with everything you need to add an On Balance Volume (OBV) filter to your strategy.
getOnBalanceVolumeFilter(source, maType, fastMaLength, fastMaLength)
Get the fast and slow moving average for on balance volume
Parameters:
source : hook this up to an 'input.source' input
maType : Choose from EMA, SMA, RMA, or WMA
fastMaLength : int smoothing length for fast moving average
fastMaLength : int smoothing length for fast moving average int smoothing length for slow moving average
Returns: Tuple with fast obv moving average and slow obv moving average
Add this to your strategy
▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾ ▾
import jordanfray/obvFilter/1 as obv
obvSource = input.source(defval=close, title="OBV Source", group="On Balance Volume Filter")
obvMaType = input.string(defval="EMA", title="OBV Smoothing Type", options = , group="On Balance Volume Filter")
fastMaLength = input.int(title = "Fast OBV MA Length", defval = 9, minval = 2, maxval = 200, group="On Balance Volume Filter")
slowMaLength = input.int(title = "Slow OBV MA Length", defval = 21, minval = 1, maxval = 200, group="On Balance Volume Filter")
= obv.getOnBalanceVolumeFilter(obvSource, obvMaType, fastMaLength, slowMaLength)
5in1In this script i have combined
1. Ichimoku
2. CPR
3. Camarilla
4. EMA (8/20/50/100/200)
5. SMA (8/20/50/100/200)
6. Initial Balance
7. Previous Day Values
8. Today Open/High/Low
Accumulation Stage Identifier and Strategy around for TradingIn the psychology of trading at any market condition, there are four stage usually occurs on any tickers.
Stage 1 -> Neglect phase or consolidation phase
It occurs when the company does not produce the expected result and waiting for next result.
It can extend for days, weeks, months and years. Never give entry at this stage though that blue-chip told to be cheaper in price.
Stage 2 -> Accumulation
It occurs when the company's earning and sales consistently grows.
It can extend for days, weeks, months but should not expect the continues increase in price, as there will be potential pull-back which can be considered as opportunity to accumulate.
If the company fundamental is good, just give some space at the time of pullback.
Most of the time, the pullback volume will be low to compare to volume at the time of increase.
Usually, the stock that is going through accumulation stage will definitely trade above 200SMA and short term MA will be greater than long term moving average.
Continues the highest high and highest low along with volume.
Stage 3 -> Distribution
It occurs when the company's earning and sales stagnated due to certain reason.
It can extend for days, weeks while the price and volume highly volatile.
High volume while the price low
Typically, the stock that is going through distribution stage will certainly trade below 200SMA and short term MA will be lesser than long term moving average.
Continues the lowest high and lowest low along with volume.
Stage 4 -> Capitalization
Price reaches the 52W low while volume spikes on big down.
In each stage, the price & volume are perfect indicator to highlight the situation and the trader with proper discipline and patients can certainly reap the fruitful outcome of accumulation stage.
Based on this explanation, here is the strategy that is created with 50,90 & 200 Simple moving average and price volume trends (PVT) indicator applied on MACD to signal whenever the PVT convergence and divergence.
Note:
As the indicator designed to signal on the ticker that trade above 200 moving average, it is good to use this strategy on companies that are fundamental strong.
Whenever, there is pull back happens, the strategy might signal for exit, however, here comes the traders patient based on the conviction on the particular chosen stocks.
White being patient is good, disciplinary in following the strategy also important. Hence, consider the action when the stock goes opposite direction from your expectation.
Hope this strategy would help you find the profit.
Happy investing.