Waindrops [Makit0]█ OVERALL
Plot waindrops (custom volume profiles) on user defined periods, for each period you get high and low, it slices each period in half to get independent vwap, volume profile and the volume traded per price at each half.
It works on intraday charts only, up to 720m (12H). It can plot balanced or unbalanced waindrops, and volume profiles up to 24H sessions.
As example you can setup unbalanced periods to get independent volume profiles for the overnight and cash sessions on the futures market, or 24H periods to get the full session volume profile of EURUSD
The purpose of this indicator is twofold:
1 — from a Chartist point of view, to have an indicator which displays the volume in a more readable way
2 — from a Pine Coder point of view, to have an example of use for two very powerful tools on Pine Script:
• the recently updated drawing limit to 500 (from 50)
• the recently ability to use drawings arrays (lines and labels)
If you are new to Pine Script and you are learning how to code, I hope you read all the code and comments on this indicator, all is designed for you,
the variables and functions names, the sometimes too big explanations, the overall structure of the code, all is intended as an example on how to code
in Pine Script a specific indicator from a very good specification in form of white paper
If you wanna learn Pine Script form scratch just start HERE
In case you have any kind of problem with Pine Script please use some of the awesome resources at our disposal: USRMAN , REFMAN , AWESOMENESS , MAGIC
█ FEATURES
Waindrops are a different way of seeing the volume and price plotted in a chart, its a volume profile indicator where you can see the volume of each price level
plotted as a vertical histogram for each half of a custom period. By default the period is 60 so it plots an independent volume profile each 30m
You can think of each waindrop as an user defined candlestick or bar with four key values:
• high of the period
• low of the period
• left vwap (volume weighted average price of the first half period)
• right vwap (volume weighted average price of the second half period)
The waindrop can have 3 different colors (configurable by the user):
• GREEN: when the right vwap is higher than the left vwap (bullish sentiment )
• RED: when the right vwap is lower than the left vwap (bearish sentiment )
• BLUE: when the right vwap is equal than the left vwap ( neutral sentiment )
KEY FEATURES
• Help menu
• Custom periods
• Central bars
• Left/Right VWAPs
• Custom central bars and vwaps: color and pixels
• Highly configurable volume histogram: execution window, ticks, pixels, color, update frequency and fine tuning the neutral meaning
• Volume labels with custom size and color
• Tracking price dot to be able to see the current price when you hide your default candlesticks or bars
█ SETTINGS
Click here or set any impar period to see the HELP INFO : show the HELP INFO, if it is activated the indicator will not plot
PERIOD SIZE (max 2880 min) : waindrop size in minutes, default 60, max 2880 to allow the first half of a 48H period as a full session volume profile
BARS : show the central and vwap bars, default true
Central bars : show the central bars, default true
VWAP bars : show the left and right vwap bars, default true
Bars pixels : width of the bars in pixels, default 2
Bars color mode : bars color behavior
• BARS : gets the color from the 'Bars color' option on the settings panel
• HISTOGRAM : gets the color from the Bearish/Bullish/Neutral Histogram color options from the settings panel
Bars color : color for the central and vwap bars, default white
HISTOGRAM show the volume histogram, default true
Execution window (x24H) : last 24H periods where the volume funcionality will be plotted, default 5
Ticks per bar (max 50) : width in ticks of each histogram bar, default 2
Updates per period : number of times the histogram will update
• ONE : update at the last bar of the period
• TWO : update at the last bar of each half period
• FOUR : slice the period in 4 quarters and updates at the last bar of each of them
• EACH BAR : updates at the close of each bar
Pixels per bar : width in pixels of each histogram bar, default 4
Neutral Treshold (ticks) : delta in ticks between left and right vwaps to identify a waindrop as neutral, default 0
Bearish Histogram color : histogram color when right vwap is lower than left vwap, default red
Bullish Histogram color : histogram color when right vwap is higher than left vwap, default green
Neutral Histogram color : histogram color when the delta between right and left vwaps is equal or lower than the Neutral treshold, default blue
VOLUME LABELS : show volume labels
Volume labels color : color for the volume labels, default white
Volume Labels size : text size for the volume labels, choose between AUTO, TINY, SMALL, NORMAL or LARGE, default TINY
TRACK PRICE : show a yellow ball tracking the last price, default true
█ LIMITS
This indicator only works on intraday charts (minutes only) up to 12H (720m), the lower chart timeframe you can use is 1m
This indicator needs price, time and volume to work, it will not work on an index (there is no volume), the execution will not be allowed
The histogram (volume profile) can be plotted on 24H sessions as limit but you can plot several 24H sessions
█ ERRORS AND PERFORMANCE
Depending on the choosed settings, the script performance will be highly affected and it will experience errors
Two of the more common errors it can throw are:
• Calculation takes too long to execute
• Loop takes too long
The indicator performance is highly related to the underlying volatility (tick wise), the script takes each candlestick or bar and for each tick in it stores the price and volume, if the ticker in your chart has thousands and thousands of ticks per bar the indicator will throw an error for sure, it can not calculate in time such amount of ticks.
What all of that means? Simply put, this will throw error on the BITCOIN pair BTCUSD (high volatility with tick size 0.01) because it has too many ticks per bar, but lucky you it will work just fine on the futures contract BTC1! (tick size 5) because it has a lot less ticks per bar
There are some options you can fine tune to boost the script performance, the more demanding option in terms of resources consumption is Updates per period , by default is maxed out so lowering this setting will improve the performance in a high way.
If you wanna know more about how to improve the script performance, read the HELP INFO accessible from the settings panel
█ HOW-TO SETUP
The basic parameters to adjust are Period size , Ticks per bar and Pixels per bar
• Period size is the main setting, defines the waindrop size, to get a better looking histogram set bigger period and smaller chart timeframe
• Ticks per bar is the tricky one, adjust it differently for each underlying (ticker) volatility wise, for some you will need a low value, for others a high one.
To get a more accurate histogram set it as lower as you can (min value is 1)
• Pixels per bar allows you to adjust the width of each histogram bar, with it you can adjust the blank space between them or allow overlaping
You must play with these three parameters until you obtain the desired histogram: smoother, sharper, etc...
These are some of the different kind of charts you can setup thru the settings:
• Balanced Waindrops (default): charts with waindrops where the two halfs are of same size.
This is the default chart, just select a period (30m, 60m, 120m, 240m, pick your poison), adjust the histogram ticks and pixels and watch
• Unbalanced Waindrops: chart with waindrops where the two halfs are of different sizes.
Do you trade futures and want to plot a waindrop with the first half for the overnight session and the second half for the cash session? you got it;
just adjust the period to 1860 for any CME ticker (like ES1! for example) adjust the histogram ticks and pixels and watch
• Full Session Volume Profile: chart with waindrops where only the first half plots.
Do you use Volume profile to analize the market? Lucky you, now you can trick this one to plot it, just try a period of 780 on SPY, 2760 on ES1!, or 2880 on EURUSD
remember to adjust the histogram ticks and pixels for each underlying
• Only Bars: charts with only central and vwap bars plotted, simply deactivate the histogram and volume labels
• Only Histogram: charts with only the histogram plotted (volume profile charts), simply deactivate the bars and volume labels
• Only Volume: charts with only the raw volume numbers plotted, simply deactivate the bars and histogram
If you wanna know more about custom full session periods for different asset classes, read the HELP INFO accessible from the settings panel
EXAMPLES
Full Session Volume Profile on MES 5m chart:
Full Session Unbalanced Waindrop on MNQ 2m chart (left side Overnight session, right side Cash Session):
The following examples will have the exact same charts but on four different tickers representing a futures contract, a forex pair, an etf and a stock.
We are doing this to be able to see the different parameters we need for plotting the same kind of chart on different assets
The chart composition is as follows:
• Left side: Volume Labels chart (period 10)
• Upper Right side: Waindrops (period 60)
• Lower Right side: Full Session Volume Profile
The first example will specify the main parameters, the rest of the charts will have only the differences
MES :
• Left: Period size: 10, Bars: uncheck, Histogram: uncheck, Execution window: 1, Ticks per bar: 2, Updates per period: EACH BAR,
Pixels per bar: 4, Volume labels: check, Track price: check
• Upper Right: Period size: 60, Bars: check, Bars color mode: HISTOGRAM, Histogram: check, Execution window: 2, Ticks per bar: 2,
Updates per period: EACH BAR, Pixels per bar: 4, Volume labels: uncheck, Track price: check
• Lower Right: Period size: 2760, Bars: uncheck, Histogram: check, Execution window: 1, Ticks per bar: 1, Updates per period: EACH BAR,
Pixels per bar: 2, Volume labels: uncheck, Track price: check
EURUSD :
• Upper Right: Ticks per bar: 10
• Lower Right: Period size: 2880, Ticks per bar: 1, Pixels per bar: 1
SPY :
• Left: Ticks per bar: 3
• Upper Right: Ticks per bar: 5, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 2, Pixels per bar: 2
AAPL :
• Left: Ticks per bar: 2
• Upper Right: Ticks per bar: 6, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 1, Pixels per bar: 2
█ THANKS TO
PineCoders for all they do, all the tools and help they provide and their involvement in making a better community
scarf for the idea of coding a waindrops like indicator, I did not know something like that existed at all
All the Pine Coders, Pine Pros and Pine Wizards, people who share their work and knowledge for the sake of it and helping others, I'm very grateful indeed
I'm learning at each step of the way from you all, thanks for this awesome community;
Opensource and shared knowledge: this is the way! (said with canned voice from inside my helmet :D)
█ NOTE
This description was formatted following THIS guidelines
═════════════════════════════════════════════════════════════════════════
I sincerely hope you enjoy reading and using this work as much as I enjoyed developing it :D
GOOD LUCK AND HAPPY TRADING!
Buscar en scripts para "ha溢价率"
Follow the Trend - Trade PullbacksKindly follow the rules stated below for entry, exit and stop loss. Not every Buy / Sell signal will be profitable.
Timeframe of the chart acts as current timeframe. You need to choose 2 more as middle and higher timeframes.
This indicator is based on candlesticks, ATR and CCI indicators and the logic provides buy / sell signals at the pullbacks of the trend depicted by higher timeframe, that must be respected throughout.
Enter the long / short trade respectively when the indicator gives buy / sell signal after price has gone below the green / above the red line for higher timeframe.
Stop loss shall be low / high of recent swing. Exit when the price closes below / above the middle timeframe, to be used as trailing target.
Use it for any instrument for any timeframe of your choice.
For example, check the shared chart. It is a 1 min intraday, but the indicator can be used for short or long term positional trades as well.
Enter long at 14102, with stop loss 14077. Trailing target is achieved at 14156 giving a Risk:Reward ratio of 1:2.
Another Buy signal is observed around same level and uptrend continues till day end, again for a Risk:Reward ratio of approx. 1:2.
Rules to follow for Long trades -
Enter long position at Buy signal given after price has moved below green line of higher timeframe.
Exit the position when price closes below orange / blue line of middle timeframe.
Stop loss must be at low of recent swing, appearing just before the Buy signal.
Rules to follow for Short trades -
Enter short position at Sell signal given after price has moved above red line of higher timeframe.
Exit the position when price closes above orange / blue line of middle timeframe.
Stop loss must be at high of recent swing, appearing just before the Sell signal.
MrBS:Directional Movement Index [Trend Friend]I started this project with the goal of making a DMI/ADX that was easy to read at a glance. Its since become a little more then just colouring the slopes. The majority of the time, the best returns come from trending markets (THE TREND IS YOUR FRIEND... until the end) and I hope this helps people become good friends with the trends.
----- Features
- A function to change the values used for calculation from real OHLC and Heikin Ashi. This allows us to look at different chart types but see the specific ADX we choose. Originally HA values were used for calculation since it is easier to see trend on HA charts. However when testing it was not as effective as the ADX calculated from the real values on normal charts. So the default function was flipped and real OHLC values are used as default.
- Two ADX plots so we can see two different smoothness's. With a smoothing of 2, a slight slow down in PA can cause a negative slope but the smoother ADX will stay trending unless its a major change. 2nd ADX is slightly transparent.
- There is an EMA of the main ADX that can be used as a exit signal filter. If the ADX starts going down but has not crossed the EMA we would stay in a trade.
- Plots (excluding EMA) are coloured based on positive or negative slopes.
- Fibonacci numbers have been used to create different trend levels, instead of the standard 25, 50, 100.
- Alerts for every useful situation to help save time and not have to manually enter levels or crosses each time.
- In the code there are 8 EMAs and 3 ADXs but it was too much so they have been slashed out, but are fully functional if you choose to activate and use them. To reactivate the 3rd ADX delete slashes on lines 50, 65, 78, 92-95, 165. The slashed out EMAs are much more obvious and easy to reactivate.
Colours:
ADX going up = Green
ADX going down = Red
DMI+ going up = Bright Aqua
DMI+ going down = Turquoise / Dark Aqua
DMI- going up = Bright Purple
DMI- going down = Dark Purple
EMA = White (50% transparent)
If there is anything that would be useful, let me know and I will add it in. I've already got some improvements/changes planned and some of my notes can be found in the code.
There is also a strategy to go with this indicator that will be uploaded very soon.
Long RSIThe RSI is a technical indicator generally used with the general setting being 14 days, and often shorter.
The accepted view is that a level of 70 indicates overbought conditions, and 30 indicates oversold conditions.
A short RSI setting will give signals quite often, and they might sometimes contradict each other.
As a individual investor, perhaps with a background in fundamental analysis, the RSI might be overlooked for other fundamental metrics.
But the idea here is that longer RSI settings can be used for investing.
The problem that arises is how to know when the indicator has reached a level that is either overbought or oversold.
This script solves that by using a specific look back period (selectable, but the standard is 1 year), and plotting the highest/lowest value that the RSI has had for that time period.
The idea is that a buy signal occurs when the indicator is at a 'historic' low, and a sell signal occurs when it at its 'historic' high.
Since you generally want to buy when the indicator is at its low, and has stopped decreasing, the script comes with a function that shows you when yesterdays value reached a historic low, but todays value is higher than yesterday.
This is shown by a color change of the background to green. The same is true, but opposite, for sell signals and then the background turns red.
THIS IS NOT TRADING ADVICE, AND YOU SHOULD ALWAYS DO YOUR OWN RESEARCH
GOOD LUCK AND HAPPY TRADING
CSPDMost Advanced & Accurate CandleStick Pattern Detector
Looking All Over of All Markets for All Important Powerful Reversal | Corrective Patterns (25 type)
Filtering the Results with Optional Features like Oscillator, Bollinger Bands, Volume Confirmation, Prior and Following Candles Confirmation which are Fully Customizable.
With this you can detect:
Hammer | Shooting star
Inverted Hammer | Hanging
Long legged Doji | Dragonfly Doji | Gravestone Doji
Bullish tweezers | Bearish tweezers
Bullish inside bar | Bearish inside bar
Bullish three line strike | Bearish three line strike
Bullish engulfing | Bearish engulfing
Piercing line | Dark cloud cover
Bullish abandoned baby | Bearish abandoned baby
Morning star | Evening star
Three white soldiers | Three black crows
*Bullish kayo | *Bearish kayo
Features:
Prior and Following candles Confirmation
You can set prior and following candle as basic prerequisites for marking candles as pattern to make sure you are at the top or bottom of the trend.
Volume confirmation
You can active volume increasing confirmation for some of pattern with adjustable increase % relative to prior candle | candles.
Oscillator Confirmation
Active oscillator confirmation. Select your approved oscillator from list (Stochastic, RSI, StochRSI, MFI, StochMFI) then enter desired value for marking candles as bullish | bearish pattern.
Bollinger Bands Confirmation
Active BB confirmation. Configure your Bollinger Bands. Now only see the patterns which reached or crossed from Bands. Also you can enable BB clod to have your BB indicator at the same time.
Adjustable Flexibility and Precision
You can set tolerance% for Osc and BB Confirmation - each one separately - for more control.
Self-adaptability
The properties of markets change over time, for example the amplitude of fluctuations and the intensity of movements. The script is designed in such a way that you can examine the price history as a benchmark for changes in market properties to adopt determinants. Also you can control those manually.
Self-regulatory
The user has the ability to change input factors depending on their point of view.
Behind the pattern recognition algorithms, there are relationships and similarities in their appearance that cause them to be influenced by each other. Simultaneously with changing the determining factors of each pattern by you, script automatically adjusts other details in accordance with your changes.
Alerts
You can set for type of pattern or each one of pattern have been detected.
Fully Costumizable
All of these options can be change and adjust.
Note 1.
The patterns are based on extensive study of reference and famous sources and the experience of me and my friends in trading and analysis with price action methods.
Note 2.
Due to the Pine limitations in the number of outputs | plots for each script, our attempt has been made to select the best and most important patterns.
Note 3.
So far, many scripts have been written in this field, but our experience with all of them and even the build in version was not satisfactory, and this was the initial motivation for making the script.
We strive to improve progress and elimination of shortcomings and we will continue to make this better.
Note 4.
Through personal experience and based on the principles of market and candlestick psychology, we discovered a new type of pattern and named it as Kayo.
kayo is a two candle pattern which formed when:
1.We have a pivot point with prior candles as left bars and following candles as right bar. Pivot candle called as second candle.
2.In a bullish kayo, first candle must closed descending and second candle must closed as ascending. For bearish kayo vise versa.
3.In a bullish kayo, second candle's lower wick must be longer then upper wick.
4. A pattern marked as kayo when its conditions do not correspond to any of the other patterns(include the confirmation that user added), ie it has the last naming priority over the other patterns.
Note 5.
When you active confirmation options for patterns like hammer, engulf and etc which they conditions are like kayo in some extent, if they can't pass the confirmation steps, they can be marked as kayo pattern.
Note 6.
If you active volume confirmation for Three white soldiers | Three black crows, the confirmation get passed if the volume of forth or third candle increased as value as entered relative to volume EMA3 of 3 candles.
Note 7.
In a bullish pattern all highs of following candles MUST be higher than prior highs and all lows of following candles MUST be higher than prior lows. For bearish patterns vise versa.
This type of confirmation depends on High and Low NOT close!
Gift to price action lovers!
Support us with your like and comments. let us know your experience, points and idea to make this better together.
888 BOT #alerts█ 888 BOT #alerts (open source)
This is an Expert Advisor 'EA' or Automated trading script for ‘longs’ and ‘shorts’, which uses only a Take Profit or, in the worst case, a Stop Loss to close the trade.
It's a much improved version of the previous ‘Repanocha’. It doesn`t use 'Trailing Stop' or 'security ()' functions (although using a security function doesn`t mean that the script repaints) and all signals are confirmed, therefore the script doesn`t repaint in alert mode and is accurate in backtest mode.
Apart from the previous indicators, some more and other functions have been added for Stop-Loss, re-entry and leverage.
It uses 8 indicators, (many of you already know what they are, but in case there is someone new), these are the following:
1. Jurik Moving Average
It's a moving average created by Mark Jurik for professionals which eliminates the 'lag' or delay of the signal. It's better than other moving averages like EMA , DEMA , AMA or T3.
There are two ways to decrease noise using JMA . Increasing the 'LENGTH' parameter will cause JMA to move more slowly and therefore reduce noise at the expense of adding 'lag'
The 'JMA LENGTH', 'PHASE' and 'POWER' parameters offer a way to select the optimal balance between 'lag' and over boost.
Green: Bullish , Red: Bearish .
2. Range filter
Created by Donovan Wall, its function is to filter or eliminate noise and to better determine the price trend in the short term.
First, a uniform average price range 'SAMPLING PERIOD' is calculated for the filter base and multiplied by a specific quantity 'RANGE MULTIPLIER'.
The filter is then calculated by adjusting price movements that do not exceed the specified range.
Finally, the target ranges are plotted to show the prices that will trigger the filter movement.
Green: Bullish , Red: Bearish .
3. Average Directional Index ( ADX Classic) and ( ADX Masanakamura)
It's an indicator designed by Welles Wilder to measure the strength and direction of the market trend. The price movement is strong when the ADX has a positive slope and is above a certain minimum level 'ADX THRESHOLD' and for a given period 'ADX LENGTH'.
The green color of the bars indicates that the trend is bullish and that the ADX is above the level established by the threshold.
The red color of the bars indicates that the trend is down and that the ADX is above the threshold level.
The orange color of the bars indicates that the price is not strong and will surely lateralize.
You can choose between the classic option and the one created by a certain 'Masanakamura'. The main difference between the two is that in the first it uses RMA () and in the second SMA () in its calculation.
4. Parabolic SAR
This indicator, also created by Welles Wilder, places points that help define a trend. The Parabolic SAR can follow the price above or below, the peculiarity that it offers is that when the price touches the indicator, it jumps to the other side of the price (if the Parabolic SAR was below the price it jumps up and vice versa) to a distance predetermined by the indicator. At this time the indicator continues to follow the price, reducing the distance with each candle until it is finally touched again by the price and the process starts again. This procedure explains the name of the indicator: the Parabolic SAR follows the price generating a characteristic parabolic shape, when the price touches it, stops and turns ( SAR is the acronym for 'stop and reverse'), giving rise to a new cycle. When the points are below the price, the trend is up, while the points above the price indicate a downward trend.
5. RSI with Volume
This indicator was created by LazyBear from the popular RSI .
The RSI is an oscillator-type indicator used in technical analysis and also created by Welles Wilder that shows the strength of the price by comparing individual movements up or down in successive closing prices.
LazyBear added a volume parameter that makes it more accurate to the market movement.
A good way to use RSI is by considering the 50 'RSI CENTER LINE' centerline. When the oscillator is above, the trend is bullish and when it is below, the trend is bearish .
6. Moving Average Convergence Divergence ( MACD ) and ( MAC-Z )
It was created by Gerald Appel. Subsequently, the histogram was added to anticipate the crossing of MA. Broadly speaking, we can say that the MACD is an oscillator consisting of two moving averages that rotate around the zero line. The MACD line is the difference between a short moving average 'MACD FAST MA LENGTH' and a long moving average 'MACD SLOW MA LENGTH'. It's an indicator that allows us to have a reference on the trend of the asset on which it is operating, thus generating market entry and exit signals.
We can talk about a bull market when the MACD histogram is above the zero line, along with the signal line, while we are talking about a bear market when the MACD histogram is below the zero line.
There is the option of using the MAC-Z indicator created by LazyBear, which according to its author is more effective, by using the parameter VWAP ( volume weighted average price ) 'Z-VWAP LENGTH' together with a standard deviation 'STDEV LENGTH' in its calculation.
7. Volume Condition
Volume indicates the number of participants in this war between bulls and bears, the more volume the more likely the price will move in favor of the trend. A low trading volume indicates a lower number of participants and interest in the instrument in question. Low volumes may reveal weakness behind a price movement.
With this condition, those signals whose volume is less than the volume SMA for a period 'SMA VOLUME LENGTH' multiplied by a factor 'VOLUME FACTOR' are filtered. In addition, it determines the leverage used, the more volume , the more participants, the more probability that the price will move in our favor, that is, we can use more leverage. The leverage in this script is determined by how many times the volume is above the SMA line.
The maximum leverage is 8.
8. Bollinger Bands
This indicator was created by John Bollinger and consists of three bands that are drawn superimposed on the price evolution graph.
The central band is a moving average, normally a simple moving average calculated with 20 periods is used. ('BB LENGTH' Number of periods of the moving average)
The upper band is calculated by adding the value of the simple moving average X times the standard deviation of the moving average. ('BB MULTIPLIER' Number of times the standard deviation of the moving average)
The lower band is calculated by subtracting the simple moving average X times the standard deviation of the moving average.
the band between the upper and lower bands contains, statistically, almost 90% of the possible price variations, which means that any movement of the price outside the bands has special relevance.
In practical terms, Bollinger bands behave as if they were an elastic band so that, if the price touches them, it has a high probability of bouncing.
Sometimes, after the entry order is filled, the price is returned to the opposite side. If price touch the Bollinger band in the same previous conditions, another order is filled in the same direction of the position to improve the average entry price, (% MINIMUM BETTER PRICE ': Minimum price for the re-entry to be executed and that is better than the price of the previous position in a given %) in this way we give the trade a chance that the Take Profit is executed before. The downside is that the position is doubled in size. 'ACTIVATE DIVIDE TP': Divide the size of the TP in half. More probability of the trade closing but less profit.
█ STOP LOSS and RISK MANAGEMENT.
A good risk management is what can make your equity go up or be liquidated.
The % risk is the percentage of our capital that we are willing to lose by operation. This is recommended to be between 1-5%.
% Risk: (% Stop Loss x % Equity per trade x Leverage) / 100
First the strategy is calculated with Stop Loss, then the risk per operation is determined and from there, the amount per operation is calculated and not vice versa.
In this script you can use a normal Stop Loss or one according to the ATR. Also activate the option to trigger it earlier if the risk percentage is reached. '% RISK ALLOWED' wich is calculated according with: '%EQUITY ON EACH ENTRY'. Only works with Stop Loss on 'NORMAL' or 'BOTH' mode.
'STOP LOSS CONFIRMED': The Stop Loss is only activated if the closing of the previous bar is in the loss limit condition. It's useful to prevent the SL from triggering when they do a ‘pump’ to sweep Stops and then return the price to the previous state.
█ ALERTS
There is an alert for each leverage, therefore a maximum of 8 alerts can be set for 'long' and 8 for 'short', plus an alert to close the trade with Take Profit or Stop Loss in market mode. You can also place Take Profit limit and Stop Loss limit orders a few seconds after filling the position entry order.
- 'MAXIMUM LEVERAGE': It is the maximum allowed multiplier of the % quantity entered on each entry for 1X according to the volume condition.
- 'ADVANCE ALERTS': There is always a time delay from when the alert is triggered until it reaches the exchange and can be between 1-15 seconds. With this parameter, you can advance the alert by the necessary seconds to activate it earlier. In this way it can be synchronized with the exchange so that the execution time of the entry order to the position coincides with the opening of the bar.
The settings are for Bitcoin at Binance Futures (BTC: USDTPERP) in 15 minutes.
For other pairs and other timeframes, the settings have to be adjusted again. And within a month, the settings will be different because we all know the market and the trend are changing.
Daily GAP StatsI did not write the script from scratch but rather started editing code of an existing one. The original code came from a script called GAP DETECTOR by @Asch-
First up: I am a trader, not a programmer and therefore my code most likely is inefficient. If someone with more expertise would like to help and optimize it - feel free to get in touch, I am always happy to learn some new tricks. :)
This script does 2 things:
- It shows daily gaps stats based on user inputs
- It shows color coded labels on gap days with additional information in tooltips ( important: make sure to read 'known issues/limitations' at the end )
User Inputs
==========
Although the input dialog is pretty straight forward, I do a quick rundown:
- Length: max lookback time
- Gap Direction: self explanatory
- Show All Gaps | Cont Only | Reversal Only | Off:
This refers to the way labels are displayed on gap days (again: make sure to read known issues/limitations!)
- Show All Gaps: does what it says
- Cont Only: only shows gaps where price continued in the gap direction. If you filter for gap ups and chose 'Cont only' you will only see labels on gap days where price closed above the open (and vice versa if you scan for gap downs).
- Reversal Only: you will only see labels for closes below the open on gap up days (and the opposite on gap down days)
- Off: self explanatory
- Gap Measure in ATR/PCT: self explanatory, ATR is calculated over a 10d period
- Gap Size (Abs Values): no negative values allowed here. If you filter for gap downs and enter 3 it means it will show gaps where the stock fell more than 3 ATR/PCT on the open.
- RVOL Factor: along with significant gaps should come significant volume. RVOL = volume of the gap day / 20d average volume
- Viewing Options: Placing the stats label in the window is a bit tricky (see knonw issues/limitations) and I was not sure which way I liked better. See for yourself what works best for you.
Known Isusses/Limitations:
=======================
- Positioning of the stats table:
As to my knowledge, Tradingview only allows label positioning relative to price and not relative to the chart window. I tried to always display the gap stats table in the upper right corner, using 52wk high as y-coordinate. This works ok most of the time, but is not pretty. If anybody has some fancy way to tag the label in a fixed position, please get in touch.
- Max number of labels per script:
TradingView has a limitation that allows a maxium of ~50 labels per script. If there are more labels, TradingView will automatically cut the oldest ones, without any notification. I have found this behaviour to be rather inconsistent - sometimes it'll dump labels even if there are a lot fewer than 50. Hopefully TradingView will drop this limitation at one point in the future.
Important: The inconsistent display of the gap day labels has NO INFLUENCE on the calculations in the gap stats table - the count and the calculations are complete and correct!
Hull FisherThis strategy has a Fisher-Transform indicator applied to the highs and lows of a Hull moving average instead of the price. It also has a Commodity Channel Index to help with entry/exit. Each part of the strategy can be turned on and off, for example turn off CCI or HMA so they are not used in the order opening/exiting. The base of the strategies entry and exit logic is the fisher transform line, if it crosses over outside the lines or either side of zero (adjustable in settings).
This example on ETHBTC Daily chart has common crypto exchange commission 0.25% added. Please adjust that setting to suit your pair/broker. For example a Forex pair does not have that much commission so reduce it for Forex charts.
Can be applied to any time frame or trading instrument.
FOMO DRIVEN DEVELOPMENT OPTIONS RETICLE Options Reticle caters to degenerate traders and gamblers worldwide, reaching out for long distant contract expiration and just OTM strike placement.
Generate the overlay yourself using the tradingview-options-reticle CLI tool found on GitHub.
The Options Reticle provides a targeting system overlay that will show a horizontal OTM strike price and verticle expiration target. If you're thinking as soon as the expiration date has passed, this overlay will be useless; you're right but, you can use the options-reticle CLI tool to generate a new overlay from a watchlist exported from TradingView.
OVERLAY FEATURES:
Quick Action PUT (QAP) Mode - When you flip the chart by adding a 0- in front of the symbol, you will see the PUT contract target. Strike Price / Expiration Crosshairs.
Fill Mode - Shows a fill between the historical price and the target strike price. It will show green when ITM and red when OTM. Target information panel - Shows the company name, days till expiration, month and day of expiration, strike price, dollars OTM or ITM, and the contract type.
Emotion Indicator - Shows an exact representation of your feelings based on if you were in the trade. It has an accuracy of 99.9 percent.
QUICK ACTION PUT (QAP) MODE :
This style of reticle is not visible until you flip the chart. The advantage of the (QAP) is that it maintains the same appearance as the standard style of reticle, making PUT contract targeting feel the same. When targeting with (QAP) mode, be aware that the chart prices are reversed. Up is down, and down is up; this can be confusing but will feel normal overtime. Activate QAP mode by appending a 0- to the symbol of the chart. If nothing appears, no put option data was found for that symbol.
CALIBRATING YOUR RETICLE :
The overlay is generated using the options-reticle CLI tool found on GitHub. The adjustment script will parse a watchlist exported from TradingView then download options data for each ticker in the watchlist. The max amount of symbols you can add to a single overlay is about 200. Any more than 200 and the overlay will crash. Luckily, If you use a TradingView watchlist with more than 200 ticker symbols to generate overlays, the options-reticle command-line tool will automatically create multiple overlays with 200 tickers each. You can add multiple overlays to your chart to get all the tickers in the watchlist.
RETICLE GENERATION AND MOUNTING :
Add all the tickers you want to track into a watchlist on Tradingview.
Export the watchlist into a txt file using TradingView's watchlist export list button.
Open the terminal and change to the directory with the downloaded watchlist txt file.
Install options-reticle command tool with pipx. pipx install tradingview-options-reticle.
Run the command options-reticle download --watchlist {name of watchlist.txt file}. This will download the options data to an options_data.toml in the same directory as the watchlist txt file.
Run the command options-reticle build --options-data-input-path options_data.toml. This will generate the overlay scripts. If the watch list has more than 200 ticker symbols, it will generate a separate overlay script for every 200 ticker symbol chunk.
Copy and paste each of the generated overlay scripts one at a time into the Pine Editor on TradingView, then click the Add to Chart button. Make sure you copy the entire code.
FUTURE FEATURES :
Give the choice to generate PUT option contracts without using QAP mode. This option will allow you to use the input settings to change the contract type without flipping the chart.
Max OTM target argument - This will allow the option-reticle CLI to generate overlays with deeper OTM contracts. It currently only searches for the first OTM contract.
Add the ability to change the crosshair line type.
Configurable BB+RSI+Aroon strategy backtest for binary optionsI wanted to share this strategy that I use myself for binary options trading. After trading binary options for several years I have learned that every single day is unique... assets behave differently every single day. So, when I start the day I want to know which is the optimum combination of parameters in my indicators that will give me the signals I want during the day and I get that by doing a quick backtest of the parameters combination in a specific asset that same day. When trading Binary Options I usually do 3 or 4 trades max per day and, yes, there are moments in which even with the right backtest data the signals fail (I strongly believe that there is no strategy that guarantees 100% success in any type of trade, and this one here is not an exception - but has worked well with some assets). So, here is my contribution to improve your productivity by automating a bit that backtesting part.
How this script works?
It is a simple price crossunder / crossover Bollinger Bands (BB) with a confirmation from RSI overbought / oversold signals and a fast Aroon. You will see the BB plotted with its confirmations:
(1) a blue circle that plots in the chart when the price is coming back inside the channel (within the Bollinger Bands)
(2) an orange square that plots in the chart when the RSI is coming back from the overbought or oversold areas
(3) a triangle that could be red or green depending on the Aroon confirmation: Red if Aroon Down is crossing down Aroon Up or green if vice versa.
The strategy will call for long (Call) if:
(1) the price is crossing over the lower band of the Bollinger Bands, coming back inside the channel
(2) Aroon Up is crossing or has crossed above Aroon Down
(3) RSI is crossing over the oversold limit
Consequently, the strategy will call for a short (Put) if:
(1) the price is crossing down the upper band of the Bollinger Bands, coming back inside the channel
(2) Aroon Down is crossing or has crossed below Aroon Up
(3) RSI is crossing under the overbought limit
You can configure:
1. Aroon length (keep it as fast as possible: 3, 4 or 5 are recommended values)
2. The point where Aroon Up and Aroon Down cross to make the signal valid (50 is by default. It could also be 25 or 75)
3. The RSI length
4. RSI Overbought and Oversold limits (they do not need to be symmetric: you can use 29 and 93, for example)
5. Bollinger Bands length and standard deviation
6. Number of bars to keep your option open. Depending on the timeframe used, this will determine the time you will keep your binary option open. If you are in a 1 min chart and keep this parameter in 3, then you will need to configure your binary option to expire in 3 minutes.
How to evaluate your backtest?
In Binary Options you only need the success rate, so what I do is that when I am manually updating the parameters I keep my strategy tester window open checking the winning trades vs losing trades ratio ("Percent Profitable"). I personally will only keep an asset monitored looking for signals that day if the Percent Profitable on the backtest of the same day is above 80%.
Regarding the code: it is open, public and free. No need to ask for permission if you want to copy+paste and use it in whole or parts.
Happy pip hunting!
-marco
Pi-cycle top for Bitcoin bull-runUsage
Whenever the Pi-Cycle top conditions are met, the red circle appears at the bottom of the chart. Theoretically, this marks the top of the bull-run in Bitcoin within 3 days.
Credit and overview
Indicator Overview
The Pi Cycle Top Indicator has historically been effective in picking out the timing of market cycle highs to within 3 days.
It uses the 111 day moving average (111DMA) and a newly created multiple of the 350 day moving average, the 350DMA x 2.
Note: The multiple is of the price values of the 350DMA not the number of days.
For the past three market cycles, when the 111DMA moves up and crosses the 350DMA x 2 we see that it coincides with the price of Bitcoin peaking.
It is also interesting to note that 350 / 111 is 3.153, which is very close to Pi = 3.142. In fact, it is the closest we can get to Pi when dividing 350 by another whole number.
It once again demonstrates the cyclical nature of Bitcoin price action over long time frames. Though in this instance it does so with a high degree of accuracy over the past 7 years.
How It Can Be Used
Pi Cycle Top is useful to indicate when the market is very overheated. So overheated that the shorter term moving average, which is the 111 day moving average, has reached a x2 multiple of the 350 day moving average. Historically it has proved advantageous to sell Bitcoin at this time in Bitcoin’s price cycles.
Created By Philip Swift
Using The AM/GM Inequality To Estimate VolatilityA volatility indicator derived from the AM/GM inequality. I don't think it will be necessary to describe the usage and interpretation of such indicator, and I don't think it is super useful, however, this is not the case of the script, which contains three ways to compute the geometric mean, with a classic, a simple, and an efficient way. The AM/GM inequality is also a really interesting concept, and I'll try to"prove" it in this post by using DSP. I also added more comments in the script in order to highlight some stuff.
The AM/GM Inequality
When we talk about the mean, we are referring to the "arithmetic" one by default, but there exist more types of means. Two other ones include the "geometric" and "harmonic" means, both are part of the Pythagorean means with the arithmetic mean.
Each one of them as several properties, but the most interesting aspect is their inequality, that is:
HM <= GM <= AM
The arithmetic mean is the one with the highest value, while the harmonic mean is the one with the lowest value. In the case each data point is equal to each other, all the means have the same value.
In our case, the inequality of interest is the inequality between the geometric and arithmetic mean, where the geometric mean is lower or equal than the arithmetic one. Many proofs/explanations exist, I'll try my version using DSP, where instead of thinking about means, we think about rolling means, which allows us to interpret them as low-pass filters. So we end up having the geometric moving average (GMA) and arithmetic moving average (SMA).
We know that GMA <= SMA , the SMA has a unity passband, this implies that the GMA has a passband lower than 1 (for non-equal input values), this explains why the GMA is smaller than the SMA. In order for a FIR filter to have a passband lower than 1, the sum of the filter coefficients must be lower than 1. In order to further proves this consider the following equation:
sqrt(a×b) = k×a + k×b
Here sqrt(a×b) is the geometric mean of a and b , the right-hand side of the equation is a weighted sum between a and b and coefficient k , we want to solve the equation with respect to k , if k×2 < 1 then we have the proof that GMA < SMA . The solution with respect to k is:
k = sqrt(a×b)/(a+b)
which always gives a number lower than 0.5, as such k×2 < 1 and thus the passband is lower than 1. If our input values are equal to each other, we end up with the following solution for k :
k = sqrt(a×a)/(a+a) = a/(2×a) = 0.5
as such the GMA has the coefficients of an SMA as long as the input values are equal to each other.
Because of this inequality, we can subtract the SMA to a GMA and take the square root of the result in order to have a volatility indicator, however, both moving averages are still pretty close to each other, which gives a very small result for the indicator.
Uwu I am a bit tired, better indicators coming up
Mean Deviation Detector - Throw Out All Other IndicatorsI set out this morning to create a script that searches out price moves that went too far too fast relative to historical pricing, given that such situations often result in the most profitable trading opportunities. I came up with the mean deviation detector. This script should be used as a means of judging how far a price is trading, in percent terms, from it's "average trading zone".
This is extremely helpful in a couple scenarios.
First, it can be used to judge a move's volatility relative to it's previous volatility. Put simply, a 5% move in the stock of Coca Cola is a lot more meaningful than a 5% move in the stock of Tesla, and the detector puts moves into historical (visual) perspective.
Second, the indicator can be used in real time as a means of determining when the chances of mean reversion are high or low. Extreme values are unsustainable and often lead to EITHER A.) price mean reversion or B.) time mean reversion. Put simply, prices either went too far and are due to fall back to a historical mean, or they need more time to digest a potentially new pricing zone.
Without getting too deep into volume profile analysis, the MDD can be a simple way of telling that a stock has moved into an "air pocket", where prices will either come back to the previous volume node (price mean reversion) or set up shop in a new, uncharted area (time mean reversion).
An extreme value doesn't always mean a trading opportunity, but it means that something interesting is happening in the stock / instrument.
I use this indicator to help me trade covered calls. Lots of high yielding weekly opportunities are stocks that have moved too far too fast, and I like to use this indicator as a means of either a.) scooping up stocks that have gotten beat up from a historical mean perspective & have likely seen the risk already "beaten" out of them, or to b.) stay away from stocks that have a very high chance of price correcting lower. In situations where I say that the risk has been "beaten" out of something, it doesn't mean that the stock won't continue to fall, it simply means that the degree and acceleration of the fall has peaked and that risk premiums in selling options will / should easily pay for continued losses. In the event that it's a price correction and not a time correction, you also increase your bat rate because you get auto-liquidated at a max profit. It's a really valuable tool in my kit.
You can also feel free to put a Keltner Chanel overlay onto the MDD to filter out noise, identify "extreme" values, and place mean reversion trades if you expect price mean reversion is likely, if you want to use this as the basis of a proper trading strategy. For a high extreme value, you could sell short term OTM call spreads, for example.
The MDD is adaptable to your own trading style & preferences.
QuantNomad - Heikin-Ashi PSAR StrategyContinue experimenting with different combinations of strategies.
Here is the PSAR Strategy calculated based on HA candles. HA is already calculated inside the script, do not apply it to HA candles.
Strategy is calculated based on 25% equity invested with 0.1% commission.
####################
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Bitcoin Block Height (Total Blocks)Bitcoin Block Height by RagingRocketBull 2020
Version 1.0
Differences between versions are listed below:
ver 1.0: compare QUANDL Difficulty vs Blockchain Difficulty sources, get total error estimate
ver 2.0: compare QUANDL Hash Rate vs Blockchain Hash Rate sources, get total error estimate
ver 3.0: Total Blocks estimate using different methods
--------------------------------
This indicator estimates Bitcoin Block Height (Total Blocks) using Difficulty and Hash Rate in the most accurate way possible, since
QUANDL doesn't provide a direct source for Bitcoin Block Height (neither QUANDL:BCHAIN, nor QUANDL:BITCOINWATCH/MINING).
Bitcoin Block Height can be used in other calculations, for instance, to estimate the next date of Bitcoin Halving.
Using this indicator I demonstrate:
- that QUANDL data is not accurate and differ from Blockchain source data (industry standard), but still can be used in calculations
- how to plot a series of data points from an external csv source and compare it with another source
- how to accurately estimate Bitcoin Block Height
Features:
- compare QUANDL Difficulty source (EOD, D1) with external Blockchain Difficulty csv source (EOD, D1, embedded)
- show/hide Quandl/Blockchain Difficulty curves
- show/hide Blockchain Difficulty candles
- show/hide differences (aqua vertical lines)
- show/hide time gaps (green vertical lines)
- count source differences within data range only or for the whole history
- multiply both sources by alpha to match before comparing
- floor/round both matched sources when comparing
- Blockchain Difficulty offset to align sequences, bars > 0
- count time gaps and missing bars (as result of time gaps)
WARNING:
- This indicator hits the max 1000 vars limit, adding more plots/vars/data points is not possible
- Both QUANDL/Blockchain provide daily EOD data and must be plotted on a daily D1 chart otherwise results will be incorrect
- current chart must not have any time gaps inside the range (time gaps outside the range don't affect the calculation). Time gaps check is provided.
Otherwise hardcoded Blockchain series will be shifted forward on gaps and the whole sequence become truncated at the end => data comparison/total blocks estimate will be incorrect
Examples of valid charts that can run this indicator: COINBASE:BTCUSD,D1 (has 8 time gaps, 34 missing bars outside the range), QUANDL:BCHAIN/DIFF,D1 (has no gaps)
Usage:
- Description of output plot values from left to right:
- c_shifted - 4x blockchain plotcandles ohlc, green/black (default na)
- diff - QUANDL Difficulty
- c_shifted - Blockchain Difficulty with offset
- QUANDL Difficulty multiplied by alpha and rounded
- Blockchain Difficulty multiplied by alpha and rounded
- is_different, bool - cur bar's source values are different (1) or not (0)
- count, number of differences
- bars, total number of bars/data points in the range
- QUANDL daily blocks
- Blockchain daily blocks
- QUANDL total blocks
- Blockchain total blocks
- total_error - difference between total_blocks estimated using both sources as of cur bar, blocks
- number_of_gaps - number of time gaps on a chart
- missing_bars - number of missing bars as result of time gaps on a chart
- Color coding:
- Blue - QUANDL data
- Red - Blockchain data
- Black - Is Different
- Aqua - number of differences
- Green - number of time gaps
- by default the indicator will show lots of vertical aqua lines, 138 differences, 928 bars, total error -370 blocks
- to compare the best match of the 2 sources shift Blockchain source 1 bar into the future by setting Blockchain Difficulty offset = 1, leave alpha = 0.01 =>
this results in no vertical aqua lines, 0 differences, total_error = 0 blocks
if you move the mouse inside the range some bars will show total_error = 1 blocks => total_error <= 1 blocks
- now uncheck Round Difficulty Values flag => some filled aqua areas, 218 differences.
- now set alpha = 1 (use raw source values) instead of 0.01 => lots of filled aqua areas, 871 differences.
although there are many differences this still doesn't affect the total_blocks estimate provided Difficulty offset = 1
Methodology:
To estimate Bitcoin Block Height we need 3 steps, each step has its own version:
- Step 1: Compare QUANDL Difficulty vs Blockchain Difficulty sources and estimate error based on differences
- Step 2: Compare QUANDL Hash Rate vs Blockchain Hash Rate sources and estimate error based on differences
- Step 3: Estimate Bitcoin Block Height (Total Blocks) using different methods in the most accurate way possible
QUANDL doesn't provide block time data, but we can calculate it using the Hash Rate approximation formula:
estimated Hash rate/sec H = 2^32 * D / T, where D - Difficulty, T - block time, sec
1. block time (T) can be derived from the formula, since we already know Difficulty (D) and Hash Rate (H) from QUANDL
2. using block time (T) we can estimate daily blocks as daily time / block time
3. block height (total blocks) = cumulative sum of daily blocks of all bars on the chart (that's why having no gaps is important)
Notes:
- This code uses Pinescript v3 compatibility framework
- hash rate is in THash/s, although QUANDL falsely states in description GHash/s! THash = 1000 GHash
- you can't read files, can only embed/hardcode raw data in script
- both QUANDL and Blockchain sources have no gaps
- QUANDL and Blockchain series are different in the following ways:
- all QUANDL data is already shifted 1 bar into the future, i.e. prev day's value is shown as cur day's value => Blockchain data must be shifted 1 bar forward to match
- all QUANDL diff data > 1 bn (10^12) are truncated and have last 1-2 digits as zeros, unlike Blockchain data => must multiply both values by 0.01 and floor/round the results
- QUANDL sometimes rounds, other times truncates those 1-2 last zero digits to get the 3rd last digit => must use both floor/round
- you can only shift sequences forward into the future (right), not back into the past (left) using positive offset => only Blockchain source can be shifted
- since total_blocks is already a cumulative sum of all prev values on each bar, total_error must be simple delta, can't be also int(cum()) or incremental
- all Blockchain values and total_error are na outside the range - move you mouse cursor on the last bar/inside the range to see them
TLDR, ver 1.0 Conclusion:
QUANDL/Blockchain Difficulty source differences don't affect total blocks estimate, total error <= 1 block with avg 150 blocks/day is negligible
Both QUANDL/Blockchain Difficulty sources are equally valid and can be used in calculations. QUANDL is a relatively good stand in for Blockchain industry standard data.
Links:
QUANDL difficulty source: www.quandl.com
QUANDL hash rate source: www.quandl.com
Blockchain difficulty source (export data as csv): www.blockchain.com
[PX] External LevelHello everyone,
today I'd like to share a script, which enables you to use external logic to plot levels on your chart.
How does it work?
The concept is based on two scripts. One script, which uses an external input as a trigger to print a new level and one script that calculates an output, which will be fetched.
Sounds complicated? It really is not! Let's take a closer look.
// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © paaax
//@version=4
study("RSI OS/OB")
l = input(14, "RSI Length")
ob = input(70, "Overbought")
os = input(30, "Oversold")
r = rsi(close, l)
hline(ob)
hline(os)
plot(r, "RSI", color=color.orange)
// The following plot produces an output, which will be fetched the "External Level"-script.
// It evaluates to one of the following three values: 1.0, -1.0 or 0.0
plot(crossover(r, ob) ? 1.0 : crossunder(r, os) ? -1.0 : 0.0, "Output", transp=100)
The example script above uses an RSI and two threshold levels (70 and 30). The logic here is, that whenever the RSI is crossing down the lower threshold or crossing up the upper threshold we'd consider the current movement to be either oversold or overbought. Therefore, it's a point of interest, which we could visualize with a level.
The script creates an output when the crossover or crossunder of a threshold happens. A crossover would result in a value of 1.0, a crossunder in a value of -1.0. In all other cases the value would be 0.0.
The output of the RSI script would then be used as an input of the External Level script, which has a "Source"-parameter in its input-section. If the fetched input shows 1.0, then the script prints a resistance level. If it shows -1.0 a support level will be printed. And that's basically it. A very simple approach to print levels on your chart with an infinite number of use cases.
For example, you could use fetch outputs from a MACD script, MA script, outputs based on volume or price movement. Just remember the output has to evaluate to either 1.0 or -1.0 and has to be selected in the input-section.
Hope that might be useful to some of you :)
Please click the "Like"-button and follow me for future open-source script publications.
If you are looking for help with your custom PineScript development, don't hesitate to contact me directly here on Tradingview or through the link in my signature :)
Price Action Trading System v0.3 by JustUncleL with modifcationsThe base of this script is the Price Action Trading System from JustUncle .
I have first combined it with script ADX and DI by BeikabuOyaji to indicate when the +DI is above the -DI and the ADX is above 20. This is represented by crosses at the top of the page: green indicating that the +DI is above the -DI and ADX above 20, and red if -DI is above the +DI and ADX above 20. If the ADX is increasing in slope while the +DI is above the -DI, an up green arrow is shown at the bottom of the page, indicating an increase in this trend, and the slope of the ADX is increasing and the -DI is above the +DI, a down arrow is shown at the bottom. One could think to a green cross with a green up arrow as a potential buy opportunity, and a red cross with a red down arrow as a potential sell opportunity.
Next, I have combined this script with the Indicator: WaveTrend Oscillator from Lazybear . If the oscillator has readings below -45 and the slope of the line is increasing, a green diamond appears above the chart. This indicates a potential buy opportunity. If the oscillator has readings above 50 and the slope of the line is decreasing, a red diamond appears above the chart. This indicates a potential sell opportunity. Now if the slope of the oscillator is rising significantly but does not hit the -45 threshold to start its increase, but is negative in value, a green flag appears at the top of the page. This represents a potential buy opportunity. If the slope of the oscillator is significantly decreasing and is positive in value, a red flag appears at the bottom of the page. This represents a potential sell opportunity.
The base of this script, the Price Action Trading System v0.3 by JustUncle , has many of its own features that I have kept. If the MACD is positive, the background colour is green. If it is negative, the colour is red. If the CCI and RSI indicate an oversold opportunity and the MACD is positive, you get an up olive arrow below the chart. If they indicate an overbought opportunity and the MACD is negative, you get a red down arrow above the chart. If the CCI value stays oversold after a green arrow, the candle chart turns turquoise, and if overbought, turns black after a red arrow.
You can use these indicators in combination to help you with your trading strategy.
CPR - VSD_TamizhTrader DAY/WEEK/MONTH/YEAR1. CPR FOR DAY/WEEK/MONTH/YEAR HAS BEEN CODED
2. IT HAS OFFSET FOR TOMORROW CPR LEVELS (HAS TO BE ADJUSTED IN INDICATOR SETTINGS DEPENDING ON TIME FRAME)
3. UNIQUE AS I DID NOT FIND A CPR FOR ALL TIME FRAMES
4. USEFUL FOR BEGINNERS
VAMA Volume Adjusted Moving AverageRichard Arms' Volume Adjusted Moving Average
Settings:
• Inp Avg Vol: Input - Purist method but not intended for live analysis, to retroactively alter MA curve enter Avg Vol from value shown on label into Use Avg Vol field.
• Inp Avg Vol: Current - Live method using current volume , to retroactively alter past MA curve toggle any setting back and forth to force recalculation.
• Inp Avg Vol: Subset - Similar to Current, but uses a subset rather than all bars for avg vol.
• Use Avg Vol - Used for Inp Avg Vol: Input mode. Enter volume from Avg Vol label here after each new bar closes, label will turn green, else red.
• Subset Data - Lookback length used for Inp Avg Vol: Subset mode.
• VAMA Length - Specified number of volume ratio buckets to be reached.
• Volume Incr - Size of volume ratio buckets.
• VAMA Source - Price used for volume weighted calculations.
• VAMA Strict - Must meet desired volume requirements, even if N bars has to exceed VAMA Length to do it.
• Show Avg Vol Label - Displays label on chart of total chart volume.
Notes: VAMA was created by Richard Arms. It utilizes a period length that is based on volume increments rather than time. It is an unusual indicator in that it cannot be used in some platforms in realtime mode as Arms had originally intended. VAMA requires that the average volume first be calculated for the entire chart duration, then that average volume is used to derive the variable adaptive length of the moving average. The consequence of this is that with each new bar, the new average volume alters the moving average period for the entire history. Since Pine scripts evaluate all historical bars only once upon initial script execution, there is no way to automatically shift the previous moving average values retroactively once a new bar has formed. Thus the historical plot of the moving average cannot be updated in realtime, but instead can only plot through previous bar that existed upon load or reinitialization through changing some setting.
Setting Use Avg Vol to Input mode the average volume through previous bar shown in label can be entered (input) into the Inp Avg Vol setting after each new bar closes. Entering this total chart volume forces the script to reevaluate historical bars which in turn allows the historical moving average to update the plot. When using Input mode the color of the label is green when Inp Avg Vol value matches current label value, the label color red signifies Inp Avg Vol value has not been entered or is stale.
Setting Use Avg Vol to Current mode allows the script to correctly calculate and plot the correct moving average upon initial load and the realtime moving average moving forward, but can not retroactively alter the plot of the past moving average unless some change is made in the script settings, such as toggling the Use Avg Vol from Current to some other choice and then back to Current .
Setting Use Avg Vol to Subset mode uses a rolling window of volume data to calculate the average volume and can be used in realtime, but should be noted it is a deviation from Richard Arms' original specification.
VAMA info: "Trading Without Fear" by Richard W Arms, Jr, www.fidelity.com
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!
Weis pip zigzag jayyWhat you see here is the Weis pip zigzag wave plotted directly on the price chart. This script is the companion to the Weis pip wave ( ) which is plotted in the lower panel of the displayed chart and can be used as an alternate way of plotting the same results. The Weis pip zigzag wave shows how far in terms of price a Weis wave has traveled through the duration of a Weis wave. The Weis pip zigzag wave is used in combination with the Weis cumulative volume wave. The two waves must be set to the same "wave size".
To use this script you must set the wave size. Using the traditional Weis method simply enter the desired wave size in the box "Select Weis Wave Size" In this example, it is set to 5. Each wave for each security and each timeframe requires its own wave size. Although not the traditional method a more automatic way to set wave size would be to use ATR. This is not the true Weis method but it does give you similar waves and, importantly, without the hassle described above. Once the Weis wave size is set then the pip wave will be shown.
I have put a pip zigzag of a 5 point Weis wave on the bar chart - that is a different script. I have added it to allow your eye to see what a Weis wave looks like. You will notice that the wave is not in straight lines connecting wave tops to bottoms this is a function of the limitations of Pinescript version 1. This script would need to be in version 4 to allow straight lines. There are too many calculations within this script to allow conversion to Pinescript version 4 or even Version 3. I am in the process of rewriting this script to reduce the number of calculations and streamline the algorithm.
The numbers plotted on the chart are calculated to be relative numbers. The script is limited to showing only three numbers vertically. Only the highest three values of a number are shown. For example, if the highest recent pip value is 12,345 only the first 3 numerals would be displayed ie 123. But suppose there is a recent value of 691. It would not be helpful to display 691 if the other wave size is shown as 123. To give the appropriate relative value the script will show a value of 7 instead of 691. This informs you of the relative magnitude of the values. This is done automatically within the script. There is likely no need to manually override the automatically calculated value. I will create a video that demonstrates the manual override method.
What is a Weis wave? David Weis has been recognized as a Wyckoff method analyst he has written two books one of which, Trades About to Happen, describes the evolution of the now popular Weis wave. The method employed by Weis is to identify waves of price action and to compare the strength of the waves on characteristics of wave strength. Chief among the characteristics of strength is the cumulative volume of the wave. There are other markers that Weis uses as well for example how the actual price difference between the start of the Weis wave from start to finish. Weis also uses time, particularly when using a Renko chart. Weis specifically uses candle or bar closes to define all wave action ie a line chart.
David Weis did a futures io video which is a popular source of information about his method.
This is the identical script with the identical settings but without the offending links. If you want to see the pip Weis method in practice then search Weis pip wave. If you want to see Weis chart in pdf then message me and I will give a link or the Weis pdf. Why would you want to see the Weis chart for May 27, 2020? Merely to confirm the veracity of my algorithm. You could compare my Weis chart here () from the same period to the David Weis chart from May 27. Both waves are for the ES!1 4 hour chart and both for a wave size of 5.
Weis Pip Wave jayyWhat you see here is the Weis pip wave. The Weis pip wave shows how far in price a Weis wave has traveled through the duration of a Weis wave. The Weis pip wave is used in combination with the Weis cumulative volume wave. The two waves must be set to the same "wave size" and using the same method as described by Weis.
Using the traditional Weis method simply enter the desired wave size in the box "Select Weis Wave Size". In the example shown, it is set to 5 points. Each wave for each security and each timeframe requires its own wave size. Although not the traditional method a more automatic way to set wave size would be to use ATR. This is not the true Weis method but it does give you similar waves and, importantly, without the hassle of selecting a wave size for every chart. Once the Weis wave size is set then the pip wave will be shown.
I have put a zigzag of a 5 point Weis wave on the above bar chart. I have added it to allow your eye to get a better appreciation for Weis wave pivot points. You will notice that the wave is not in straight lines connecting wave tops to bottoms this is a function of the limitations of Pinescript version 1. This script would need to be in version 4 to allow straight lines. I will elaborate on the Weis pip zigzag script.
What is a Weis wave? David Weis has been recognized as a Wyckoff method analyst he has written two books one of which, Trades About to Happen, describes the evolution of the now popular Weis wave. The method employed by Weis is to identify waves of price action and to compare the strength of the waves on characteristics of wave strength. Chief among the characteristics of strength is the cumulative volume of the wave. There are other markers that Weis uses as well for example how the actual price difference between the start of the Weis wave from start to finish. Weis also uses time, particularly when using a Renko chart. Weis specifically uses candle/bar closes to define all wave action.
David Weis did a futures.io video which is a popular source of information about his method.
Cheers jayy
PS This script was published a day ago, however, I had included some links to the website of a person that uses Weis pip waves and also a dropbox link that contains the Weis wave chart for May 27, 2020, published by David Weis. Providing those links is against TV policy and so the script was hidden by TV. This is the identical script with the identical settings but without the offending links. If you want to see the pip Weis method in practice then search Weis pip wave. I have absolutely no affiliation. If you want to see Weis chart in pdf then message me and I will give a link or the Weis pdf. Why would you want to see the Weis chart for May 27, 2020? Merely to confirm the veracity of my algorithm. You could compare my chart () from the same period to the Weis chart. Both waves are for the ES!1 4 hour chart and both for a wave size of 5.
Slope VortexI stumbled upon creating this and thought it was cool and worth sharing. If anyone has ever dabbled with the Aroon or Vortex Indicators, there is some similarity to how it can be used visually.
The indicator basically takes two slopes from the trailing time period you indicate- one from the highest point in that time period, and one from the lowest point. It then plots both.
Here are some of the ways I think this indicator can be used--
Crossover This is the most obvious way, visually. If the blue line crosses under the red, an uptrend has ended or is testing support here. The opposite can be used as well. When the blue line crosses above the red an uptrend is starting or it is testing resistance.
Trending or Ranging If the two bands are moving away from each other/increasing the width between them, there is definite trending action going on. If the two are very narrow or keep crossing each other, whatever symbol you're looking at is likely ranging or consolidating. The black "midpoint" line can also be used to help identify-- if this line is moving up, regardless of if the blue or red band is above, the trend has momentum; if it is going down or flat the previous trend is either slowing greatly or we are ranging.
Support & Resistance Crosses can identify meaningful support and resistance. Having both lines kiss or get very close to the black midpoint line but not cross can also indicate S/R or confirm trend strength.
Here are some snippets of examples I outlined-
I purposely kept this indicator as clean and simple as possible for publication. But I already have tinkered around with taking the output and putting it through the likes of RSI, Stoch, etc. and I think the outcomes are pretty intriguing as well for something so simple. I think dropping the length too much makes it too noisy, so 20, 50, 100 look most useful.
Black-Scholes Options Pricing ModelThis is an updated version of my "Black-Scholes Model and Greeks for European Options" indicator, that i previously published. I decided to make this updated version open-source, so people can tweak and improve it.
The Black-Scholes model is a mathematical model used for pricing options. From this model you can derive the theoretical fair value of an options contract. Additionally, you can derive various risk parameters called Greeks. This indicator includes three types of data: Theoretical Option Price (blue), the Greeks (green), and implied volatility (red); their values are presented in that order.
1) Theoretical Option Price:
This first value gives only the theoretical fair value of an option with a given strike based on the Black-Scholes framework. Remember this is a model and does not reflect actual option prices, just the theoretical price based on the Black-Scholes model and its parameters and assumptions.
2)Greeks (all of the Greeks included in this indicator are listed below):
a)Delta is the rate of change of the theoretical option price with respect to the change in the underlying's price. This can also be used to approximate the probability of your option expiring in the money. For example, if you have an option with a delta of 0.62, then it has about a 62% chance of expiring in-the-money. This number runs from 0 to 1 for Calls, and 0 to -1 for Puts.
b)Gamma is the rate of change of delta with respect to the change in the underlying's price.
c)Theta, aka "time decay", is the rate of change in the theoretical option price with respect to the change in time. Theta tells you how much an option will lose its value day by day.
d) Vega is the rate of change in the theoretical option price with respect to change in implied volatility .
e)Rho is the rate of change in the theoretical option price with respect to change in the risk-free rate. Rho is rarely used because it is the parameter that options are least effected by, it is more useful for longer term options, like LEAPs.
f)Vanna is the sensitivity of delta to changes in implied volatility . Vanna is useful for checking the effectiveness of delta-hedged and vega-hedged portfolios.
g)Charm, aka "delta decay", is the instantaneous rate of change of delta over time. Charm is useful for monitoring delta-hedged positions.
h)Vomma measures the sensitivity of vega to changes in implied volatility .
i)Veta measures the rate of change in vega with respect to time.
j)Vera measures the rate of change of rho with respect to implied volatility .
k)Speed measures the rate of change in gamma with respect to changes in the underlying's price. Speed can be used when evaluating delta-hedged and gamma hedged portfolios.
l)Zomma measures the rate of change in gamma with respect to changes in implied volatility . Zomma can be used to evaluate the effectiveness of a gamma-hedged portfolio.
m)Color, aka "gamma decay", measures the rate of change of gamma over time. This can also be used to evaluate the effectiveness of a gamma-hedged portfolio.
n)Ultima measures the rate of change in vomma with respect to implied volatility .
o)Probability of Touch, is not a Greek, but a metric that I included, which tells you the probability of price touching your strike price before expiry.
3) Implied Volatility:
This is the market's forecast of future volatility . Implied volatility is directionless, it cannot be used to forecast future direction. All it tells you is the forecast for future volatility.
How to use this indicator:
1st. Input the strike price of your option. If you input a strike that is more than 3 standard deviations away from the current price, the model will return a value of n/a.
2nd. Input the current risk-free rate.(Including this is optional, because the risk-free rate is so small, you can just leave this number at zero.)
3rd. Input the time until expiry. You can enter this in terms of days, hours, and minutes.
4th.Input the chart time frame you are using in terms of minutes. For example if you're using the 1min time frame input 1, 4 hr time frame input 480, daily time frame input 1440, etc.
5th. Pick what style of option you want data for, European Vanilla or Binary.
6th. Pick what type of option you want data for, Long Call or Long Put.
7th . Finally, pick which Greek you want displayed from the drop-down list.
*Remember the Option price presented, and the Greeks presented, are theoretical in nature, and not based upon actual option prices. Also, remember the Black-Scholes model is just a model based upon various parameters, it is not an actual representation of reality, only a theoretical one.
*Note 1. If you choose binary, only data for Long Binary Calls will be presented. All of the Greeks for Long Binary Calls are available, except for rho and vera because they are negligible.
*Note 2. Unlike vanilla european options, the delta of a binary option cannot be used to approximate the probability of the option expiring in-the-money. For binary options, if you want to approximate the probability of the binary option expiring in-the-money, use the price. The price of a binary option can be used to approximate its probability of expiring in-the-money. So if a binary option has a price of $40, then it has approximately a 40% chance of expiring in-the-money.
*Note 3. As time goes on you will have to update the expiry, this model does not do that automatically. So for example, if you originally have an option with 30 days to expiry, tomorrow you would have to manually update that to 29 days, then the next day manually update the expiry to 28, and so on and so forth.
There are various formulas that you can use to calculate the Greeks. I specifically chose the formulations included in this indicator because the Greeks that it presents are the closest to actual options data. I compared the Greeks given by this indicator to brokerage option data on a variety of asset classes from equity index future options to FX options and more. Because the indicator does not use actual option prices, its Greeks do not match the brokerage data exactly, but are close enough.
I may try to make future updates that include data for Long Binary Puts, American Options, Asian Options, etc.