VuManChu Cipher B + Divergences StrategyA Strategy using VuManChu Cipher B + Divergences for backtesting purpose.
Cari dalam skrip untuk "backtesting"
Relative Strength Index - MayurRSI backtesting long only portfolio builder.
only for investing at cheap valuations
Triple ThreatThis indicator provides buy and sell signals for Bitcoin based on confluence from well-known momentum, volatility, and trend indicators. It has successfully captured the major directional trends on Bitcoin's daily chart since 2018, and the settings are currently optimized for this chart in particular. This indicator implements RSI to gauge momentum, BBWP to gauge volatility, and an EMA to gauge trend. Maximum confluence signals are represented by horizontal bars in the indicator's pane, where the tallest green bar is a confirmed buy signal, and the tallest red bar is a confirmed sell signal. The shortest bar represents a momentum-only signal, and the second-shortest bar represents a volatility signal in confluence with the previously given momentum signal.
To track momentum, the RSI is plotted to the indicator plane against a moving average of the RSI. A momentum signal is generated when the RSI crosses over its moving average, retests/approaches the moving average, and then continues in the crossover direction (i.e., it fails to cross the moving average to the opposite side, creating a successful retest). The settings that affect this trigger are the "Crossover Threshold," which specifies how much the RSI should exceed the moving average to be considered a crossover, and the "Retest threshold," which specifies how closely the RSI should approach the moving average to be considered a retest. A momentum signal is ALSO generated if the RSI or its moving average exceed their counterpart by a certain threshold. For example, if the threshold was set at 10, a BUY signal would be generated when the RSI exceeds the moving average by 10, or a SELL signal would be generated when the moving average exceeds the RSI by 10. This threshold can be set using the "Instant Signal Threshold" setting. Either type of momentum signal will be plotted on the pane as the shortest horizontal bar, with its color indicating the signal's direction.
Volatility is primarily measured using the Bollinger Band Width Percentile (BBWP) indicator, which was created by The_Caretaker. BBWP plots the volatility of the asset's price, given by Bollinger Band width, relative to past volatility by assigning the volatility readings into percentiles. The indicator also includes a moving average of the BBWP itself, where a crossover to the upside represents expanding volatility and a crossover to the downside represents contracting volatility. This indicator is used to confirm a signal given by the momentum indicators - a momentum signal that is given during a period of expanding volatility has a greater likelihood of success. Therefore, when the BBWP crosses above its moving average by a given threshold, a previously triggered momentum signal is considered to be "confirmed." The threshold for this crossover can be set using the "BBWP Confirmation Threshold" setting. However, it is also relevant that periods of extreme volatility often accompany an extremity in price action (a "top" or "bottom"), in which case the BBWP is likely to contract after price reaches such an extremity. This phenomenon is captured by also using "extreme reads" on the momentum indicator to signal that there has already been enough volatility to confirm a momentum signal. If the RSI gives an "extreme read" before triggering a signal, the momentum signal is also considered to be confirmed. For example, if the RSI is above 80, breaks below 80, and then gives a SELL signal, this sell signal is considered to be confirmed without requiring the BBWP to crossover its moving average to the upside. The threshold that would confirm a SELL signal can be set with the "Overbought" setting, and the threshold that would confirm a BUY signal can be set with the "Oversold" setting. Whenever a volatility signal confirms a momentum signal, a medium-sized horizontal bar will be plotted on the pane in the same directional color as the momentum signal. Note that a momentum signal may trigger at the exact same time as the volatility signal which confirms it; in this case, only the medium-sized bar will be visible on the pane, but its direction can still be identified by its color.
Lastly, to reduce the likelihood of "false signals," a trend indicator is used to confirm the direction of the signal. This is typically an exponential moving average. If a confirmed volatility SELL signal is given, and the closing price is below the moving average, then the SELL signal is also confirmed by the trend. Likewise, if a confirmed volatility BUY signal is given, and the closing price is above the moving average, then the BUY signal is confirmed by the trend. The type and length of the moving average used to verify the trend can be set using the "Moving Average Type" and "Moving Average Length" settings found below the momentum/volatility settings. A trend signal is plotted on the pane as a tall horizontal bar, and is more deeply colored than the momentum and volatility signals.
For maximum confluence, it is recommended that the trend signal, given by the tallest bar, is the one that forms the basis of trades executed while using the Triple Threat indicator. It is possible to enter more aggressive trades with better entries by using only the volatility signal, given by the medium-sized bar, however this entails greater risk and should only be done in confluence with an additional trading strategy of your own discretion. Backtesting has shown that using the volatility signal alone underperforms using the volatility signal in confluence with the trend signal.
Please also be advised that the default setting are optimized for Bitcoin's daily chart only. The indicator is still applicable to other timeframes and asset classes, but the settings may need to be modified. I have a list of settings for other Bitcoin timeframes, and I would be happy to share them upon request.
I hope you can find this indicator to be of some use to your trading strategies. I'd be happy to hear any feedback from the community, so please don't hesitate to reach out. Stay safe, and happy trading.
Combo 2/20 EMA & Adaptive Price Zone This is combo strategies for get a cumulative signal.
First strategy
This indicator plots 2/20 exponential moving average. For the Mov
Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
Second strategy
The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors
identify possible market turning points, which can be especially useful in a sideways-moving
market. It was created by technical analyst Lee Leibfarth in the article “Identify the
Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue
of the journal Technical Analysis of Stocks and Commodities.
This indicator attempts to signal significant price movements by using a set of bands based on
short-term, double-smoothed exponential moving averages that lag only slightly behind price changes.
It can help short-term investors and day traders profit in volatile markets by signaling price
reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be
implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
WARNING:
- For purpose educate only
- This script to change bars colors.
Heikin Ashi EMA v5 no repaint This script was inspired by the "Heikin/Kaufman Strategy" from marco valente built on v2.
The script was rebuilt on the v5 and most importantly removed the repaint function that was driving surrealistic backtesting inflated numbers.
This script is now fully functional and not repainting - At the time of testing worked efficiently 90% WR and 2x profit factor on CFD WTI OIL with a 15m time frame indexed on forex.com price.
You should utilize this script with caution, especially on high volatility cycles you can try plotting against a volatility relative index or stop.
I also strongly recommend understanding the fundamentals of WTI OIL to balance the indications of the strategy with fundamentals.
Thanks to Clovis Warlop and Nilesh Sharma for their contribution.
Cheers,
Gustavo Bramao
BTC Cap Dominance RSI StrategyThis strategy is based on the BTC Cap Dominance RSI indicator, which is a combination of the RSI of Bitcoin Market Cap and the RSI of Bitcoin Dominance. The concept of this strategy is to get a good grasp of the bitcoin market flow by combining bitcoin dominance as well as bitcoin market cap.
BTC Cap Dominance (BCD) RSI is defined as:
BCD RSI = (BTC Cap RSI + BTC Dominance RSI) / 2
Case 1 (Bull market):
Both Cap RSI and Dominance RSI values are high
Case 2 (Neutral market):
Cap RSI is high but Dominance RSI is low
Cap RSI is low but Dominance RSI is high
Case 3 (Bear market):
Both Cap RSI and Dominance RSI values are low
When the BCD RSI value closes the candle above the Bull level, it triggers a long signal and when the value closes below the Bear level, it triggers a short signal.
(Note) Please note that TradingView's market cap symbols (CRYPTOCAP:TOTAL and CRYPTOCAP:TOTAL2) started in January 2020, so strategy backtesting is possible from this point on.
(Note) Since the real-time BCD RSI value does not come out with this strategy, it is recommended to use it together because the current value can be known and the long-short signal can be predicted in advance by using a separate BCD RSI Index together.
If "Use Combination of dominance RSI ?" is not checked in addition to the recommended default value of the strategy, the recommended values are Length (14), Bull level (74), Bear level (25).
_______________________________________________________________________
이 전략은 비트코인 시가총액의 RSI와 비트코인 도미넌스 RSI를 조합하여 만든 BTC Cap Dominance RSI 지표를 기반으로 만들어졌습니다. 이 전략의 컨셉은 비트코인 시가총액뿐만 아니라 비트코인 도미넌스를 조합함으로써 비트코인 시장 흐름을 잘 파악할 수 있도록 하는 것입니다.
BTC Cap Dominance (BCD) RSI는 다음과 같이 정의하였습니다.
BCD RSI = (BTC Cap RSI + BTC Dominance RSI) / 2
Case 1 (강세 장):
Cap RSI와 Dominance RSI 값 모두 높은 경우
Case 2 (횡보 장):
Cap RSI는 높지만 Dominance RSI는 낮은 경우
Cap RSI는 낮지만 Dominance RSI는 높은 경우
Case 3 (약세 장):
Cap RSI와 Dominance RSI 값 모두 낮은 경우
BCD RSI 값이 Bull level 위에서 캔들 마감할 경우 long 신호를 트리거하고 Bear level 아래에서 캔들 마감할 경우 short 신호를 트리거합니다.
(주의) 트레이딩뷰의 시가총액 심볼들 (CRYPTOCAP:TOTAL과 CRYPTOCAP:TOTAL2)이 2020년 1월부터 시작하였으므로 이 시점부터 전략 백테스팅이 가능한 점을 유의하십시오.
(주의) 이 전략은 실시간 BCD RSI 값이 나오지 않기 때문에 별도의 BCD RSI Index를 함께 사용하면 현재 값을 알 수 있어 롱숏 신호를 사전에 예측할 수 있으므로 함께 사용하기를 권장합니다.
전략의 추천 기본값 외에 "Use Combination of dominance RSI ?"를 체크하지 않는 경우 권장하는 값은 Length (14), Bull level (74), Bear level (25) 입니다.
Candles HTF on Heikin Ashi ChartThis script enables calling and/or plotting of traditional Candles sources while loaded on Heikin Ashi charts.
Thanks to @PineCoders for rounding method: www.pinecoders.com
Thanks to @BeeHolder for method to regex normalize syminfo.tickerid.
NOTICE: While this script is meant to be utilized on Heikin Ashi charts it does NOT enable ability to backtest!
NOTICE: For more info on why non standard charts cannot be reliably backtested please see:
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!
CPR Option Selling StrategyGood afternoon traders,
This is a script I built for option selling, in attempt to have a high success rate.
The gist of how it works:
It uses the opening or close of the current chart's timeframe opening bar when referenced against a designated (higher) timeframe's central pivot range (CPR).
Using that comparison, this script calculates an option to sell: put, call, or iron condor. It will calculate a call value using an average of the CPR central pivot and the max value of the prior higher timeframe's high or R1 (whichever is higher.)
It does the same for the put side, but uses the higher timeframe's low or S1 (whichever is lower.)
It will use the option on the other side of the source (open or close) of the CPR as the "option in play."
Settings:
There are many settings, most are simply "viewable" settings, and probably self explanatory, others, not so much:
"Source for Trigger" - this is the value used on the "opening bar," such as the close. This value is the one compared to the Central Pivot Range in determining whether to sell a call (if the source is lower,) sell a put (if the source is higher,) or an iron condor if it's in the CPR.
"Show Historical Win/Loss Percentages" - this shows a table in the bottom right of the W/L percentages for the current ticker and settings. Used for a quick glance at historical success rates.
"Extend Developing Levels Into the Future" - This will extend the developing values for CPR values, call and put values into the future (good for trying to trade early or setting up pre-market trades, assuming there will not be huge gap in one direction or another.)
"Select Higher Timeframe" - "Auto" will choose the higher timeframe for you. "Manual" will use the next field...
"If Manual, Timeframe for Pivots" - allows you to choose a different higher timeframe.
The next two sections are simply whether to show the plots for different levels of traditional and/or camarilla pivot points.
The last section will allow you to just filter on certain days. Really only useful for "backtesting" certain 0DTE trades on some daily options during the hourly chart.
Example use:
An example use (which I completed last week) on the chart referenced in this share: I sold a put-spread for $0.90, selling a 590 and buying a 570 strike in the middle of the week. I was looking at an hourly timeframe chart with a weekly pivot timeframe for the strategy.
Obviously, making only $0.90 on a $20 spread, there is a lot more to lose than to make, but I did some other analysis to go with it, so I felt safe, and I had a stop set for $1.50. So it worked, along with 3 other plays I did, very similar, and if that "Historical Win/Loss Percentage" is accurate, which I am fairly certain it is, I felt good about it.
The key all comes down to what you sell it for, right? That piece only you can determine. :)
Happy trading and enjoy,
Deuce
Acrypto - Weighted StrategyHello traders!
I have been developing a fully customizable algo over the last year. The algorithm is based on a set of different strategies, each with its own weight (weighted strategy). The set of strategies that I currently use are 5:
MACD
Stochastic RSI
RSI
Supertrend
MA crossover
Moreover, the algo includes STOP losses criteria and a taking profit strategy. The algo must be optimized for the desired asset to achieves its full potential. The 1H and 4H dataframe give good results. The algo has been tested for several asset (same dataframe, different optimization values).
Important note:
Backtest the algorithm with different data stamps to avoid overfitting results
Best,
Alberto
Price Difference At ExpirationThe general idea:
When selling short options it is important to enter trades with a high probability of expiring Out Of The Money (OTM). Short options have limited upside and unlimited downside and so it is crucial to get both the direction and magnitude correct before entering a trade. However, this can be tricky to do reliably and so it's also a good idea to write options with a strike price far enough away from the underlying's price so that if you are directionally wrong, there's still a good chance of making a profitable trade.
But how far from the current price is far enough for a given underlying? How much is too much?
This indicator seeks to help short options traders answer these questions.
This script is fairly simple and is meant to work only on a daily chart. The basic idea is to show "if I had entered a trade with X days till expiration and a $Y strike, would the actual price change in the underlying have threatened my position before the option expired?"
To answer this question we take the closing price of each day and compare it with the closing price X number of days prior. If the current day closed higher than the day X days prior (Option entry), then we draw a positive bar with the value of the price change. Conversely, if the current day closed lower than the day X days prior we draw a negative bar with the value of the price change. For each bar we draw, we compare it with a given "max range" or "buffer". This buffer is how far OTM with which you are seeking to enter your options trade. If the actual price difference between the theoretical start and end of your trade is greater than the buffer you specified, the bar is drawn in red. Otherwise, if the total price change is safely within the buffer you built into your trade, the bar is drawn in gray.
Obviously, if you are really good at picking the direction of the underlying, the buffer you build into your options contract doesn't matter, you get a profitable trade no matter what! Good job, and please share your charts with me! However, for those of use a bit less clairvoyant, this indicator seeks to help options traders get a sense for whether or not their contracts have enough wiggle room to account for the price moving against them unexpectedly. This indicator gives you the ability to adjust expiration and buffer and get a sense for how well that configuration would have done historically if you had taken each contract to expiration. The assumption being: if it worked really well in the past, then it might work well for this trade. Obviously, past performance doesn't guarantee future results. Just because a particular buffer has worked well in the past doesn't mean that it will work now. Please trade at your own risk. This is just meant to help give a better sense of scale by offering historical comparisons. You can think of this as a rudimentary live backtesting tool.
How to use:
First, add the indicator to your chart and select an underlying. The example chart shown above is for RUT. In the example, I am interested in knowing whether a $200 buffer within 10DTE trades is sufficient to produce a likely winning trade even if I'm wrong about the direction of the underlying. To do this I push the settings button of the indicator and type in 10 for "Interval (days)" and 200 for "Buffer". Next I select only "Monday", "Wednesday", and "Friday" from the expiration checkboxes; leaving "Tuesday" and "Thursday" unchecked. This is because RUT has 3 expirations per week unlike most others that have just one per week (Friday). If you are looking at weekly options you should just check "Friday".
How to interpret the chart:
- Gray bars are your friends. Gray bars mean that if you had entered into a trade with the given DTE and buffer and you happen to be wrong about the direction (it happens to us all!), you would have still ended up with a winning trade. Good Job!
- Red bars indicate possible trouble. This means that your option would have likely been exercised if held till expiration given the amount of buffer you built into the contract. You might have needed to close for a loss or roll or take assignment.
How this can help:
I find it useful to adjust the DTE and buffer when I am going to enter a trade. It helps me see whether a similar trade has historically been resilient to lapses in directional judgement or not. If I'm really confident in the direction, then this won't be so useful. I could then sell closer to the money and feel like I have a winning position. But if there is less certainty and I want to dial back my risk, then this indicator helps me find the right risk/reward with regard to picking expirations and strikes.
Hourly Bias on BTC in Bullish USA Session “Green Eagle”Name: Hourly Bias on BTC in Bullish USA Session
Category: Hourly Bias
Operating mode: Spot, only long
Trades duration: Intraday, 11 bars
Timeframe: 1H
Suggested usage: When the market is compressed, USA session has a bullish bias.
Entry: enter Long at 15:00 on specific days of the week. There is a volatility filter based on ATR which identifies compression.
Exit: exit at a pre-defined time at 01:00
Usage:
⁃ It can be useful to use alerts or webhooks to automate this strategy.
⁃ This is a core system that can be improved in different ways (e.g. Stop-loss, take-profit, position sizing) or studying more the behaviour in the specific days of the week or short when is red.
Configuration:
- N/A
Backtesting
⁃ Exchange: BINANCE
⁃ Pair: BTCUSDT
⁃ Timeframe: 1H
⁃ Fee 0.075%
⁃ Slippage 2
- Start : 2019-01-06
We decided to release this free BTC strategy.
How you or we can improve? Source code is open so share your ideas!
AVG Stochastic Strategy [M30 Backtesting]1. AVG Stochastic Calculate
1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d
+ avg_k=ema((%k+%d)/2,smoothK)
1.2 AVG %D is calculated by apply EMA with %d period on AVG %K
+ avg_d=ema(avg_k,periodD)
2. Parameter
+ %K Length: 21
+ %K Smoothing: 3
+ %D Smoothing: 3
+ Symbol: BTC/USDT
+ Timeframe: M30
+ Pyramiding: Maximum 3 orders at the same direction.
3. Signal
3.1 Buy Signal
+ Entry: AVG %K crossover AVG %D and AVG %D < 20
+ Exit: AVG %D > 80
3.2 Sell Signal
+ Entry: AVG %K crossunder AVG %D and AVG %D > 80
+ Exit: AVG %D < 20
Modified QQE-ZigZag [Non Repaint During Candle Building]V V V V V V V Please Read V V V V V V V
I ask Peter and he is fine, that im published this script
Tell me if you have some ideas or criticism about that sricpt
>>>>>>>>>> This is a modified Version of Peter_O's Momentum Based ZigZag <<<<<<<<<<<
This is only a test, and i want to share it with the community
It works like other ZigZags
Because Peters_O's original Version is only non repaint on closed historical Data ,
during a Candle building process it can still repaint (signal appears / 21 seconds later signal disapears / 42 seconds later signal appears again in the same candle / etc.),
but that isnt important for backtesting, its only important for realtime PivotPoints during a candle.
My goal for this zigzag was to make it absolute non repaint neither during a candle building process (current candle),
so once the signal is shown there is no chance that it disapers and shown a few seconds later again on that same candle, it can only show up one time per candle an thats it,
and that makes it absolute non repaint in all time frames.
Credits to:
==> Thanks to @glaz , for bringing the QQE to Tradingview <3
==> Thanks to @Peter_O , for sharing his idea to use the QQE as base for a Zigzag
and for sharing his MTF RSI with the Community <3
Changes:
- I changed the MTF RSI a little bit, you can choose between two version
- I changed the QQE a little bit, its now using the MTF RSI , and its using High and Low values as Source to make it absolute non repaint during a candle is building
- I added a little Divergence Calculation beween price and the MTF RSI that is used for the ZigZag
Colors :
- Green for HH / HL Continuation
- Red for LL / LH Continuation
- Yellow for Positive Divergence
- Purple for Negative Divergence
Important:
It is not possible to backtest this script correctly with historical Data, its only possible in Realtime,
because the QQE is using crossunders with RSILowSource and the QQE Line to find the Tops and,
because the QQE is using crossovers with RSIHighSource and the QQE Line to find the Bottoms,
and that means it is not possible to find the correct Time/Moment when that crossovers / crossunders happens in historical Data
=============> So please be sure you understand the Calculation and Backtest it in Realtime when you want to use it,
because i didn't published this script for real trading
=============> Im not a financial advisor and youre using this script at your own risk
=============> Please do your own research
action zone - ATR stop reverse order strategy v0.1 by 9nckACTION ZONE-ATR MOD v0.1 DOCUMENTATION
Overview
This tradingview pine script strategy is mainly created to enrich my coding skill. It is a combination of “CDC-ACTIONZONE” and my personal studies of trading techniques in various sources e.g.book, course or blog. This strategy purposefully built to connect with my automatic trading bot. However, It will be very useful to aid your trading routine by diminishing mental distraction which possibly leads to bad trades.
How does it work?
This strategy will do a basic simple thing that most traders do by creating entry signals on both sides long/short and also set the stop loss. Furthermore, It will also reverse the order (from long to short and vice versa (if long/short conditions are met). Finally, it will recalculate the stop loss/take profit price in every complete bar to increase the chance of winning and limit our loss.
Entry rules(Long/Short)
If you have no open order, an order will be created when a fast EMA crosses(up(long)/down(short) the slow EMA(It’s as simple as that).
If you have an open order, the current order will be (sold if long, covered if short) and the opposite side order will be created.
Exit and Reverse rules(Long/Short)
If fast EMA cross (DOWN(long), UP(short)), the current order will be closed, THE OPPOSITE SIDE ORDER WILL ALSO BE CREATED.
Risk management
FLEX STOP PRICE : initial value will be set at the bar which order created. It is a fast ema (+/-) MIDDLE ATR value.
If MIDDLE ATR value rises, it will be our new stop price.
If MIDDLE ATR value falls, stop price unchanged
If Price OVERBOUGHT(long)/SOLD(short), LOW of that bar will be a new stop price.
Minimum position hold period
In order to eliminate risk of repeatedly open, close orders in sideway trends. Minimum hold period must be passed to start exit our position. However, It always respects stop loss prices. The value refers to the number of bars.
MUST READ!!!
This strategy uses only MARKET ORDER. If you trade with a bot, make sure you choose only enormous market cap tokens.
This strategy is bi-direction strategy. It will work best in the DERIVATIVE market.
It was initially designed to compete in the cryptocurrency market which has very high volume and volatility.
I only use this strategy in 1HR (acceptable change rate, optimum trade frequency)
How (should) we use it?
Choose crypto future pairs (recommend only top 10-15 market volume pairs in Binance, let’s say 1000M+ trade value)
Choose your time frame (1H is strongly recommended)
Setup your portfolio profile (Setting->Properties) such as Initial cap, order size, commission. DO NOT USE CAL ON EVERY TICK IT WILL CAUSE REPAINTING AND YOUR CAPITAL IS BLEEDING !!!
BACKTEST FIRST!! Back test is a combination of art, math and statis(and a bit of luck). You can apply to train and test methods or whatever you are familiar with. In my opinion, your test period should include UPTREND, SIDEWAY, DOWNTREND. Fine tune fast, slow ema first(my best ema length of 1H timeframe around 7-10, 17-22). Try to eliminate fault breakout trade and use other options only necessary. Hopefully we can use automatic optimization on Pine Script soon.
Don’t forget to turn off using a specific backtest date option to start your strategy.A
THIS IS NOT A PERFECT (OR EVEN PROFITABLE) STRATEGY. USE AT YOUR OWN RISK AND TRADE RESPONSIBLY. DYOR DUDE.
Nasdaq VXN Volatility Warning IndicatorToday I am sharing with the community a volatility indicator that uses the Nasdaq VXN Volatility Index to help you or your algorithms avoid black swan events. This is a similar the indicator I published last week that uses the SP500 VIX, but this indicator uses the Nasdaq VXN and can help inform strategies on the Nasdaq index or Nasdaq derivative instruments.
Variance is most commonly used in statistics to derive standard deviation (with its square root). It does have another practical application, and that is to identify outliers in a sample of data. Variance is defined as the squared difference between a value and its mean. Calculating that squared difference means that the farther away the value is from the mean, the more the variance will grow (exponentially). This exponential difference makes outliers in the variance data more apparent.
Why does this matter?
There are assets or indices that exist in the stock market that might make us adjust our trading strategy if they are behaving in an unusual way. In some instances, we can use variance to identify that behavior and inform our strategy.
Is that really possible?
Let’s look at the relationship between VXN and the Nasdaq100 as an example. If you trade a Nasdaq index with a mean reversion strategy or algorithm, you know that they typically do best in times of volatility . These strategies essentially attempt to “call bottom” on a pullback. Their downside is that sometimes a pullback turns into a regime change, or a black swan event. The other downside is that there is no logical tight stop that actually increases their performance, so when they lose they tend to lose big.
So that begs the question, how might one quantitatively identify if this dip could turn into a regime change or black swan event?
The Nasdaq Volatility Index ( VXN ) uses options data to identify, on a large scale, what investors overall expect the market to do in the near future. The Volatility Index spikes in times of uncertainty and when investors expect the market to go down. However, during a black swan event, historically the VXN has spiked a lot harder. We can use variance here to identify if a spike in the VXN exceeds our threshold for a normal market pullback, and potentially avoid entering trades for a period of time (I.e. maybe we don’t buy that dip).
Does this actually work?
In backtesting, this cut the drawdown of my index reversion strategies in half. It also cuts out some good trades (because high investor fear isn’t always indicative of a regime change or black swan event). But, I’ll happily lose out on some good trades in exchange for half the drawdown. Lets look at some examples of periods of time that trades could have been avoided using this strategy/indicator:
Example 1 – With the Volatility Warning Indicator, the mean reversion strategy could have avoided repeatedly buying this pullback that led to this asset losing over 75% of its value:
Example 2 - June 2018 to June 2019 - With the Volatility Warning Indicator, the drawdown during this period reduces from 22% to 11%, and the overall returns increase from -8% to +3%
How do you use this indicator?
This indicator determines the variance of VXN against a long term mean. If the variance of the VXN spikes over an input threshold, the indicator goes up. The indicator will remain up for a defined period of bars/time after the variance returns below the threshold. I have included default values I’ve found to be significant for a short-term mean-reversion strategy, but your inputs might depend on your risk tolerance and strategy time-horizon. The default values are for 1hr VXN data/charts. It will pull in variance data for the VXN regardless of which chart the indicator is applied to.
Disclaimer: Open-source scripts I publish in the community are largely meant to spark ideas or be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
Combo 2/20 EMA & Accelerator Oscillator (AC) This is combo strategies for get a cumulative signal.
First strategy
This indicator plots 2/20 exponential moving average. For the Mov
Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
Second strategy
The Accelerator Oscillator has been developed by Bill Williams
as the development of the Awesome Oscillator. It represents the
difference between the Awesome Oscillator and the 5-period moving
average, and as such it shows the speed of change of the Awesome
Oscillator, which can be useful to find trend reversals before the
Awesome Oscillator does.
WARNING:
- For purpose educate only
- This script to change bars colors.
RSI StrategyThis RSI strategy will allow you to go long when RSI is overbought and go short when RSI is oversold. You can also change the checked boxes to reverse this. Uncheck "Overbought Go Long & Oversold Go Short" and check "Overbought Go Short & Oversold Go Long" to use this reversed option.
You can also choose to use an ema filter as an additional qualifier for entry. Uncheck "No EMA Filter" and check "Use EMA Filter" if you want to use it.
Be sure to enter slippage and commission into the properties to give you realistic results.
I've also built in backtesting date ranges and the ability to trade only within certain times of day and have it close all trades at the end of that time frame. This is especially useful for day trading stocks. To specify a time from use the format 0930-1100 or whatever your trading hours will be. Check off "Enable Close Trade At End Of Time Frame" to close the trade at the end of your trading hours.
You can also specify a % based take profit and stop loss. Also keep in mind that the way this code is designed if you use the stop loss and/or take profit and it reaches either target and closes, then it will immediately re-enter if the condition for long or short entry is true.
Finally there's custom alert fields so you can send custom alert messages for strategy entry and exit for use with automated trading services. Simply enter your messages in the fields within the strategy properties and then put {{strategy.order.alert_message}} in your alert message body and it will dynamically pull in the appropriate message.
CCI StrategyThis CCI strategy will allow you to enter a long or short off a CCI zero line cross or control entries and exits from custom upper and lower band lengths. You can set a custom upper band which it will buy when it crosses up and then a custom upper band exit which it will sell when it crosses down. For a short you can set a custom lower band which it will short when it crosses down and the custom lower band exit which it will exit the short when it crosses up. Be sure to enter slippage and commission into the properties to give you realistic results.
I've also built in backtesting date ranges and the ability to trade only within certain times of day and have it close all trades at the end of that time frame. This is especially useful for day trading stocks. If you check off "Enter First Trade ASAP" then when using the time frame option it will enter the current trade. If however you uncheck that box and instead check off "Wait To Enter First Trade" it will wait for the trend to change and then enter.
You can also specify a % based take profit and stop loss. Also keep in mind that if you have "Enter First Trade ASAP" checked off and use the stop loss and/or take profit then it will re-enter the current trend again.
Finally there's custom alert fields so you can send custom alert messages for strategy entry and exit for use with automated trading services. Simply enter your messages in the fields within the strategy properties and then put {{strategy.order.alert_message}} in your alert message body and it will dynamically pull in the appropriate message.
Same high/low updateHere I made a strategy out of my indicator. So, the trigger is double low/high on 1 week candle chart.
Entrance: close of the next candle if it's low/high higher/lower than previous one. (in most cases it's precise for backtesting)
Stop loss: long:low-one tick, short:high+one tick
Take profit: ATR*Multiplier (you can tune it in properties)
Combo 2/20 EMA & Absolute Price Oscillator (APO) This is combo strategies for get a cumulative signal.
First strategy
This indicator plots 2/20 exponential moving average. For the Mov
Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
Second strategy
The Absolute Price Oscillator displays the difference between two exponential
moving averages of a security's price and is expressed as an absolute value.
How this indicator works
APO crossing above zero is considered bullish, while crossing below zero is bearish.
A positive indicator value indicates an upward movement, while negative readings
signal a downward trend.
Divergences form when a new high or low in price is not confirmed by the Absolute Price
Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO
forms a higher low. This indicates less downward momentum that could foreshadow a bullish
reversal. A bearish divergence forms when price makes a higher high, but the APO forms a
lower high. This shows less upward momentum that could foreshadow a bearish reversal.
WARNING:
- For purpose educate only
- This script to change bars colors.
S&P500 VIX Volatility Warning IndicatorToday I am sharing with the community a volatility indicator that can help you or your algorithms avoid black swan events. Variance is most commonly used in statistics to derive standard deviation (with its square root). It does have another practical application, and that is to identify outliers in a sample of data. Variance in statistics is defined as the squared difference between a value and its mean. Calculating that squared difference means that the farther away the value is from the mean, the more the variance will grow (exponentially). This exponential difference makes outliers in the variance data more apparent.
Why does this matter?
There are assets or indices that exist in the stock market that might make us adjust our trading strategy if they are behaving in an unusual way. In some instances, we can use variance to identify that behavior and inform our strategy.
Is that really possible?
Let’s look at the relationship between VIX and the S&P500 as an example. If you trade an S&P500 index with a mean reversion strategy or algorithm, you know that they typically do best in times of volatility. These strategies essentially attempt to “call bottom” on a pullback. Their downside is that sometimes a pullback turns into a regime change, or a black swan event. The other downside is that there is no logical tight stop that actually increases their performance, so when they lose they tend to lose big.
So that begs the question, how might one quantitatively identify if this dip could turn into a regime change or black swan event?
The CBOE Volatility Index (VIX) uses options data to identify, on a large scale, what investors overall expect the market to do in the near future. The Volatility Index spikes in times of uncertainty and when investors expect the market to go down. However, during a black swan event, the VIX spikes a lot harder. We can use variance here to identify if a spike in the VIX exceeds our threshold for a normal market pullback, and potentially avoid entering trades for a period of time (I.e. maybe we don’t buy that dip).
Does this actually work?
In backtesting, this cut the drawdown of my index reversion strategies in half. It also cuts out some good trades (because high investor fear isn’t always indicative of a regime change or black swan event). But, I’ll happily lose out on some good trades in exchange for half the drawdown. Lets look at some examples of periods of time that trades could have been avoided using this strategy/indicator:
Example 1 – With the Volatility Warning Indicator, the mean reversion strategy could have avoided repeatedly buying this pullback that led to SPXL losing over 75% of its value:
Example 2 - June 2018 to June 2019 - With the Volatility Warning Indicator, the drawdown during this period reduces from 22% to 11%, and the overall returns increase from -8% to +3%
How do you use this indicator?
This indicator determines the variance of the VIX against a long term mean. If the variance of the VIX spikes over an input threshold, the indicator goes up. The indicator will remain up for a defined period of bars/time after the variance returns below the threshold. I have included default values I’ve found to be significant for a short-term mean-reversion strategy, but your inputs might depend on your risk tolerance and strategy time-horizon. The default values are for 1hr VIX data. It will pull in variance data for the VIX regardless of which chart the indicator is applied to.
Disclaimer : Open-source scripts I publish in the community are largely meant to spark ideas or be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
Sessions with High/Low DiffThe main purpose of this indicator is to facilitate backtesting, but it may also be useful for traders to easily identify the current
active/open trading sessions on lower-timeframe charts.
This indicator also tracks the session high/low difference and plots it as a label on the last candle of the session once the last
bar of that session has finished printing and a new candle opened. The position and direction of the label is based on the
session open and close - if the session open is greater than the session close (which would equate to the equivalent of a red candle),
the label will be printed UNDER the last candle, and vice versa if the session close is above the session open.
The number printed inside the label is the difference between the session high and the session low, scaled to the minimum tick value of the chart.
Note #1: There is a Pinescript maximum of 500 labels allowed on any chart. While I could have gotten fancy and done some wizardry with label arrays,
I didn't really see a point to it. If labels are enabled for all 4 sessions at the same time, that would still have them available for the past 125
sessions, which would be about 6 months (approx 252 trading days per year, and this would cover 125 of them). If you limit to 2 sessions, you double
your potential look-back to almost a year (250 days out of the 252 average trading days each year), and for a single session, you double it yet again
to just under 2 years.
Note #2: As this indicator tracks open, high, low, and close for each session, it can potentially be enhanced (or forked) to construct "session candles".
I'm not sure what use this would be to anyone, but the pieces are there should someone find a use for it.
While it would be easy to add alerts on sessions opening/closing, I didn't see a purpose or value in that as it would be little more than a
glorified alarm clock. If I get enough demand to add them, I will gladly consider it.
200DMA last DOM - ajhImplements and backtests a simple 200 day moving average trend following rules based on last day of month to limits trades to 12 per year.
From the book : 5 BEST Moving Average Strategies (That beat buy and hold) by Steve Burns and Holly Burns
Click on the cog to set the input date range eg; 2000-01-01 to 2016-12-31
The book back tested SP500 returns from 2000-2016 317% using this method vs 125% buy and hold only with less drawdown.
Simple 200 day moving average test and trading on last day of month.
(you may find it trades on next available day close to end of month as not all dates can be traded weekends etc..)
Rules are ;
1. if last day of month and stock over 200 day moving average, then go long 100%
2. if last day of month and stock under 200 day moving average, then close long 100% and goto cash.
Aims to miss market declines and keep you long for upside.
Note: Have found doesn't work well in choppy markets moving sideways like the FTSE100 for same period 2000-2016 and causes losses. Also for many stocks.