Market Maker BalanceWhere is the market maker in his cycle of building longs or shorts? When is that big drop or big pump coming?
This is a simple and unexpectedly powerful indicator that shows you an estimate of the market maker's position over the last 200 candles. It works on any timeframe.
How does it work?
It combines a simple 10-candle Price Volume Support Resistance Analysis metric of climactic and rising volume. That volume is combined to create a bullish and bearish balance over a period of 200 candles. The curves are smoothed out with a 10 period EMA.
The MMB (Marker Maker Balance) oscillator is the resulting bearish volume - bullish volume, which shows us THEIR position balance.
Indications:
when shorts are increasing (further below 0), we are in a bullish trend -- you should be taking profit on longs
when shorts are flat or decreasing, the trend is due for a reversal -- you should be closing longs and looking to short
when shorts cross 0 to long, the trend is reversing down -- you should be in a short position by now
when longs are increasing, we are in a bearish trend -- you should be taking profits on your shorts
when longs are flat or decreasing, the trend is due for a reversal -- you should be closing your shorts
For extra information, there are also the separate lines for rising and climactic volume to give you early indications of reversal or change in Market Maker behaviour. You can disable them in the Style settings, but they can be a useful early indicator that the current trend is losing strength when rising volume overtakes climax volume (MM's no longer moving out of zones higher/lower).
Ways to use this indicator are quite simple and eerily accurate:
for short term gains, do the opposite of MMs: long when MM are opening more shorts, short when they are opening more longs
for huge positions, mimic the MM position: build long positions / close shorts when MMB is rising, build shorts / close longs when MMB is falling or crosses above 0 (be careful with leverage, begin on 1x leverage)
Note: the results of this indicator will be different for each exchange, because of their different trading volumes per candle. It's advisable to use it for the exchange you're trading on or use a chart that averages all exchanges for that asset, like INDEX:BTCUSD.
For those of you who use the Backtesting & Trading Engine by PineCoders, the BTE Signal plot generates long and short entries as well as filter states. Use this plot as the source for BTE.
Shout out to @infernixx for PVSRA calculations in his awesome Traders Reality indicator, the code of which I shamelessly ripped off and edited for this indicator.
Leave comments below if you want something added.
在腳本中搜尋"curve"
Ethereum Logarithmic Growth Curves & ZonesThis script was modified to fit ethereum logarithmic pricing action.
LV Cop&RMA w HeikinA buy signal is generated when the indicator turns upwards from previous indicator level.
A sell signal is generated when the indicator turns downwards from previous indicator level.
The indicator is trend-following, and based on averages, so by its nature it doesn't pick a bottom, but rather shows when a rally has started.
It is designed for daily period use.
Frequent buy/sell signals can occur on low and high levels.
It is designed with the mentality of Coppock curve. Rma is used instead of Wma and Heikin-Ashi closing price is used instead of standard closing price.
Moving Regression Prediction BandsIntroducing the Moving Regression Prediction Bands indicator.
Here I aimed to combine the principles of traditional band indicators (such as Bollinger Bands), regression channel and outlier detection methods. Its upper and lower bands define an interval in which the current price was expected to fall with a prescribed probability, as predicted by the previous-step result of the local polynomial regression (for the original Moving Regression script, see link below).
Algorithm
1. At every time step, the script performs local polynomial regression of the sample data within the lookback window specified by the Length input parameter.
2. The fitted polynomial is used to construct the Moving Regression time series as well as to extrapolate data, that is, to predict the next data point ( MRPrediction ).
3. The accuracy of local interpolation is estimated by means of the root-mean-square error ( RMSE ), that is, the deviation between the fitted polynomial and the observed values.
4. The MRPrediction and RMSE values calculated for the previous bar are then used to build the upper and lower bands , which I define as follows:
Upper Band = MRPrediction_prev + Multiplier *( RMSE_prev )
Lower Band = MRPrediction_prev - Multiplier *( RMSE_prev )
Here the Multiplier is a user-defined parameter that should be interpreted as a quantile in the standard normal distribution (the default value of 2.0 roughly corresponds to the 95% prediction interval).
To visualize the central line , the script offers the following options:
Previous-Period MR Prediction: MRPrediction_prev time series from the above equation.
MR: Conventional Moving Regression time series.
Ribbon: “Previous-Period MR Prediction” and “MR” curves plotted together and colored according to their relative value (green if MR > Previous MR Prediction; red otherwise).
Usage
My original idea was to use the band breakouts as potential trading signals. For example, the price crossing above the upper band is a bullish signal , being a potential sign that price is gaining momentum and is out of a previously predicted trend. The exit signal could be the crossing under the lower band or under the central line.
However, be aware that it is an experimental indicator, so you might fin some better strategies.
Feel free to play around!
[blackcat] L2 Ehlers RSI with NETLevel: 2
Background
John F. Ehlers introuced RSI with Noise Elimination Technology (NET) in Dec, 2020.
Function
Many indicators produce more or less noisy output, resulting in false or delayed signals. Dr. Ehlers proposed “Noise Elimination Technology,” in Dec, 2020. He introduces using a Kendall correlation to reduce indicator noise and provide better clarification of the indicator direction. This approach attempts to reduce noise without using smoothing filters, which tend to introduce indicator lag and therefore, delayed decisions. With this script, I use his “MyRSI” indicator, which he introduced in his May 2018 article in S&C, by adding some Tradingview pine v4 code for the noise elimination technology. The indicator plots the MyRSI value as well as the value after applying NET to MyRSI. This de-noising technology uses the Kendall correlation of the indicator with a rising slope. Compared with a lowpass filter, this method does not delay the signals.
The technology appears to work well in this example for removing the noise. But note that the NET function is not meant as a replacement of a lowpass or smoothing filter; its output is always in the -1 to +1 range, so it can be used for de-noising oscillators, but not, for instance, to generate a smoothed version of the price curve.
Key Signal
NET --> Ehlers RSI with NET fast line
Trigger --> Ehlers RSI with NET slow line
Pros and Cons
100% John F. Ehlers definition translation, even variable names are the same. This help readers who would like to use pine to read his book.
Remarks
The 99th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Trend ChannelMarket engineers can use channels to find out when a market has entered an undervalued or overvalued zone. Purchases and sales take place in these zones. Professionals use trending channels to find out when the market has overtaken itself and where it is likely to reverse.
Upper channel line = EMA + EMA x channel coefficient
Lower channel line = EMA - EMA x channel coefficient
The topline reflects the bulls' strength in raising prices above the average value consensus. This line marks the normal limit of optimism in the market.
The bottom line of the channel reflects the strength of the bears pushing prices below the average consensus of values. This line marks the normal limit of pessimism in the market.
The coefficient is used to correct the distance to the moving average until the channel contains 95% of all prices. Only the tips and the lowest bottoms are allowed to protrude. For these peaks and curves and sideways trends, I have added two more switchable lines to the border lines, with a distance of 23.6% (light blue).
The larger the time frame, the wider the channel.
If you buy near a rising moving average, you take profits near the upper line of the channel.
If you are short near a falling moving average, you should close out near the bottom of the channel.
If the moving average is essentially flat, then you should be long on the bottom of the channel and short on the top of the channel. You realize profits when the prices have returned to their moving average to normal.
Interesting for day traders:
Adjust the moving average so that it has the same slope as the quotes on the hourly chart. With the coefficient you set the distance between the border lines. Perhaps adding the 23.6% lines will help, where the sideways trends are starting. Set the resolution to "1 hour". If you want to trade with these settings in short time units, e.g. in the 3 minute chart or in the 1 minute chart, then you now have target marks and indications in which direction the prices will possibly move when the prices have reached the moving average or one of the border lines.
The text contains excerpts from "Come into my Trading Room" by Dr. Alexander Elder.
The indicator has an additional exponential moving average with adjustable period, adjustable shift and adjustable source for the narrow range of quotations and final determination of direction.
The chart shows how the trend channel and the Fibonacc trading indicator can complement each other.
The text contains excerpts from "Come into my Trading Room" by Dr. Alexander Elder.
Markttechniker können Kanäle verwenden um heraus zu finden, wann ein Markt eine unterbewertete oder überbewertete Zone erreicht hat. An diesen Zonen finden Käufe und Verkäufe statt. Profis benutzen Trendkanäle um herauszufinden, wann der Markt sich selbst überholt hat und wo er wahrscheinlich eine Umkehrbewegung vollziehen wird.
Obere Kanallinie = EMA + EMA x Kanalkoeffizient
Untere Kanallinie = EMA - EMA x Kanalkoeffizient
Die Oberlinie reflektiert die Kraft der Bullen, mit der sie die Kurse über den durchschnittlichen Wertekonsens anheben. Diese Linie kennzeichnet die normale Grenze des Optimismus im Markt.
Die untere Linie des Kanals reflektiert die Kraft der Bären, mit der sie die Kurse unter den durchschnittlichen Wertekonsens drücken. Diese Linie kennzeichnet die normale Grenze des Pessimismus im Markt.
Mit dem Koeffizienten wird der Abstand zum gleitenden Durchschnitt so lange korrigiert, bis der Kanal 95% aller Kurse enthält. Lediglich die Spitzen und die niedrigsten Böden dürfen herausragen. Für diese Spitzen und Bögen und Seitwärtstrends habe ich zu den Grenzlinien zwei weitere zuschaltbare Linien, mit einem Abstand von 23,6%, hinzugefügt (hellblau).
Je größer der Zeitrahmen ist, um so breiter ist der Kanal.
Wenn Sie in der Nähe eines ansteigenden gleitenden Durchschnitts kaufen, nehmen Sie die Gewinne in der Nähe der oberen Grenzlinie des Kanals mit.
Wenn Sie in der Nähe eines fallenden gleitenden Durchschnitts leerverkaufen, sollten Sie in der Nähe der unteren Grenzlinie des Kanals glattstellen.
Wenn der gleitende Durchschnitt im Wesentlichen flach ist, dann sollten Sie an der unteren Kanalbegrenzung eine Long-Position und an der oberen Kanalbegrenzung eine Short-Position einnehmen. Gewinne realisieren Sie jeweils, wenn die Kurse zu ihrem gleitenden Durchschnitt, zur Normalität zurückgekehrt sind.
Für Daytrader interessant:
Stellen Sie den gleitenden Durchschnitt so ein, dass er die gleiche Steigung wie die Notierungen im Stunden-Chart hat. Mit dem Koeffizienten Stellen Sie den Abstand der Grenzlinien ein. Vielleicht hilft die Zuschaltung der 23,6%-Linien, wo die Seitwärtstrends anstoßen. Stellen Sie die Auflösung auf „1 Stunde“. Wenn Sie mit diesen Einstellungen in niedrigen Zeiteinheiten traden wollen, z.B. im 3 Minuten-Chart oder im 1 Minuten-Chart, dann haben Sie jetzt Zielmarken und Hinweise in welche Richtung die Notierungen möglicherweise laufen werden, wenn die Notierungen den gleitenden Durchschnitt oder eine der Grenzlinien erreicht haben.
Der Text enthält Auszüge aus „Come into my Trading Room“ von Dr. Alexander Elder.
Der Indikator besitzt zur engen Umfang der Notierungen und endgültigen Richtungsbestimmung einen zusätzlichen exponentiellen gleitenden Durchschnitt mit einstellbarer Periode, einstellbarer Verschiebung und einstellbarer Quelle.
Der Chart zeigt wie sich Trendkanal und Fibonacc-Trading-Indikator ergänzen könne.
Der Text enthält Auszüge aus „Come into my Trading Room“ von Dr . Alexander Elder.
Combo Backtest 123 Reversal & Kase Dev Stops This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
The Kase Dev Stops system finds the optimal statistical balance between letting profits run,
while cutting losses. Kase DevStop seeks an ideal stop level by accounting for volatility (risk),
the variance in volatility (the change in volatility from bar to bar), and volatility skew
(the propensity for volatility to occasionally spike incorrectly).
Kase Dev Stops are set at points at which there is an increasing probability of reversal against
the trend being statistically significant based on the log normal shape of the range curve.
Setting stops will help you take as much risk as necessary to stay in a good position, but not more.
You can change long to short in the Input Settings
Please, use it only for learning or paper trading. Do not for real trading.
WARNING:
- For purpose educate only
- This script to change bars colors.
Cycle Swing MomentumAdaptive Ultra-Smooth Momentum indicator
The Cycle-Swing-Indicator "CSI" provides an optimized "momentum" oscillator based on the current dominant cycle by looking at the swing of the dominant cycle instead of the raw source momentum. Offering the following improvements:
Smoothness
Zero delay
Sharpness at turning points
Robust and adaptable to market conditions
Accurate deviation detection
The following common problems with standard indicators are solved by this indicator:
First, normal indicators introduce a lot of false signals due to their noisy signal line. Second, to compensate for the noise, one would normally try to add some smoothing. But this only results in adding more delay to the indicator, which makes it almost useless. Third, standard indicators require a length adjustment to derive reliable signals. However, you never know how to set the right length.
All three problems described above are solved by the developed adaptive cyclic algorithm.
The above chart shows current Bitcoin 4h data from the last days as of writing with the proposed signal reading for this indicator. The standard momentum indicator is included for comparison.
HOW TO USE
The indicator works without any parameter and can be applied to any chart and any time-frame. It will adapt automatically to the Dominant Cycle and use the dominant cycle of the source data to derive the ultra smooth momentum curve. Adaptive upper/lower bands are included and highlight areas with extreme readings. Automatic divergence detection can be turned off/on.
HOW TO READ
The indicator can be used like any oscillator. In addition, it provides adaptive high and low bands.
* Look for turns above the upper/lower bands
* Look for divergences between source and signals line
Further reading/Original source:
The indicator uses the dominant cycle to optimize signal, smoothing and cyclic memory. To get more in-depth information on the Cycle Swing Indicator, please read Chapter 10 "Cycle Swing Indicator: Trading the swing of the dominant cycle" of the book "Decoding the Hidden Market Rhythm, Part 1" available at your favorite book store.
Related ideas:
Please also check the cyclic RSI indicator which also uses cyclic information to improve the signal.
Square Root Moving AverageAbstract
This script computes moving averages which the weighting of the recent quarter takes up about a half weight.
This script also provides their upper bands and lower bands.
You can apply moving average or band strategies with this script.
Introduction
Moving average is a popular indicator which can eliminate market noise and observe trend.
There are several moving average related strategies used by many traders.
The first one is trade when the price is far from moving average.
To measure if the price is far from moving average, traders may need a lower band and an upper band.
Bollinger bands use standard derivation and Keltner channels use average true range.
In up trend, moving average and lower band can be support.
In ranging market, lower band can be support and upper band can be resistance.
In down trend, moving average and upper band can be resistance.
An another group of moving average strategy is comparing short term moving average and long term moving average.
Moving average cross, Awesome oscillators and MACD belong to this group.
The period and weightings of moving averages are also topics.
Period, as known as length, means how many days are computed by moving averages.
Weighting means how much weight the price of a day takes up in moving averages.
For simple moving averages, the weightings of each day are equal.
For most of non-simple moving averages, the weightings of more recent days are higher than the weightings of less recent days.
Many trading courses say the concept of trading strategies is more important than the settings of moving averages.
However, we can observe some characteristics of price movement to design the weightings of moving averages and make them more meaningful.
In this research, we use the observation that when there are no significant events, when the time frame becomes 4 times, the average true range becomes about 2 times.
For example, the average true range in 4-hour chart is about 2 times of the average true range in 1-hour chart; the average true range in 1-hour chart is about 2 times of the average true range in 15-minute chart.
Therefore, the goal of design is making the weighting of the most recent quarter is close to the weighting of the rest recent three quarters.
For example, for the 24-day moving average, the weighting of the most recent 6 days is close to the weighting of the rest 18 days.
Computing the weighting
The formula of moving average is
sum ( price of day n * weighting of day n ) / sum ( weighting of day n )
Day 1 is the most recent day and day k+1 is the day before day k.
For more convenient explanation, we don't expect sum ( weighting of day n ) is equal to 1.
To make the weighting of the most recent quarter is close to the weighting of the rest recent three quarters, we have
sum ( weighting of day 4n ) = 2 * sum ( weighting of day n )
If when weighting of day 1 is 1, we have
sum ( weighting of day n ) = sqrt ( n )
weighting of day n = sqrt ( n ) - sqrt ( n-1 )
weighting of day 2 ≒ 1.414 - 1.000 = 0.414
weighting of day 3 ≒ 1.732 - 1.414 = 0.318
weighting of day 4 ≒ 2.000 - 1.732 = 0.268
If we follow this formula, the weighting of day 1 is too strong and the moving average may be not stable.
To reduce the weighting of day 1 and keep the spirit of the formula, we can add a parameter (we call it as x_1w2b).
The formula becomes
weighting of day n = sqrt ( n+x_1w2b ) - sqrt ( n-1+x_1w2b )
if x_1w2b is 0.25, then we have
weighting of day 1 = sqrt(1.25) - sqrt(0.25) ≒ 1.1 - 0.5 = 0.6
weighting of day 2 = sqrt(2.25) - sqrt(1.25) ≒ 1.5 - 1.1 = 0.4
weighting of day 3 = sqrt(3.25) - sqrt(2.25) ≒ 1.8 - 1.5 = 0.3
weighting of day 4 = sqrt(4.25) - sqrt(3.25) ≒ 2.06 - 1.8 = 0.26
weighting of day 5 = sqrt(5.25) - sqrt(4.25) ≒ 2.3 - 2.06 = 0.24
weighting of day 6 = sqrt(6.25) - sqrt(5.25) ≒ 2.5 - 2.3 = 0.2
weighting of day 7 = sqrt(7.25) - sqrt(6.25) ≒ 2.7 - 2.5 = 0.2
What you see and can adjust in this script
This script plots three moving averages described above.
The short term one is default magenta, 6 days and 1 atr.
The middle term one is default yellow, 24 days and 2 atr.
The long term one is default green, 96 days and 4 atr.
I arrange the short term 6 days to make it close to sma(5).
The other twos are arranged according to 4x length and 2x atr.
There are 9 curves plotted by this script. I made the lower bands and the upper bands less clear than moving averages so it is less possible misrecognizing lower or upper bands as moving averages.
x_src : how to compute the reference price of a day, using 1 to 4 of open, high, low and close.
len : how many days are computed by moving averages
atr : how many days are computed by average true range
multi : the distance from the moving average to the lower band and the distance from the moving average to the lower band are equal to multi * average true range.
x_1w2b : adjust this number to avoid the weighting of day 1 from being too strong.
Conclusion
There are moving averages which the weighting of the most recent quarter is close to the weighting of the rest recent three quarters.
We can apply strategies based on moving averages. Like most of indicators, oversold does not always means it is an opportunity to buy.
If the short term lower band is close to the middle term moving average or the middle term lower band is close to the long term moving average, it may be potential support value.
References
Computing FIR Filters Using Arrays
How to trade with moving averages : the eight trading signals concluded by Granville
How to trade with Bollinger bands
How to trade with double Bollinger bands
Bitcoin M2 supply adjusted priceThis script plots bitcoin candles adjusted by M2 supply (blue line), helping the trader to obtain insight of new support/resistance levels adjusted by M2 supply.
Note: As it was not possible to make the price adjust automatically by the last M2 value (pinescript limitation, I guess), the input parameter "M2Last" must be updated manually observing the last M2 value in blue curve.
Future Value: Compound Interest with Regular Deposits [racer8]This isn't no ordinary FV equation, this one takes into account regular deposits. I had to derive this equation myself.
This calculator calculates future value based on the following inputs:
- Present value
- Yearly return
- Yearly deposit
- years
Application: Can be used to determine you're future value of your equity curve.
C = c*m^n + a*m*{(m^(n-1)-1)/(m-1)}
C = Future value
c = present value
m = yearly return multiplier
n = years
a = yearly deposit amount
Enjoy :)
Ichimoku Cloud using Tilson T3 SmoothingThe standard Ichimoku Cloud is derived from Donchian Channels and is based on the range of the data set. However the channels are choppy and may not always be easy to read. By using moving averages, similar leading spans can be generated with a smoother outline. The T3 averages further smooths out the curve.
BTC Contango IndexInspired by a Twitter post by Byzantine General:
This is a script that shows the contango between spot and futures prices of Bitcoin to identify overbought and oversold conditions. Contango and backwardation are terms used to define the structure of the forward curve. When a market is in contango, the forward price of a futures contract is higher than the spot price. Conversely, when a market is in backwardation, the forward price of the futures contract is lower than the spot price.
The aggregate prices on top exchanges are taken and then averaged to obtain a Spot Average and a Futures Average. The script then plots (Futures Average/Spot Average) - 1 to illustrate the percent difference (contango) between spot and futures prices of Bitcoin.
When in contango, Bitcoin may be overbought.
When in backwardation, Bitcoin may be oversold.
Tilson T3 and MavilimW Triple Combined StrategyInspired by truly greatful Kivanç Ozbilgic (www.tradingview.com).
The strategy tries to combined three different moving average strategies into one.
Strategies covered are:
1. Tillson T3 Moving Average Strategy
Developed by Tim Tillson, the T3 Moving Average is considered superior to traditional moving averages as it is smoother, more responsive and thus performs better in ranging market conditions as well. However, it bears the disadvantage of overshooting the price as it attempts to realign itself to current market conditions.
It incorporates a smoothing technique which allows it to plot curves more gradual than ordinary moving averages and with a smaller lag. Its smoothness is derived from the fact that it is a weighted sum of a single EMA, double EMA, triple EMA and so on. When a trend is formed, the price action will stay above or below the trend during most of its progression and will hardly be touched by any swings. Thus, a confirmed penetration of the T3 MA and the lack of a following reversal often indicates the end of a trend. Here is what the calculation looks like:
T3 = c1*e6 + c2*e5 + c3*e4 + c4*e3, where:
– e1 = EMA (Close, Period)
– e2 = EMA (e1, Period)
– e3 = EMA (e2, Period)
– e4 = EMA (e3, Period)
– e5 = EMA (e4, Period)
– e6 = EMA (e5, Period)
– a is the volume factor, default value is 0.7 but 0.618 can also be used
– c1 = – a^3
– c2 = 3*a^2 + 3*a^3
– c3 = – 6*a^2 – 3*a – 3*a^3
– c4 = 1 + 3*a + a^3 + 3*a^2
T3 MovingThe T3 Moving Average generally produces entry signals similar to other moving averages and thus is traded largely in the same manner.
Strategy for Tillson T3 is if the close crossovers T3 line and for at least five bars the close was under the T3
2. Tillson T3 Fibonacci Cross
Kivanc Ozbilgic added a second T3 line with a volume factor of 0.618 (Fibonacci Ratio) and length of 3 (fibonacci number) which can be added by selecting the T3 Fibonacci Strategy input box.
Strategy for Tillson T3 Fibo is when the Fibo Line crossover the T3 it gives long signal vice versa.
3. MavilimW
MavilimW is originally a support and resistance indicator based on fibonacci injected weighted moving averages.
Strategy for MavilimW is is if the close crossovers T3 line and for at least five bars the close was under the T3
Hope you enjoy
[2020 Updated]Bitcoin Logarithmic Growth CurvesCredit goes to the original writer of the script, Quantadelic, who generously allowed anyone to copy/edit. I adjusted the value of the bottom/top intercept and slope to better fit the March 2020 coronavirus dip.
Use Bitstamp BTCUSD for better reading.
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
Dual_Spread_FTX[Schmittie]//This script displays 2 spreads between FTX perpetuals contracts and futures contracts.
//In the settings, you can choose which curves to display for direct comparison.
//It is based on Thojdid's Multi-Spread script, but loads faster as there are only 2 coins
//An high-low range can be added
Gann High Low StrategyGann High Low is a moving average based trend indicator consisting of two different simple moving averages.
The Gann High Low Activator Indicator was described by Robert Krausz in a 1998 issue of Stocks & Commodities Magazine. It is a simple moving average SMA of the previous n period's highs or lows.
The indicator tracks both curves (of the highs and the lows). The close of the bar defines which of the two gets plotted.
XBT % ContangoSimilar to my other indicators, but measures XBTUSD Contango in terms of percent.
Also, built it so you could change the values that give the red and green signals. Default values are 0% or less (backwardation) indicates green. However, i found that a 0.5% setting worked will finding local bottoms for current contract of XBTH20 (March 2020). The upper value default is at 5%, and signals red when the next contract reaches over 5%.
My assumption is as BTC increases in value over time, measuring contango in terms of percent will be a better measure of the XBT futures curve.
Bitcoin Logarithmic Growth Curves for intraday usersI wish to thank @Quantadelic who created this great indicator and leaving it open for others to improve.
I have made changes to make it user-friendly for the intraday traders.
The changes made have been;
1. Compartmentalized each area of the major Fibonacci level;
2. Added minor Fibonacci levels;
3. Color-coded the support and resistance levels, for better viewing;
4. Zoned each area of the major Fibonacci level; and
5. Created a time-frame display period for quicker loading of the indicator.
I have removed a few things to allow the indicator to run quicker;
1. Future projections; and
2. The major higher levels of the Fibonacci, which may be useful when Bitcoin reaches 100k.
Enjoy
Leverage Strategy and a few words on risk/opportunityHello traders,
I started this script as a joke for someone... finally appears it could be used for educational content
Let's talk about leverage and margin call
Margin Call
A margin call is the broker's demand that an investor deposit additional money or securities so that the account is brought up to the minimum value, known as the maintenance margin.
A margin call usually means that one or more of the securities held in the margin account has decreased in value below a certain point.
Leverage
A leverage is a system which allows the trader to open positions much larger than his own capital. ... “Leverage” usually refers to the ratio between the position value and the investment needed,
Strat
The strategy simulates long/short positions on a 4h high/low breakout based on the chart candle close.
The panel below shows the strategy equity curve. Activating the margin call option will show when the account would be margin called giving the settings
Casino
I'm not doing any financial recommendation here.
I made this strategy so that people include more risk management metrics into their strategy.
From the code, we see it's fairly easy to calculate a leveraged position size and a margin call flag - when that flag is hit, the system stops trading.
I simplified things to the extreme here but my point is that the leverage is a double-edge sword gift.
Assuming we always take the same position sizing, increasing the leverage speed up how fast a margin could be ..... called. (bad joke? feel free to tell me). Not saying it will, saying it introduces more risk by design.
Then one could say "I'll just turn off that stupid margin call option". And that's when someone starts backtesting with unrealistic market conditions.
Finally...
When I backtest I always assume the worst in every scenario possible (because I'm French), I always try to minimize the risk first (also because I'm French), keeping as close from 0 as possible (French again)
Then I add the "opportunity" component, looking to catch the maximum of opportunity while keeping the risk low.
It's like a Rubix cube puzzle - decreasing the risk is one side of the equation but whenever I try to catch more opportunity... my risks increases.
Then I update my risk... and now the opportunity decreases... (#wut #wen #simple)
Completely removing the risk from a trading strategy isn't something I wouldn't dare doing.
Trading involves risk. Being obsessed by decreasing the risk is what I do BEST :)
Dave
Hull SuiteHull is its extremely responsive and smooth moving average created by Alan Hull in 2005.
Minimal lag and smooth curves made HMA extremely popular TA tool.
alanhull.com
Script was made to regroup multiple hull variants in one indicator,maintaining flexible customization and intuitive visualization
Option to chose between 3 Hull variations
Option to chose between 2 visualization modes ( Bands or single line)
Option to Paint hull and/or candlesticks according to hulls trend
Shortcut for personalizing Line/band thickness,instead of changing every object manually ,there is global option in inputs
HMA
THMA ( 3HMA)
EHMA
HMA:
Alan Hull
EHMA:
Slower than hull by default.
Raudys, Aistis & Lenčiauskas, Vaidotas & Malčius, Edmundas. (2013). Moving Averages for Financial Data Smoothing ( 403. 34-45. 10.1007/978-3-642-41947-8_4.) Vilnius University, Faculty of Mathematics and Informatics
3HMA (THMA) :
Documentation on link below
alexgrover
Kase Dev Stops Backtest The Kase Dev Stops system finds the optimal statistical balance between letting profits run,
while cutting losses. Kase DevStop seeks an ideal stop level by accounting for volatility (risk),
the variance in volatility (the change in volatility from bar to bar), and volatility skew
(the propensity for volatility to occasionally spike incorrectly).
Kase Dev Stops are set at points at which there is an increasing probability of reversal against
the trend being statistically significant based on the log normal shape of the range curve.
Setting stops will help you take as much risk as necessary to stay in a good position, but not more.
WARNING:
- For purpose educate only
- This script to change bars colors.