[blackcat] L2 Ehlers Convolution IndicatorLevel: 2
Background
John F. Ehlers introduced Convolution Indicator in his "Cycle Analytics for Traders" chapter 13 on 2013.
Function
Since high correlation exists only at the market turning point, the convolution indicator is dependent on the lookback period used in the calculation. Assuming the two price segments have an equal time duration, the peak correlation occurs at half the lookback period of the indicator. For example, if a 13-bar period is used, the market peak would appear with a 7-bar delay. The same market peak would appear with a 19-bar delay if a 39-bar lookback period were used in the convolution computation.
Key Signal
Convolution --> Convolution array
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 56th script for Blackcat1402 John F. Ehlers Week publication.
Courtesy of @RicardoSantos for RGB functions.
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.
Cerca negli script per "初中数学动点最值问题19大模型+例题详解"
Smooth ChangePercentage of change, compared to a certain number of candles back, and optionally smoothened as a moving average. I use this for Covid-19 numbers, where I compare to 7 days ago, and use a 7 day moving average over that, which gives me a nice idea of the real corona trend.
R/S trend my stupid country go to lockdown again due to covid 19, so at least i can play with some scripts:)
This is not super trend but by the same logic, we can make a trend based on support and resistance.
r =length so if you want it to buy more make it shorter or vice versa
alerts inclusded plus signals
the trend based o finding highest high and lowest low
i hope you like this one
tesla
Kal's MTF OBV Haar Version 3Kal’s Multi-Time-Frame On-Balance-Volume Haar, also known as Kal’s MTF OBV Haar is a method/study for finding trending volume levels on stocks, indexes and cryptocurrencies using OBV, CMF and CCI over different time-frames (10Min, 1H, 4H, 1D, 1W, 1Month).
Upon adding to the 10Min chart, the sample Image in Tradingview looks as follows:
Note: Always check your time-frame(TF). Compare current TF to a row’s(bead row’s) time-frame. Ensure current TF is lower than a row’s time-frame when looking at it and higher time-frame rows above it. For instance, if you choose your chart’s time-frame at 1D, the lower time-frame rows(i.e. 10Min, 1H, 4H) don’t make sense.
For cryptocurrencies, one week is 7 periods, two weeks is 14 periods
For stocks, one week is 5 periods, two weeks is 10 periods
For the study of stocks, I used
9-period EMA over OBV for time-frames (10Min, 1H, 4H, D)
4-period EMA over OBV for time-frames (W, M)
For the study of cryptocurrencies, I would update EMAs as follows:
13-period EMA over OBV for time-frames (10Min, 1H, 4H, D)
6-period EMA over OBV for time-frames (W, M)
These days I'm finding the following parameters have better fitting
19-period EMA over OBV for time-frames (10Min, 1H, 4H, D)
9-period EMA over OBV for time-frames (W, M)
Description:
---------------
In the study plot, the lowest row is 10Min, the row above 10Min is 1H, then 4H, then 1D, then 1W and the highest row is 1M
Note: Always check your time-frame(TF). Compare current TF to a row’s(bead row’s) time-frame. Ensure current TF is lower than a row’s time-frame when looking at it and higher time-frame rows above it. For instance, if you choose your chart’s time-frame at 1D, the lower time-frame rows(i.e. 10Min, 1H, 4H) don’t make sense.
Lime( Bright Green) dot implies Trending Uptrend for that time-frame
Red dot implies Trending Downward for that time-frame
It’s best to wait and research for possibility of Trend Reversal during the following dots/bricks:
Silver dot implies indecisive up
Orange dot implies indecisive downtrend
Lime Brick implies CCI is near Zero line( between 15 and 0)
Red Brick implies CCI is near Zero line( between -15 and 0)
Purple dot implies CCI zero rejection to possibly/probably continue trend UP
Yellow dot implies CCI zero rejection to possibly/probably continue trend Down
Aqua dot implies that trend is overbought or oversold. This dot usually happens between red dots or green dots. Therefore, it’s best to wait for pull-back especially in lower time frames.
Safe Trading!
Kal Gandikota
Legal Disclaimer: This script is published here so I get replies from fellow viewers to educate myself. Hence, if anyone uses this script for making their financial decisions, I am not responsible for any failures incurred. If you have questions or improvements related to this script, please feel free to leave comments and as time permits, will respond to those comments.
A Fibonacci Moving Averages Ribbon Using One PlotThe following script aims to visually reproduce a Fibonacci moving averages ribbon by only using one plot function, the period of the moving average is determined by a number of the Fibonacci sequence. This trick is made possible by computing the value of a moving average at time t with a period determined by a periodic Fibonacci sequence and using plot.style_circles as plot style.
Settings
From Fibonacci Number: Determine the n th Fibonacci number to be used as the lowest moving average period
To Fibonacci Number: Determine the n th Fibonacci number to be used as the highest moving average period, capped at 19 to avoid errors. If you still have errors lower the value.
Src : input series of the moving average.
Details
The first thing we must do is to compute a periodic (repeating) linear sequence n from the number in From Fibonacci Number to the number in To Fibonacci Number , then we get the n th Fibonacci number from the previous sequence using Binet's formula.
To get the moving average we first compute the fib period momentum of the cumulative sum of Src , where fib is the current number of our periodic Fibonnacci sequence, we then divide the result by fib .
If we zoom in we can indeed see that there is only one point per bar.
However, zooming out and using a different color for each point allows us to get something visually similar to a ribbon. Adding more plots would create a visually more accurate result.
This trick is not the most useful in the world, but let's imagine you want to plot a massive ribbon consisting of 1000 moving averages with periods that can be determined by a specific sequence, using this trick would allow you to have the effect of 1000 plots while keeping your script relatively efficient, altho ribbons consisting of lots of moving averages are rarely easy to visualize.
BV's MACD SIGNAL TESTERHello ladies and gentlemen,
Today, as you may have seen in the title, I have coded a strategy to determine once and for all if MACD could make you money in 2020.
So, at the end of this video, you will know which MACD strategy will bring you the most money.
Spoiler alert: we've hit the 90% WinRAte mark on the Euro New Zealand Dollar chart.
I've seen a lot of videos of people testing different MACD signals, some up to 100 times.
But In my opinion, all traders must rely on statistics to put all the odds on their side and good statistics require a lot more data.
The algorithm I'm showing you tests each signal one by one over a 3 year period and on 28 different graphs.
That way we are sure that we have encountered all possible market behavior.
From phases of congestion to major trends or even the effects of COVID-19
I use the ATR to determine my Stop Loss and Take Profits. The Stop Loss is placed at 1.5 times the ATR, the Take Profit is placed at 1 time the ATR.
If my Take Profit is hit, I take 50% of the profits and let the position run by moving my Stop Loss to Zero.
This way, the position can no longer be a losing position.
If you are not familiar with this practice, I invite you to study the "Scaling out" video from the NoNonsenseForex channel.
BV's Trading Journal.
Equilibrium Price for Relative StrengthPlot of equilibrium price of Relative Strength.
Instead of the RS ratio, this is the plot of the price that will make the RS ratio equal to zero, we call this the equilibrium price.
About the equilibrium price plot:
- When the plot is below the symbol price plot, it means stock is performing above the benchmark
- When the plot is above the symbol price plot, it means stock is underperforming in comparison to the benchmark
- When the plot is close (or equal) to the symbol price plot, it means that RS is near the zero line, either crossing over or crossing below
The latest equilibrium is displayed over the plot. This gives a visual and quantitative idea of how far above or below the equilibrium price is in comparison to the current price.
In the above example, we see that HDFC Bank which was performing above the benchmark (trading above equilibrium price) whipsawed a lot (price near equilibrium price), before swaying down during the COVID-19 fall in the market (price is trading below the equilibrium price) . Currently, the equilibrium price is 1136, but HDFC Bank is trading below this price at 1033, around 100 points below.
RK's 04 - Lots of MA Types RibbonHello again,
I made this script to test what is the better Moving Average type to predict the market direction, so I put a function with All the MA I know.
To go beyond, this script have an option to increase the MA length as a Fibonacci Number or any other simple number to step.
If the drawing is too slow, just reduce the amount of MA lines in the input option ("Number of MA to Plot:") to 10 or less and it will be faster.
Hope you like, and if you know other Moving Average type, just tell me how can I get the formula and (if its good, not copyrighted and I have time) I can add here and update for all of us.
Obs: To avoid errors, the Maximum Nth Fibonacci Term to use in MA Length is 19 (4181)
Auto Fib Retracement with logarithmic ScaleThis is the same Original Pine Built-in Script announced in tradingview blog on 19-05-2020 ( "Auto Fib Retracement — the New Pine Indicator" ), but with the option to use on Logarithmic Scale.
RedK_Supply/Demand Volume Viewer v1Background
============
VolumeViewer is a volume indicator, that offers a simple way to estimate the movement and balance (or lack of) of supply & demand volume based on the shape of the price bar. i put this together few years ago and i have a version of this published for another platform under different names (Directional Volume, BetterVolume) in case you come across them
what is V.Viewer
=====================
The idea here is to find a "simple proxy" for estimating the demand or supply portions of a volume bar - these 2 forces have the potential to affect the current price trend so we want an easy way to track them - or to understand if a stock is in accumulation or distribution - we want to do this without having access to Level II or bid/ask data, and without having to get into the complexity of exploring the lower timeframe price & volume data
- to achieve that, we depend on a simple assumption, that the volume associated with an up move is "demand" and the volume associated with a down move is "Supply". so we basically extrapolate these supply and demand values based on how the bar looks like - a full "green" price bar / candle will be considered 100% demand, and a full "red" price bar will be considered 100% supply - a bar that opens and closes at the same level will be 50/50 split between supply & demand.
- you may say this is a "too simple" of an assumption to make, but believe me, it works :) at least at the basic scenario we need here: i'm just exploring the volume movement and finding key levels - and it provides a good improvement compared to the classic way we see volume on a chart - which is still available here in VolumeViewer.
in all cases, i consider this to be work in progress, so i'd welcome any ideas to improve (without getting too complicated) - there's already a host of great volume-based indicators that will do the multi timeframe drill down, but that's not my scope here.
Technical Jargon & calculation
===========================
1. first we calculate a score % for the volume portion that is considered demand based on the bar shape
skip this part if it sounds too technical => if you're into coding indicators, you would probably know there are couple of different concepts for that algorithm - for example, the one used in Balance Of Power formula - which i'm a big fan of - but the one i use here is different. (how?) this is my own, ant it simply applies double weight for the "wick" parts of a price bar compared to the "body of the bar" -- i did some side-by-side comparison in past and decided this one works better. you can change it in the code if you like
2. after calculating the Bull vs Bears portion of volume, we take a moving average of both for the length you set, to come up with what we consider to be the Demand vs Supply - as usual, i use a weighted moving average (WMA) here.
3. the balance or net volume between these 2 lines is calculated, then we apply a final smoothing and that's the main plot we will get
4. being a very visual person, i did my best to build up the visuals in the correct order - then also to ensure the "study title" bar is properly organized and is simple and useful (Full Volume, Supply, Demand, Net Volume).
- i wish there was a way in Pine to hide a value that i still need to visually plot but don't want it showing its value on the study title bar, but couldn't find it. so the last plot value is repeated twice.
How to use
===========
- V.Viewer is set up to show the simplified view by default for simplicity. so when you first add it to a chart, you will get only the supply vs demand view you can see in the middle pane in the above chart
- Optional / detailed mode: go into the settings, and expose all other plots, you will be able to add the classic volume histogram, and the Supply / Demand lines - note these 2 lines will be overlay-ed on top of each other - this provides an easy way to see who is in control - especially if you change the display of these 2 lines into "area" style. This is what is showing in the lower pane in the above chart.
** Exploring Key Price Levels
- the premise is, at spots where there's big lack of balance, that's where to expect to find key price levels (support / resistance) and these price levels will come into play in future so can be used to set entry / exit targets for our trades - see the example in the AAPL chart where you can easily locate these "balance or reversal levels" using the tops/bottoms/zero-crossings from the Net Volume line
** Use for longer-term Price Analysis
- we can also use this simple indicator to gain more insights (at a high level) of the price in terms of accumulation vs distribution and if the sellers or buyers are in control - for example, in the above AAPL chart, V.Viewer tells us that buyers have been in control since October 19 - even during the recent drop, demand continued to be in play - compare that to DIS chart below for the same period, where it shows that the market was dumping DIS thru the weakness. DIS was bleeding red most of the time
Final thoughts
=============
- V.Viewer is an attempt to enhance the way we see and use Volume by leveraging the shape of the price bar to estimate volume supply & demand - and the Net between the 2
- it will work for stocks and other instruments as long as there's volume data
- note that V.Viewer does not track trend. each bar is taken in isolation of prior bars - the price may be going down and V.Viewer is showing supply going up (absorption scenario?) - so i suggest you do not use it to make decisions without consulting other trend / momentum indicators - of course this is a possible improvement idea, or can be implemented in another indicator, add in trend somehow, or maybe think of making this a +100 / -100 Oscillator .. feel free to play with these thoughts
- all thoughts welcome - if this is useful to you in your trading, please share with other trades here to learn from each other
- the code is commented - please feel free to use it as you like, or build things on top of it - but please continue to credit the author of this code :)
good luck!
-
Many Inflation RateThis is a assortment of countries' inflation rates, sourced by Quandl. The countries are represented by their ISO 3166-1 alpha-3 codes in the options, and at the moment include:
ARG, AUS, CAN, CHE, DEU, EUR, FRA, GBR, ITA, JPN, NZL, RUS, USA
Included is a correlation to the current chart and the selected inflation rate. The correlation compares the monthly moving averages of YOY inflation and the chart closes over a period of two years. At the moment this doesn't seem to be the most efficient method of correlation/comparison, should there be one to begin with.
More information:
www.ons.gov.uk
www.bls.gov
voxeu.org
en.wikipedia.org
See here for a different version:
Donchian Trend RibbonHello Traders,
I think you all know Donchian Channels. so I am not going to write about it.
With this indicator I tried to create Donchian Trend Ribbon by using Donchian Channels.
How it works ?
- it calculates main trend direction by using the length that is user-defined. so you can change it as you wish
- then it calculates trend direction for each 9 lower lengths. if you set the length = 20 then the lengths are 19, 18,...11
- and it checks if the trend directions that came from lower lengths is same or not with main trend direction.
- it changes the trend color of the ribbon.
-
Warning: Entry points may also represents trend reversal. So you should use stoploss line if you decide to take buy/sell positions.
P.S. I didn't backtest it, it's non-repainting, it should be used educational purposes only.
Published by user request. You may want to see following one:
Enjoy!
Donchian TrendHello All,
I think all of you knows Donchian Channels . so I am not going to write about it.
With this indicator I tried to create Trend Lines by using Donchian Channel upper/lower bands. I tried add possible entry levels as well.
How it works ?
- it calculates main trend direction by using the length that is user-defined. so you can change it as you wish
- then it calculates trend direction for 9 lower lengths. if you set the length = 20 then the lengths are 19, 18,...11
- and it checks if the trend directions that came from lower lengths is same or not with main trend direction.
- it changes the trendline color. lighter trend line means stonger trend, darker trend lines means entry points or possible trend reversal.
- it puts entry points by using trend directions that were created by using lower lengths. it gets entry points if high/low touches main trend line as well.
Warning: Arrows are entry points but it may also represents trend reversal. So you should use stoploss line if you decide to take buy/sell positions.
P.S. I didn't backtest it, it's non-repainting, it should be used educational purposes only . I believe it can be improved, so I am open for new ideas to improve it ;)
Enjoy!
Mean Reversion w/ Bollinger BandsThis is a more advanced version of my original mean reversion script.
It employs the famous Bollinger Bands.
This robot will buy when price falls below the lower Bollinger Band, and sell when price moves above the upper Bollinger Band.
I've only tested it on the S&P 500, though you could try it out on other assets to see the backtest performance.
During the recent COVID-19 bear market drop, it produced several buy signals on the S&P which I followed, and made some nice gains so far.
I still think this would make a better investing strategy (buy undervalued / sell over-valued), rather than a trading strategy.
I use this robot for my long term portfolio.
Major Event Price Indicators (Coronavirus Lows)This very simple script adds a corridor for two low price ranges, where Corona started to hit. Useful to visualize where a stock currently trades at, relative to the Corona / Covid-19 crisis.
Can easily be adjusted for different dates regarding any major events, crashes. Useful when you run out of Alarms and just want to see "is that still below or above where it was before ?".
Add as many dates as you want, just alter the names of each indicator.
Built upon the script of vitvlkv.
COVID Statistics Tracker & Model Projections by Cryptorhythms😷 COVID-19 Coronavirus Tracker & Statistics Tools by Cryptorhythms 😷
📜Intro
I wanted to put some more meaning behind the numbers for 2020's Covid pandemic. I hope this tool can help people analyze and deal with these hard times. With these metrics I hope to give greater depth and dimension to whats available. While also at the same time creating something that looks decently presentable and gives actionable information.
I had planned on including a few forecasting models and letting the user play with values to see how social distancing works. But alas I couldnt complete those in the scope of time I gave myself for the indicator. If you are interested in collaborating on it, I will share what I have with you and we can further work on it.
📋Description
The script contains 3 main parts you will interact with. I suggest you enable the chart labels for "indicator name" and "indicator last value" to make the charts more readable (right click on the scale of your chart and goto the "labels" pop out menu). Depending on what plots and data you choose to chart, logarithmic and regular scales can both be applied in different situations. To get similar visuals to the examples I will show below, you can goto the indicator options > style tab. I then play with the line styles, colors and transparencies to achieve the nice looking charts. Please also note there is a distinction between "Infected" and "Infectious". A model telling you the number of infected doesnt designate whether that person can still pass the virus on to others (infectious). So Infectious numbers are usually lower than total confirmed, but this isnt always the case if for example a country wasnt testing very much during the early phase or something else.
🚧Disclaimer
I am not a medical professional and none of this should be considered medical advice. All of the models, numbers and math I sourced from professional places but this is not a guarantee of the future only an approximation based on current information. Numbers change daily and so can these models!
🌐PART ONE
In this area you select a region to read the proper statistics data from tradingview. You can do global totals, country totals, or for a few places (AU, CA, CN, US) you can see state/province totals. Remember to SELECT ONLY ONE region.
🧮PART TWO
The Plots/Stats/Data section includes:
1. ) Plot the Days to Double Number of Confirmed
2. ) Plot the Infection Growth Ratio
3. ) Plot Fatality Risk Rate (Total Deaths / Total Outcomes)
4. ) Plot Overall Fatality Rate / Recovery Rate
5. ) Plot % of World Infected & % of USA Infected
6. ) Plot Daily New Deaths, Confirmed & Recovered
7. ) Plot Daily Change Percentages
🎱PART THREE
Forecasting Models and Settings:
1 .) Plot the % of Custom Population Infected (Vs. the Region Selected in Part 1 of Settings)
2 .) Plot the True Num. of Infectious (Death Model / DM)
3 .) Plot the Current and Next Weeks Cumulative Infection Projection (DM)
4 .) Plot Estimated Infection Rates? (DM)
5 .) Enable Basic Trajectory Projection?
6 .) Plot the Likelihood of > 0 **Infectious** in a Group (DM) for Today, Tomorrow and Next Week
7 .) Plot the True Num. of Infected (Confirmed/Tested Model)
8 .) Plot the Estimated Epidemiology for 7 and 14 Days Out (Hospital Beds, ICU Beds, Ventilator Units)
Planned But not completed
9.) SIR Epidemiology Model
10.) Exponential Growth Plot & Correlation
To use the Estimator for likelihood of Infected in N group of people you need to do 2 things. Select and use "Custom Population" as the population source for part 3. Then you need to enable "Custom Infected" as the source for the model. Then you enter your geographical area's population and confirmed cases. Its best to goto the smallest / most granular level of data available to accurately estimate the likelihood. So for instance in the order of least effective to most effective data source: global, country, state, county, city...etc.
If you do not understand what these terms or numbers represent, please read the source materials I have linked in the code, or use google. I dont have the time or expertise to explain all the various specific methods and terms included here. This entire project was a learning journey for me and I have zero experience in epidemiology so please excuse any errors I may have made. (and tell me, so I can change it!)
🔮Future Additions
If anyone has a model or stat they would like included I will be happy to add your code to this toolbox to make it more effective and give you credit here in the description. If you want to collaborate please message me.
📊Some Example Charts:
The Cryptorhythms Team wish you and your families all the absolute best of health!
P.S. Stay safe and act smart I dont think this will be the EOTW.
[mya] ATR FilteredATR Filtered for NNFX trading.
A classic Average True Range (ATR) indicator with a simple feature to filter out the spikes.
The ATR value is the tool to determine your TP and SL on daily time-frame, specifically in the NNFX way of trading.
VP mentions in his podcast that when the ATR spikes up you have 2 options: 1. wait 14 candles for the ATR to normalize, 2. use the ATR value prior to the spike.
ATR spikes are easy to spot (thus easy to exclude) for an itraday flash crash.
On the other hand when volatility increases over several candles (as in the Covid-19 shock) it can be difficult to determine which ATR value to base your TP/SL on.
In definition of standard deviation, 95.4% of the value will fall within the 2 sigma bands. Therefore the rest 4.6% can be filtered out as an extreme value (a spike).
The ATR in this indicator will plot the standard ATR value in normal condition, then when the ATR spike happens it will stay at the highest value at the point, when the ATR exceeded its 2 sigma band.
The filtering will reset when the ATR comes back down below the extended highest value.
*Disclaimer: Use at your own risk. I am not a programmer, just another guy trying to beat this game. Let's go get it.
COVID-19: Daily change per capita (EU only)New confirmed cases per day (daily change) is one thing, just an absolute value but when we put this number in context of population (per million people) of each country the situation is a bit different.
We can easily see that, at the moment (Apr 2nd, 2020), the most affected country is Spain (~150 new cases per million people per day) and surprisingly the second one is Switzerland (CH). We can also see Spain or Belgium's steep curve relative to other countries.
I know that some countries run more tests than the others and the outcome might not be reflect the reality but this is the official data that is available.
COVID-19: Daily momentumThis indicator shows 14-days moving average of daily rate of change (momentum, acceleration), in other words:
- up trends means that virus accelerates at the rate displayed on the right scale
- consolidation/horizontal movement - virus spreads at constant rate
- down trend - virus looses momentum IMPORTANT: the virus STILL accelerates but at a lower rate
By default the graphic displays World vs. EU vs. US vs. Asia while individual countries are available in Settings.
- EU includes the following countries (DE, FR, IT, ES, CH), all with more than 10k confirmed cases and more than 1k new daily infections.
- Asia includes CH and KR
To use the indicator it is important to disconnect main chart from the right scale, on main chart click on More (the 3 dots) -> Pin to scale -> Select "No Scale".
Covid-19 CFR, Difference Indicator [Bitduke]Simple indicator to track case fatality rate and difference in deaths | recovered cases for novel coronavirus. It could help to trace the impact on the stock market and cryptocurrencies.
Case fatality rate (CFR) - an indicator equal to the ratio of the number of deaths from a disease to the number of patients with this disease for a certain period of time. That is, if CFR = 30% it means one died, two cured out of 3 infected.
The percentage change between recovered cases
The percentage change between deaths
Assumption
It can be assumed that if we consider bitcoin as a store of value, then when the situation getting worse (CFR + deaths difference increase and recovery difference decreases) bitcoin price tends to rise and vice versa.
But this is only an assumption that requires additional tests; there is still little data for a robust statistical analysis.
Variable Alert Box Examplejust publishing to share to novice pine coders like myself
any feedback on layout/structure/shortcuts will always be appreciated, not that this is a long script with much that can go wrong
short little what ever to show variable alert message
needs to draw the number from a plotted number like line 18 and 19, and cant be gettin the numbers from line 14 and 16
HatiKO EnvelopesPublished source code is subject to the terms of the GNU Affero General Public License v3.0
This script describes and provides backtesting functionality to internal strategy of algorithmic crypto trading software "HatiKO bot".
Suitable for backtesting any Cryptocurrency Pair on any Exchange/Platform, any Timeframe.
Core Mechanics of this strategy are based on theory of price always returning to Moving Average + Envelopes indicator (Moving_average_envelope from Wiki)
Developement of this script and trading software is inspired by:
"Essential Technical Analysis: Tools and Techniques to Spot Market Trends" by Leigh Stevens (published on 12th of April 2002)
"Moving Average Envelopes" by ChartSchool, StockCharts platform (published on 13th of April 2015 or earlier)
"Коля Колеснік" from Crypto Times channel ("Метод сетка", published on 19th of August 2018)
"3 ways to use Moving Average Envelopes" by Rich Fitton, published on Trader's Nest (published on 28st of November 2018 or earlier)
noro's "Robot WhiteBox ShiftMA" strategy v1 script, published on TradingView platform (published on 29th of August 2018)
"Moving Average Envelopes: A Popular Trading Tool" Investopedia article (published 25th of June 2019)
and KROOL1980's blogpost on Argolabs ("Гридерство или Сетка как источник прибыли на форекс", published on 27th of February 2015)
Core Features:
1) Up to 4 Envelopes in each direction (Long/Short)
2) Use any of 6 different basis MAs, optionally use different MAs for Opening and Closure
3) Use different Timeframes for MA calculation, without any repainting and lookahead bias.
4) Fixed order size, not Martingale strategy
5) Close open position earlier by using Deviation parameter
6) PineScript v4 code
Options description:
Lot - % from your initial balance to use for order size calculation
Timeframe Short - Timeframe to use for Short Opening MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe
MA Type Short - Type of MA to use for Short Opening MA calculation, can be chosen from dropdown list, default is SMA
Data Short - Source of Price for Short Opening MA calculation, can be chosen from dropdown list, default is OHLC4
MA Length Short - Period used for Short Opening MA calculation, should be >=1, default is 3
MA offset Short - Offset for MA value used for Short Envelopes calculation, should be >= 0, default is 0
Timeframe Long - Timeframe to use for Long Opening MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe
MA Type Long - Type of MA to use for Long Opening MA calculation, can be chosen from dropdown list, default is SMA
Data Long - Source of Price for Long Opening MA calculation, can be chosen from dropdown list, default is OHLC4
MA Length Long - Period used for Long Opening MA calculation, should be >=1, default is 3
MA offset Long - Offset for MA value used for Long Envelopes calculation, should be >= 0, default is 0
Mode close MA Short - Enable different MA for Short position Closure, default is "false". If false, Closure MA = Opening MA
Timeframe Short Close - Timeframe to use for Short Position Closure MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe
MA Type Close Short - Type of MA to use for Short Position Closure MA calculation, can be chosen from dropdown list, default is SMA
Data Short Close - Source of Price for Short Closure MA calculation, can be chosen from dropdown list, default is OHLC4
MA Length Short Close - Period used for Short Opening MA calculation, should be >=1, default is 3
Short Deviation - % to move from MA value, used to close position above or beyond MA, can be negative, default is 0
MA offset Short Close - Offset for MA value used for Short Position Closure calculation, should be >= 0, default is 0
Mode close MA Long - Enable different MA for Long position Closure, default is "false". If false, Closure MA = Opening MA
Timeframe Long Close - Timeframe to use for Long Position Closure MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe
MA Type Close Long - Type of MA to use for Long Position Closure MA calculation, can be chosen from dropdown list, default is SMA
Data Long Close - Source of Price for Long Closure MA calculation, can be chosen from dropdown list, default is OHLC4
MA Length Long Close - Period used for Long Opening MA calculation, should be >=1, default is 3
Long Deviation - % to move from MA value, used to close position above or beyond MA, can be negative, default is 0
MA offset Long Close - Offset for MA value used for Long Position Closure calculation, should be >= 0, default is 0
Short Shift 1..4 - % from MA value to put Envelopes at, for Shorts numbers should be positive, the higher is number, the higher should be Shift position, example: "Shift 1 = 1, shift 2 = 2, etc."
Long Shift 1..4 - % from MA value to put Envelopes at, for Longs numbers should be negative, the lower is number, the lower should be Shift position, example: "Shift 1 = -1, shift 2 = -2, etc."
From Year 20XX - Backtesting Starting Year number, only 20xx supported as script is cryptocurrency-oriented.
To Year 20XX - Backtesting Final Year number, only 20xx supported as script is cryptocurrency-oriented.
From Month - Years starting Month, optional tweaking, changing not recommended
To Month - Years ending Month, optional tweaking, changing not recommended
From day - Months starting day, optional tweaking, changing not recommended
To day - Months ending day, optional tweaking, changing not recommended
Graph notes:
Green lines - Long Envelopes.
Red lines - Short Envelopes.
Orange line - MA for closing of Short positions.
Lime line - MA for closing of Long positions.
**************************************************************************************************************************************************************************************************************
Опубликованный исходный код регулируется Условиями Стандартной Общественной Лицензии GNU Affero v3.0
Этот скрипт описывает и предоставляет функции бектеста для внутренней стратегии алгоритмического программного обеспечения "HatiKO bot".
Подходит для тестирования любой криптовалютной пары на любой бирже/платформе, на любом таймфрейме.
Кор-механика этой стратегии основана на теории всегда возвращающейся к значению МА цены с использованием индикатора Envelopes (Moving_average_envelope from Wiki)
Разработка этого скрипта и программного обеспечения для торговли вдохновлена следующими источниками:
Книга "Essential Technical Analysis: Tools and Techniques to Spot Market Trends" Ли Стивенса (опубликовано 12 апреля 2002 года)
«Moving Average Envelopes» от ChartSchool, платформа StockCharts (опубликовано 13 апреля 2015 года или раньше)
«Коля Колеснік» с канала Crypto Times («Метод сетка», опубликовано 19 августа 2018 года)
«3 ways to use Moving Average Envelopes» Рича Фиттона, опубликованные в «Trader's Nest» (опубликовано 28 ноября 2018 года или раньше)
Скрипт стратегии noro "Robot WhiteBox ShiftMA" v1, опубликованный на платформе TradingView(опубликовано 29 августа 2018 года)
«Moving Average Envelopes: A Popular Trading Tool», статья Investopedia (опубликовано 25 июня 2019 года)
Блог KROOL1980 из Argolabs («Гридерство или Сетка как источник прибыли на форекс», опубликовано 27 февраля 2015 года)
Основные особенности:
1) До 4-х Ордеров в каждом из направлении (Лонг / Шорт)
2) Выбор из 6-ти разных базовых МА, опционально используйте разные МА для открытия и закрытия.
3) Используйте разные таймфреймы для расчета MA, без перерисовки и "эффекта стеклянного шара".
4) Фиксированный размер ордера, а не стратегия Мартингейла
5) Возможность закрытия открытой позиции заблаговременно, используя параметр Deviation
6) Код реализован на PineScript v4
Описание параметров:
Lot - % от вашего первоначального баланса, используется при расчете размера Ордера
Timeframe Short - таймфрейм, используемый для расчета МА Открытия Шорт позиций, может быть выбран из списка, по умолчанию - таймфрейм текущего графика
MA Type Short - тип MA, используемый для расчета МА Открытия Шорт позиций, может быть выбран из списка, по умолчанию SMA
Data Short - источник цены для расчета МА Открытия Шорт позиций, может быть выбран из списка, по умолчанию OHLC4
MA Length Short - период, используемый для расчета МА Открытия Шорт позиций, должен быть >= 1, по умолчанию 3
MA Offset Short - смещение значения MA, используемого для расчета Шорт Ордеров, должно быть >= 0, по умолчанию 0
Timeframe Long - таймфрейм, используемый для расчета МА Открытия Лонг позиций, может быть выбран из списка, по умолчанию - таймфрейм текущего графика
MA Type Long - тип MA, используемый для расчета МА Открытия Лонг позиций, может быть выбран из списка, по умолчанию SMA
Data Long - источник цены для расчета МА Открытия Лонг позиций, может быть выбран из списка, по умолчанию OHLC4
MA Length Long - период, используемый для расчета МА Открытия Лонг позиций, должен быть >= 1, по умолчанию 3
MA Offset Long - смещение значения MA, используемого для расчета Лонг Ордеров, должно быть >= 0, по умолчанию 0
Mode close MA Short - Включает отдельное MA для закрытия Шорт позиции, по умолчанию «false». Если false, MA Закрытия = MA Открытия
Timeframe Short Close - таймфрейм, используемый для расчета МА Закрытия Шорт позиций, может быть выбран из списка, по умолчанию - таймфрейм текущего графика
MA Type Close Short - тип MA, используемый при расчете МА Закрытия Шорт позиции. Mожно выбрать из списка, по умолчанию SMA
Data Short Close - источник цены для расчета МА Закрытия Шорт позиций, может быть выбран из списка, по умолчанию OHLC4
MA Length Short Close - период, используемый для расчета МА Закрытия Шорт позиции, должен быть >= 1, по умолчанию 3
Short Deviation - % отклонения от значения MA, используется для закрытия позиции выше или ниже рассчитанного значения MA, может быть отрицательным, по умолчанию 0
MA Offset Short Close - смещение значения MA, используемого для расчета закрытия Шорт позиции, должно быть >= 0, по умолчанию 0
Mode close MA Long - Включает разные MA для закрытия Лонг позиции, по умолчанию «false». Если false, MA Закрытия = MA Открытия
Timeframe Long Close - таймфрейм, используемый для расчета МА Закрытия Лонг позиций, может быть выбран из списка, по умолчанию - таймфрейм текущего графика
MA Type Close Long - тип MA, используемый при расчете МА Закрытия Лонг позиции. Mожно выбрать из списка, по умолчанию SMA
Data Long Close - источник цены для расчета МА Закрытия Лонг позиций, может быть выбран из списка, по умолчанию OHLC4
MA Length Long Close - период, используемый для расчета МА Закрытия Лонг позиции, должен быть >= 1, по умолчанию 3
Long Deviation -% для перехода от значения MA, используется для закрытия позиции выше или ниже рассчитанного значения MA, может быть отрицательным, по умолчанию 0
MA Offset Long Close - смещение значения MA, используемого для расчета закрытия Лонг позиции, должно быть >= 0, по умолчанию 0
Short Shift 1..4 - % от значения MA для размещения Ордеров, для Шорт Ордеров должен быть положительным, чем выше номер, тем выше должна располагаться позиция Shift, например: «Shift 1 = 1, Shift 2 = 2 и т.д. "
Long Shift 1..4 - % от значения MA для размещения Ордеров, для Лонг Ордеров должно быть отрицательным, чем ниже число, тем ниже должна располагаться позиция Shift, например: «Shift 1 = -1, Shift 2 = -2, и т.д."
From Year 20XX - Год начала тестирования, из-за ориентированности на криптовалюты поддерживаются только значения формата 20хх.
To Year 20XX - Год окончания тестирования, из-за ориентированности на криптовалюты поддерживаются только значения формата 20хх.
From Month - Начальный месяц, опционально, менять не рекомендуется
To Month - Конечный месяц, опционально, менять не рекомендуется
From day - Начальный день месяца, опционально, менять не рекомендуется
To day - Конечный день месяца, опционально, менять не рекомендуется
Пояснения к графику:
Зеленые линии - Лонг Ордера.
Красные линии - Шорт Ордера.
Оранжевая линия - MA Закрытия Шорт позиций.
Лаймовая линия - MA Закрытия Лонг позиций.