Crypto momentum strategyThis strategy is based on LazyBear's Squeeze Momentum indicator. It analyzes when the trend in the momentum is shifting, locating the peaks and the valleys, and takes those as sell and buy signals respectively. This is a long strategy, so it also takes into consideration the 50 period Exponential Moving Average to identify upward trends. If the closing price of the candle is above the 50EMA, and the slope of the 50EMA is trending upwards, then the buy signal is executed. If these conditions are not met, the buy signal is ignored.
This strategy works well with crypto trading on the day/week charts.
It has a profit ratio of 4:1 on average, and roughly half of the trades are profitable.
Cerca negli script per "profit"
Average Band by HarmanUsually, Moving Averages (Simple & Exponential) consider "close" of each candle to form a line for a particular period. In this indicator, we have considered all the parameters (Open, Close, Low & High) of each candle to form a Band or a wave which act as a zone to provide support & resistance. It works well on all the time frames. It perfectly works on lower time frames of 15 min & 5 min for intraday trades and even for scalping. There is a line that moves very near to candles known as "Candle Line" provide support & resistance to each individual candle and a leading line which moves ahead also acts as support & resistance and helps in determining trend direction.
How to use the indicator ?
Indicator consists of 3 components :
1) A Band or wave of 3 lines (upper, middle & lower line)
2) A "Candle Line" which moves along with the candles
3) A Leading line which moves ahead of the candles
Method 1 : When candles are being formed above the candle line (line near to candles) and it crosses the band or wave from below to upside, then long trade can be initiated. Similarly, When candles are being formed below the Candle line and it crosses the band or wave from upside then short trade can be initiated. Stop loss can be maintained below the band for Long trade and above the band for short trade. Candle line can be used to trail the stop loss.
Method 2: If candles moves above and below of the band very often and frequently and candle line is in the middle of candles then it is NO TRADING ZONE. If you still want to trade, then select a higher time frame and check the price movement. If there is a stability in the higher time frame, then take the trade in the higher timeframe with stable movement.
Method 3 : Candle line acts as "First line of Defence". In a uptrend, all the candles are formed above the candle line and in case of down trend, all the candles are formed below the candle line. When a newly formed candle cross the candle line then you can book profit. For Example : In uptrend , candles are being formed above the line, when a new candle started forming below the line and when the complete candle is formed below the line, profit can be booked. Vice-versa in case of downtrend.
Method 4: Direction of leading line, band and candle line helps in determining the trend. If all these three components are in upward direction, price trend is upward and if all these three components are in downward direction, then price trend is downward. When, leading line and band cross each other from opposite direction for consecutive 2-3 times, then price movement is sideways.
Method 5 : Thickness of band play an important role in determining price action. If band is narrow, it means small candles are being formed and no any huge price movement is observed in this period. When band started expanding, it signifies that big candles are begin to form and there is a more price movement than before. Similarly, If contraction of band started, it means that small candles are being formed and there is low price movement as compared to the price movement when Band was expanded. If Band is expanded (wider) and volumes are high, It means the Band will act as strong Support or Resistance than usual. In case, candles and candle line cross the expanded Band, you can enter the Long or Short trade.
Method 6: When the Band, leading line and candle line collides or meet at a single point, then it is either strong support or resistance.
Method 7 : Usage in Scalping : Select the shorter time frame of 1 min or 5 min. If the candles are crossing the band very frequently in 1 min, then select 5 min time frame or wait for few minutes for stability. Now, when candles started forming above the candle line and it crosses the band from below then take a long position and book profit after few candles above the band. Place stop loss below the Band. Similarly, when candles started forming below the candle line and it crosses the band from above, then enter into short trade and book profit after few candles. Place stop loss above the band in the case of short trade.
You can combine above methods to give a sharp edge to your trade and increase the probability of your winning in the trade.
Indicator Settings : Default period selected is 50 for both the Band and leading line. You can change the period to 26 or 100 or 200. Select the period and check the chart, if the indicator looks fine and smooth, then you can use your settings. For most of the time, default settings work perfectly.
Proudly Developed by :
Harmandeep Singh
Graduate in Computer Science with Physics & Mathematics
MBA in Business Marketing and Finance
Experienced Computer programmer & Software developer
Stock Market & Crypto Trader
3x SuperTrend Strategy (Mel0nTek) V1This is a triple SuperTrend based strategy for lower time frame trades such as day trades and scalping. I have not seen many strategies that combine multiple SuperTrends so I thought I would publish this one since I put it together and have been quite happy with the results. I have found through testing that the best results are on currency exchange markets such as Crypto or Forex on 1-15 min time frames.
The core idea was inspired by a youtube video put out by Trade Pro:
"Trade Pro - HIGHEST PROFIT Triple Supertrend Trading Strategy Proven 100 Trade Results"
I went ahead and set the defaults to the ones he uses in his video for anyone who wants to try a configuration similar to his. They work pretty well in general, however the EMA, SuperTrend ATR multipliers, and P/L ratio can be tuned/optimized to fit the timeframe/market desired. The video is quite good but not a required watch as I will explain below.
The 200EMA is used as a medium-term trend direction indicator.
- Price closing consistently above the 200EMA means that only long positions should be entered.
- Price closing consistently below 200EMA means that only short positions should be entered.
The 3 SuperTrend indicators should be used as direction confirmation for entries. Typically, price above SuperTrend indicates bullish movement, while price below SuperTrend indicates Bearish movement. However by itself, it is not a great indication to enter/exit positions in my experience. By combining 3 of them with slightly longer periods and increased ATR multipliers, we can get much stronger confirmation of trend direction/strength.
The way they are used in this strategy is such that:
- We only want to enter a position if at least 2 out of 3 SuperTrends are on our side.
- 3/3 SuperTrends on our side is the best case, since we are taking trades WITH momentum/price strength.
- The second farthest SuperTrend from entry price is used as a Stop Loss
SuperTrend being on our side is not the only requirement for an entry however. The probability of success is increased with SuperTrend, and a longer EMA on our side, but we want to be sure that we aren't getting in too late/after the movement has already happened.
So we use Stoch RSI to pick our entries where price is oversold/overbought and reversing. That means the Stoch RSI is above 80, or below 20, and our indication to enter the trade is when the 2 lines cross/begin reversing direction.
So with trend direction on our side, we can get really good entries at these oversold/overbought extremes, especially as it's reversing (Stoch RSI K and D are crossing). This allows us to use the SuperTrend as a support/stop loss on our entry since price should be above it.
Then we just target 1.5x our max loss so that even if we only win 50% of the time, we still make a profit.
The explicit rules of this strategy are as follows:
=== Rules ===
long only
- price above EMA200
short only
- price below EMA200
Stop Loss = 2nd SuperTrend line above (short) or below(long) entry candle
Profit = 1.5x SL/risk (Profit Ratio x Max Loss)
=== Entry Setup ===
LONG
- Stoch RSI below 20, cross up
- at least 2 SuperTrend lines below close
SHORT
- Stoch RSI above 80, cross down
- at least 2 SuperTrend lines above close
P.S. Special thanks to Trade Pro for producing so many quality videos, putting strategy claims to the test, and providing me with so many good ideas I apply to my own strategies.
Moving Average ScalperThe main goal of a scalping strategy is to open and close trades frequently, profiting from small gains and limiting the downside risk.
This strategy, on average, manages to close trades within one day, meaning that you are not exposed to the risk of holding that coin for long. In this way, market conditions affect much less the overall performance of the trading system.
The setup of this strategy uses four moving averages combined with an unconventional approach. On one side, the strategy aims to catch assets trading in a downtrend but on the verge of a possible reversal. Then, the goal of the trading strategy is not to ride the eventual uptrend but to close the trade with minimal profit so that it can scan the market for a new opportunity again.
ENTRY
The buy order is placed on assets that most likely are about to have at least a short-term "relief rally." To capture this setup, the strategy buys when
the MA9 crosses above the MA50
the MA50 is lower than the MA100
the MA100 is lower than the MA200
EXIT
The trading system closes the trade when the MA9 crosses above the MA200, which could be the first major resistance the asset faces before developing a more sustained uptrend.
As a reminder, the goal of the strategy is not to catch the whole upside of the asset but has a more conservative approach. This allows keeping the risk of the strategy low.
Pro tip: The 15-min time frame has proven to return the best results on average. The strategy can work well also in the 5-min time frame.
The strategy assumes each order to trade 30% of the available capital and opens a trade at a time. A trading fee of 0.1% is taken into account.
Psychology: Active SharesPrice moved up either by volume (Number of trades/ News/ Buy call) or itself (Operator/ Profitability/ Future).
Every companies issued fixed number of shares. But have you figured about...
How many shares are being trades actively per day? How many shares are holding tight by shareholders for long term?
THEORY
This could be used to estimate from the percentage of number of trades per day over total number of shares company issued.
If percentage is high indicates shares are actively traded and vice versa. So we can know how many percentage of shares are hold by shareholders and not being traded.*
But Why? Why they do not trade?
1. Is it because of mass number of shares are holding by director/ institutes or
2. Most of the individual shareholders expect very high in increasing of shares price in coming future and want to hold it tight or
3. Individual shareholders are stuck in the highest price which they not willing to cut loss making number shares are paused in trades.
INTERPRETATION
High percentage of this indicator tells:
1. High active shares
2. Many people trades
Low percentage of this indicator tells:
1. Low active shares
2. More people holding the shares instead of trades
IN CONDITION:
When price is increasing, indicator shows high percentage, which mean shares are actively trades, traders can effectively moving up the price as photo below. === "GOOD TO TRADE"
When price is increasing, indicator shows low percentage, which mean operator is moving up the price with low active shares as photo below. === "GOOD TO TRADE" and "GOOD TO INVEST" if stock price is undervalue
If price do not increase, even in high percentage, which mean operator is holding the price from moving up.
If price do not increase, and percentage is low, of course stock price is not going to move.
If price decreases, percentage is high, something may wrong with profitability/ future of company. Operator is holding from moving up but lower down the price.
If price decreases, percentage is low, the same, something may wrong with profitability/ future of company. The operator moving down the price.
*it does not account for retailer trades many time per day which may double / triple up the volume making data slightly bias.
Just For Sharing ^^
Flawless Victory Strategy - 15min BTC Machine Learning StrategyHello everyone, I am a heavy Python programmer bringing machine learning to TradingView. This 15 minute Bitcoin Long strategy was created using a machine learning library and 1 year of historical data in Python. Every parameter is hyper optimized to bring you the most profitable buy and sell signals for Bitcoin on the 15min chart. The historical Bitcoin data was gathered from Binance API, in case you want to know the best exchange to use this long strategy. It is a simple Bollinger Band and RSI strategy with two versions included in the tradingview settings. The first version has a Sharpe Ratio of 7.5 which is amazing, and the second version includes the best stop loss and take profit positions with a Sharpe Ratio of 2.5 . Let me talk a little bit more about how the strategy works. The buy signal is triggered when close price is less than lower Bollinger Band at Std Dev 1, and the RSI is greater than a certain value. The sell signal is triggered when close price is greater than upper Bollinger Band at Std Dev 1, and the RSI is greater than a certain value. What makes this strategy interesting is the parameters the Machine Learning library found when backtesting for the best Sharpe Ratio. I left my computer on for about 28 hours to fully backtest 5000 EPOCHS and get the results. I was able to create a great strategy that might be one of TradingView's best strategies out on the website today. I will continue to apply machine learning to all my strategies from here on forward. Please Let me know if you have any questions or certain strategies you would like me to hyper optimize for you. I'm always willing to create profitable strategies!
P.S. You can always pyramid this strategy for more gains! I just don't add pyramiding when creating my strategies because I want to show you the true win/loss ratio based buying one time and one selling one time. I feel like when creating a strategy that includes pyramiding right off the bat falsifies the win rate. This is my way of being transparent with you all. Have fun trading!
Risk Management: Position Size & Risk RewardHere is a Risk Management Indicator that calculates stop loss and position sizing based on the volatility of the stock. Most traders use a basic 1 or 2% Risk Rule, where they will not risk more than 1 or 2% of their capital on any one trade. I went further and applied four levels of risk: 0.25%, 0.50%, 1% and 2%. How you apply these different levels of risk is what makes this indicator extremely useful. Here are some common ways to apply this script:
• If the stock is extremely volatile and has a better than 50% chance of hitting the stop loss, then risk only 0.25% of your capital on that trade.
• If a stock has low volatility and has less than 20% change of hitting the stop loss, then risk 2% of your capital on that trade.
• Risking anywhere between 0.25% and 2% is purely based on your intuition and assessment of the market.
• If you are on a losing streak and you want to cut back on your position sizing, then lowering the Risk % can help you weather the storm.
• If you are on a winning streak and your entries are experiencing a higher level of success, then gradually increase the Risk % to reap bigger profits.
• If you want to trade outside the noise of the market or take on more noise/risk, you can adjust the ATR Factor.
• … and whatever else you can imagine using it to benefit your trading.
The position size is calculated using the Capital and Risk % fields, which is the percentage of your total trading capital (a.k.a net liquidity or Capital at Risk). If you instead want to calculate the position size based on a specific amount of money, then enter the amount in the Custom Risk Amt input box. Any amount greater than 0 in the Custom Risk Amt field will override the values in the Capital and Risk % fields.
The stop loss is calculated by using the ATR. The default setting is the 14 RMA, but you can change the length and smoothing of the true range moving average to your liking. Selecting a different length and smoothing affects the stop loss and position size, so choose these values very carefully.
The ATR Factor is a multiplier of the ATR. The ATR Factor can be used to adjust the stop loss and move it outside of the market noise. For the more volatile stock, increase the factor to lower the stop loss and reduce the chance of getting stopped out. For stocks with less volatility , you can lower the factor to raise the stop loss and increase position size. Adjusting the ATR Factor can also be useful when you want the stop loss to be at or below key levels of support.
The Market Session is the hours the market is open. The Market Session only affects the Opening Range Breakout (ORB) option, so it’s important to change these values if you’re trading the ORB and you’re outside of Eastern Standard Time or you’re trading in a foreign exchange.
The ORB is a bonus to the script. When enabled, the indicator will only appear in the first green candle of the day (09:30:00 or 09:30 AM EST or the start time specified in Market Session). When using the ORB, the stop loss is based on the spread of the first candle at the Open. The spread is the difference between the High and Low of the green candle. On 1-day or higher timeframes, the indicator will be the spread of the last (or current) candle.
The output of the indicator is a label overlaying the chart:
1. ATR (14 RMA x2) – This indicated that the stop loss is determined by the ATR. The x2 is the ATR Factor. If ORB is selected, then the first line will show SPREAD, instead of ATR.
2. Capital – This is your total capital or capital at risk.
3. Risk X% of Capital – The amount you’re risking on a % of the Capital. If a Custom Risk Amt is entered, then Risk Amount will be shown in place of Capital and Risk % of Capital.
4. Entry – The current price.
5. Stop Loss – The stop loss price.
6. -1R – The stop loss price and the amount that will be lost of the stop loss is hit.
7. – These are the target prices, or levels where you will want to take profit.
This script is primarily meant for people who are new to active trading and who are looking for a sound risk management strategy based on market volatility . This script can also be used by the more experienced trader who is using a similar system, but also wants to see it applied as an indicator on TradingView. I’m looking forward to maintaining this script and making it better in future revisions. If you want to include or change anything you believe will be a good change or feature, then please contact me in TradingView.
scalping against trapped countertrendAbstract
This script attempts to find the end of countertrend.
This script uses oscillators to measure long term and short period trends. When the long term trend keeps positive and clear short term period is over, this script provides a buy signal.
This script does not contain pullback, cut loss and re-enter. You need to add it manually.
Introduction
Many traders want to buy when long term trend is bullish and short term pullback is over.
This is because we can take advantage to the emotion of countertrend traders.
Countertrend traders realizes their profit is finite and therefore want to protect their profit well and limit their loss.
This script is inspired by a searchable trading strategy video.
The video mentioned 4 points.
(1) long term trend. The video did not spend much ink on this point. You can use any method to observe.
(2) clear pullback bar (at least 50% body)
(3) weak bar after clear pullback
(4) entry trigger buy stop
This script attempts to quantize these points to determine trading direction.
This script is originally designed for timeframes lower than examples in the video but you can apply it on any timeframe.
Computing and Adjusting
(1) long term trend
This script uses smoothed stochastic.
(2) clear pullback bar
Since this script is originally designed for timeframes lower than examples in the video, so the condition becomes:
RSI is low enough
(3) weak bar after clear pullback
RSI goes back from low level.
(4) entry trigger buy stop
This script does not include this condition.
You can decide enter when buy stop or pullback.
Parameters
x_src : the value for computing oscillators
x_len_a : how many bars for measuring short term trend
x_len_b : how many bars for measuring long term trend
x_k_b : smooth long term trend, the average value of stochastic values
x_changk = check if clear short term pullback appears recently. 1 means do not use, larger numbers means how long of periods to check.
x_rsi_ct : threshold of short term pullback clear
x_rsi_ft : threshold of short term pullback end
Reading numbers in Strategy Tester
Most possible loss :
(1) to find rational pullback. Generally 1/3 to 2/3 atr.
(2) to find cut loss distance. Generally 1 to 2 atr.
Most possible profit :
to find if trading the opposite direction against this script is profitable.
Conclusion
This script can suggest us trading direction.
Waiting for pullback can reduce risk, compared to buy stop.
This script does not provide good signals in sideways markets.
Reference
A searchable trading strategy video
[fareid] Quick Backtest Framework█ OVERVIEW
This Framework allows Pine Coders to quickly code Study() based signal/strategy and validate its viability before proceed to code with more advance/complex customized rules for entry, exit, trailstop, risk management etc..
This is somewhat an upgraded version of my earlier personal template with different strategy used, cleaner code
and additional features.
█ USE CASES
- You have an idea for trade signal and need a quick way to verify its potential before writing lengthy/complicated code
- You found a study script for trading signal in public library and want to validate it profitability with minimum effort before including it in your trading playbook
█ FEATURES
- Alert: Ready to use alert function based on signals from your custom indicator.
- Visual Backtest: Auto-plot entry, stop-loss and take profit for simple strategy performance analysis
- Backtest Statistic: Provide basic key metrics based on backtest strategy
- BTE External Signal Protocol: Ready to use code that will supply required state to PineCoders Backtesting & Trading Engine if you wish to have more advance and sophisticated backtesting engine
Notes: All of the above features have On/Off toggle
█ Description & How To Use
This Framework consist of 5 Modules but you only need to edit the first 2 Modules:
Module1: Indicator
Module2: Framework Input Protocol
Module3: Alert
Module4: Backtest
Module5: Backtest & Trading Engine
Tips: The source-code includes collapsible block by module for easy navigating
Module1: Indicator:
-----------------------------------------------------------------------------------
Main Module. Place custom indicator input parameter/calculation/indicator plotting here
Sample Strategy: Double MACD Crossover
MACD Signal: 1st MACD Cross above signal line indicate Buy Signal
1st MACD Cross below signal line indicate Sell Signal
MACD Filter: 2nd MACD is above 0 line indicate Uptrend
2nd MACD is below 0 line indicate Downtrend
Module2: Framework Input Protocol:
-----------------------------------------------------------------------------------
Use this module to connect main indicator/signal calculated in Module1 to the rest of the framework's module
4 variables needed to be defined here:
1. Uptrend
2. Dntrend
3. BuySignal
4. SellSignal
i'm not sure how to place a code snippet here to show you example so in the source code i already put a comment in Module2 on which part u need to edit. I hope its pretty simple to use.
Module3: Alert Module Description:
-----------------------------------------------------------------------------------
As long as the variables in Module2 properly defined, the alert module is ready to use without any further modification.
Input:
Enable Alert --> Enable TV's alert and plot signal to chart
Alert Type --> Set to take Buy only, Sell only or Both alert
Module4: Backtest Module Description:
-----------------------------------------------------------------------------------
As long as the variables in Module2 properly defined, the backtest module is ready to use without any further modification.
Input:
Backtest Stat --> Enable Backtest Statistic Label
Backtest Visual --> Enable Backtest visual simulation
Backtest Type --> Set to take Buy only or Sell only or both
SL Type -->
ATR : Set SL in ATR times Multiplier below entry price
Fixed : Set SL in fixed point below entry point (in 'Dollar'). e.g. for Stocks -> 0.5 equals to 50cent while for EURUSD currency -> 0.005 equal to 50 pips
HiLo Bar: Set SL at highest/lowest wick of previous bar plus/minus Fixed point. e.g. EURUSD HiLo=3 and Fixed Point = 0.0005, buy trade will place SL 5 Pips below lowest of previous 3 bar
SL ATR Multi --> Set Lookback Period used for SL's ATR calculation
SL ATR Multi --> Set ATR Multiplier for SL
SL Fixed --> Set Fixed Level for SL
SL Bar --> Set Number of previous bar to check for SL placement
TP RR Ratio --> Set TP based on RR multiplier. e.g. 2 means TP level will be twice further from entry point compared to Entry-SL distance.
Notes: The point is for preliminary testing, so it only supports 1 trade at a time and no Trailing Stop
Module5: Backtest & Trading Engine Description:
-----------------------------------------------------------------------------------
As long as the variables in Module2 properly defined, the Pinecoders BTE module is ready to use without any further modification.
Input:
External Signal Protocol --> Set ESP State to send to "Backtesting & Trading Engine "
Signal With Filter --> Use this to send entry signal that already filtered by this study indicator (without stoploss level)
Signal Without Filter --> Use this to send raw entry signal that are NOT YET FILTERED by this study indicator (without stoploss level)
Signal and Stop With Filter --> Use this to send entry signal WITH StopLoss that already filtered by this study indicator (with stoploss level)
Signal and Stop Without Filter --> Use this to send raw entry signal WITH StopLoss that are NOT YET FILTERED by this study indicator (with stoploss level)
Notes: Backtesting & Trading Engine already have built-in Filter, Entries and Stop Level. e.g. Unselect all their filter state if only want to use custom filter and make sure send Signal with Filter (with or without SL level)
█ DISCLAIMER:
This framework main objective is to create my personal indicator template so that i just have to modify the indicator module for preliminary testing in future.
The sample strategy included are for educational purpose only. Use at your own risk
credit: LucF/PineCoders for a lot of his scripts that i use as a guide to complete this
Pyramiding Entries On Early Trends (by Coinrule)Pyramiding the entries in a trading strategy may be risky but at the same time very profitable with a proper risk management approach. This strategy seeks to spot early signs of uptrends and increase the position's size while the right conditions persist.
Each trade comes with its stop-loss and take-profit to enforce a proportional risk/reward profile.
The strategy uses a mix of Moving Average based setups to define the buy-signal.
The Moving Average (200) is above the Moving Average (100), which prevents from buying when the uptrend is already in its late stages
The Moving Average (9) is above the Moving Average (100), indicating that the coin is not in a downtrend.
The price crossing above the Moving Average (9) confirms the potential upside used to fire the buy order.
Each entry comes with a stop-loss and a take-profit in a ratio of 1-to-1. After over 400 backtests, we opted for a 3% TP and 3% SL, which provides the best results.
The strategy is optimized on a 1-hour time frame.
The Advantages of this strategy are:
It offers the possibility of adjusting the size of the position proportionally to the confidence in the possibilities that an uptrend will eventually form.
Low drawdowns. On average, the percentage of trades in profit is above 60%, and the stop-loss equal to the take-profit reduces the overall risk.
This strategy returned good returns both with trading pairs with Fiat/stable coins and with BTC. Considering the mixed trends that cryptocurrencies experienced during 2020 vs BTC, this strengthens the strategy's reliability.
The strategy assumes each order to trade 20% of the available capital and pyramids the entries up to 7 times.
A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.
888 BOT #alerts█ 888 BOT #alerts (open source)
This is an Expert Advisor 'EA' or Automated trading script for ‘longs’ and ‘shorts’, which uses only a Take Profit or, in the worst case, a Stop Loss to close the trade.
It's a much improved version of the previous ‘Repanocha’. It doesn`t use 'Trailing Stop' or 'security ()' functions (although using a security function doesn`t mean that the script repaints) and all signals are confirmed, therefore the script doesn`t repaint in alert mode and is accurate in backtest mode.
Apart from the previous indicators, some more and other functions have been added for Stop-Loss, re-entry and leverage.
It uses 8 indicators, (many of you already know what they are, but in case there is someone new), these are the following:
1. Jurik Moving Average
It's a moving average created by Mark Jurik for professionals which eliminates the 'lag' or delay of the signal. It's better than other moving averages like EMA , DEMA , AMA or T3.
There are two ways to decrease noise using JMA . Increasing the 'LENGTH' parameter will cause JMA to move more slowly and therefore reduce noise at the expense of adding 'lag'
The 'JMA LENGTH', 'PHASE' and 'POWER' parameters offer a way to select the optimal balance between 'lag' and over boost.
Green: Bullish , Red: Bearish .
2. Range filter
Created by Donovan Wall, its function is to filter or eliminate noise and to better determine the price trend in the short term.
First, a uniform average price range 'SAMPLING PERIOD' is calculated for the filter base and multiplied by a specific quantity 'RANGE MULTIPLIER'.
The filter is then calculated by adjusting price movements that do not exceed the specified range.
Finally, the target ranges are plotted to show the prices that will trigger the filter movement.
Green: Bullish , Red: Bearish .
3. Average Directional Index ( ADX Classic) and ( ADX Masanakamura)
It's an indicator designed by Welles Wilder to measure the strength and direction of the market trend. The price movement is strong when the ADX has a positive slope and is above a certain minimum level 'ADX THRESHOLD' and for a given period 'ADX LENGTH'.
The green color of the bars indicates that the trend is bullish and that the ADX is above the level established by the threshold.
The red color of the bars indicates that the trend is down and that the ADX is above the threshold level.
The orange color of the bars indicates that the price is not strong and will surely lateralize.
You can choose between the classic option and the one created by a certain 'Masanakamura'. The main difference between the two is that in the first it uses RMA () and in the second SMA () in its calculation.
4. Parabolic SAR
This indicator, also created by Welles Wilder, places points that help define a trend. The Parabolic SAR can follow the price above or below, the peculiarity that it offers is that when the price touches the indicator, it jumps to the other side of the price (if the Parabolic SAR was below the price it jumps up and vice versa) to a distance predetermined by the indicator. At this time the indicator continues to follow the price, reducing the distance with each candle until it is finally touched again by the price and the process starts again. This procedure explains the name of the indicator: the Parabolic SAR follows the price generating a characteristic parabolic shape, when the price touches it, stops and turns ( SAR is the acronym for 'stop and reverse'), giving rise to a new cycle. When the points are below the price, the trend is up, while the points above the price indicate a downward trend.
5. RSI with Volume
This indicator was created by LazyBear from the popular RSI .
The RSI is an oscillator-type indicator used in technical analysis and also created by Welles Wilder that shows the strength of the price by comparing individual movements up or down in successive closing prices.
LazyBear added a volume parameter that makes it more accurate to the market movement.
A good way to use RSI is by considering the 50 'RSI CENTER LINE' centerline. When the oscillator is above, the trend is bullish and when it is below, the trend is bearish .
6. Moving Average Convergence Divergence ( MACD ) and ( MAC-Z )
It was created by Gerald Appel. Subsequently, the histogram was added to anticipate the crossing of MA. Broadly speaking, we can say that the MACD is an oscillator consisting of two moving averages that rotate around the zero line. The MACD line is the difference between a short moving average 'MACD FAST MA LENGTH' and a long moving average 'MACD SLOW MA LENGTH'. It's an indicator that allows us to have a reference on the trend of the asset on which it is operating, thus generating market entry and exit signals.
We can talk about a bull market when the MACD histogram is above the zero line, along with the signal line, while we are talking about a bear market when the MACD histogram is below the zero line.
There is the option of using the MAC-Z indicator created by LazyBear, which according to its author is more effective, by using the parameter VWAP ( volume weighted average price ) 'Z-VWAP LENGTH' together with a standard deviation 'STDEV LENGTH' in its calculation.
7. Volume Condition
Volume indicates the number of participants in this war between bulls and bears, the more volume the more likely the price will move in favor of the trend. A low trading volume indicates a lower number of participants and interest in the instrument in question. Low volumes may reveal weakness behind a price movement.
With this condition, those signals whose volume is less than the volume SMA for a period 'SMA VOLUME LENGTH' multiplied by a factor 'VOLUME FACTOR' are filtered. In addition, it determines the leverage used, the more volume , the more participants, the more probability that the price will move in our favor, that is, we can use more leverage. The leverage in this script is determined by how many times the volume is above the SMA line.
The maximum leverage is 8.
8. Bollinger Bands
This indicator was created by John Bollinger and consists of three bands that are drawn superimposed on the price evolution graph.
The central band is a moving average, normally a simple moving average calculated with 20 periods is used. ('BB LENGTH' Number of periods of the moving average)
The upper band is calculated by adding the value of the simple moving average X times the standard deviation of the moving average. ('BB MULTIPLIER' Number of times the standard deviation of the moving average)
The lower band is calculated by subtracting the simple moving average X times the standard deviation of the moving average.
the band between the upper and lower bands contains, statistically, almost 90% of the possible price variations, which means that any movement of the price outside the bands has special relevance.
In practical terms, Bollinger bands behave as if they were an elastic band so that, if the price touches them, it has a high probability of bouncing.
Sometimes, after the entry order is filled, the price is returned to the opposite side. If price touch the Bollinger band in the same previous conditions, another order is filled in the same direction of the position to improve the average entry price, (% MINIMUM BETTER PRICE ': Minimum price for the re-entry to be executed and that is better than the price of the previous position in a given %) in this way we give the trade a chance that the Take Profit is executed before. The downside is that the position is doubled in size. 'ACTIVATE DIVIDE TP': Divide the size of the TP in half. More probability of the trade closing but less profit.
█ STOP LOSS and RISK MANAGEMENT.
A good risk management is what can make your equity go up or be liquidated.
The % risk is the percentage of our capital that we are willing to lose by operation. This is recommended to be between 1-5%.
% Risk: (% Stop Loss x % Equity per trade x Leverage) / 100
First the strategy is calculated with Stop Loss, then the risk per operation is determined and from there, the amount per operation is calculated and not vice versa.
In this script you can use a normal Stop Loss or one according to the ATR. Also activate the option to trigger it earlier if the risk percentage is reached. '% RISK ALLOWED' wich is calculated according with: '%EQUITY ON EACH ENTRY'. Only works with Stop Loss on 'NORMAL' or 'BOTH' mode.
'STOP LOSS CONFIRMED': The Stop Loss is only activated if the closing of the previous bar is in the loss limit condition. It's useful to prevent the SL from triggering when they do a ‘pump’ to sweep Stops and then return the price to the previous state.
█ ALERTS
There is an alert for each leverage, therefore a maximum of 8 alerts can be set for 'long' and 8 for 'short', plus an alert to close the trade with Take Profit or Stop Loss in market mode. You can also place Take Profit limit and Stop Loss limit orders a few seconds after filling the position entry order.
- 'MAXIMUM LEVERAGE': It is the maximum allowed multiplier of the % quantity entered on each entry for 1X according to the volume condition.
- 'ADVANCE ALERTS': There is always a time delay from when the alert is triggered until it reaches the exchange and can be between 1-15 seconds. With this parameter, you can advance the alert by the necessary seconds to activate it earlier. In this way it can be synchronized with the exchange so that the execution time of the entry order to the position coincides with the opening of the bar.
The settings are for Bitcoin at Binance Futures (BTC: USDTPERP) in 15 minutes.
For other pairs and other timeframes, the settings have to be adjusted again. And within a month, the settings will be different because we all know the market and the trend are changing.
Day ATR H/L + Yesterday H/L + Today H/L - divinechartistNow you can monitor Yesterday's high and low on a small time frame, You no need to switch time frame every time.
Also, you can monitor support and resistance base on Day's ATR (Default Value is 14)
and also we used EMA of 21 for small-time trand identify.
This indicator helps you to find the best trade near to support and resistance. Using this indicator you can enter in trand with small STOPLOSS and for a BIG PROFIT.
EX :
If your current price is below 21EMA and also broke yesterday's low, so its probability to go more down.
Same, If the price is above 21EMA and the price broke yesterday's high so probability it's going more UP.
Also, you can book profit and set STOPLOSS base on ATR value.
if the price above or near TOP-ATR it's mean it's not the best price to buy, You can book a profit at this price or try to find short sell trade.
Same as if price below BOTTOM-ATR it's mean it's not the best price to sell, You can book a profit at this price or try to find buy trade.
Cross impro test by Canundo Crossover Crossunder Tick valuesThis is a script where I tried to check the following things:
Even thought the tick of an asset is, for example 0.5, there are calculated prices, like SMA's that have even more decimals. Leading to crosses happening that for example happen at the same price. Consequently triggering totally useless in side markets. What happens if SMA values are restricted to the tick resolution? (Option works on it's own or with a combination of the others.)
What happens if I set my own tick value, like 0.8 instead of 0.5, what will be the effect for calculated values that are used for crossings? Will tick sizes improve the success rate? (This option will work only when the first option is active.)
Can success rate, especially for sideway markets be improved when adding a spread between MA's, so that it triggers less in sideway markets? (Option works on it's own or with a combination of the others.)
First of all, I had a hard time to round prices properly when it needs to be dynamic and working for different assets with different amounts of decimal values in the tick. The solution is that abs(floor(syminfo.mintick)) will give you the amount of decimals a tick has. It works for all ticks that are at least lower than 10. I'm not sure how huge ticks are out there. I did not implement this solution at the end since I found another way to test it.
Findings:
The first option, when activated, takes out half the trades and raises the percent profitability by 8% so there is some effect. However, all of the tested options have less advantage than I hoped for but are nevertheless something worthy for sideway markets. The first option just forces the MA's from the example to use the tick resolution.
See these two images. One when the first option is off, the second when it's active.
The lines are the MA's with adjusted values, the crosses are the places of the MA's when left as is.
Here a screenshot of the third option set to the value 2 on the 1 minute XBTUSD chart.
The advantage is that less trades trigger that have a low change in price and so less trading fees will happen.
The disadvantage is that all options can implement some delay for a crossing since the crossing will trigger once a slightly bigger move into the direction was taken.
This test environment was not meant to be profitable but to test the effects.
Maybe someone finds it interesting or wanted to test the same, so here you can save some work.
Bollinger Bands Strategy with Intraday Intensity IndexFor Educational Purposes. Results can differ on different markets and can fail at any time. Profit is not guaranteed.
This only works in a few markets and in certain situations. Changing the settings can give better or worse results for other markets.
This is a mean reversion strategy based on Bollinger Bands and the Intraday Intensity Index (a volume indicator). John Bollinger mentions that the Intraday Intensity Index can be used with Bollinger Bands and is one of the top indicators he recommends in his book. It seems he prefers it over the other volume indicators that he compares to for some reason. III looks a lot like Chaikin Money Flow but without the denominator in that calculation. On the default settings of the BBs, the III helps give off better entry signals. John Bollinger however is vague on how to use the BBs and it's hard to say if one should enter when it is below/above the bands or when the price crosses them. I find that with many indicators and strategies it's best to wait for a confirmation of some sort, in this case by waiting for some crossover of a band. Like most mean reversion strategies, the exit is very loose if using BBs alone. Usually the plan to exit is when the price finally reverts back to the mean or in this case the middle band. This can potentially lead to huge drawdowns and/or losses. Mean reversion strategies can have high win/loss ratios but can still end up unprofitable because of the huge losses that can occur. These drawdowns/losses that mean reversion strategies suffer from can potentially eat away at a large chunk of all that was previously made or perhaps up to all of it in the worst cases, can occur weeks or perhaps up to months after being profitable trading such a strategy, and will take a while and several trades to make it all back or keep a profitable track record. It is important to have a stop loss, trailing stop, or some sort of stop plan with these types of strategies. For this one, in addition to exiting the trade when price reverts to the middle band, I included a time-based stop plan that exits with a gain or with a loss to avoid potentially large losses, and to exit after only a few periods after taking the trade if in profit instead of waiting for the price to revert back to the mean.
Ampleforth Rebase MACDThis script reveals Ampleforth rebase levels which are going to always work. In addition to that is MACD crossovers serving as potential buy/sell entries. You can set alerts for MACD crossovers and price entering balanced value area (0.96 - 1.06).
MACD signals can be used to automatically open a position and entering a balanced value area can be used as take-profit. Since the price will always move to this level, using this strategy without leverage should be profitable.
Ampleforth seems like a nice asset to trade since it is unlikely to correlate with anything else. At least not when it gets to the extreme levels.
Bitcoin - MA Crossover StrategyBefore You Begin:
Please read these warnings carefully before using this script, you will bear all fiscal responsibility for your own trades.
Trading Strategy Warning - Past performance of this strategy may not equal future performance, due to macro-environment changes, etc.
Account Size Warning - Performance based upon default 10% risk per trade, of account size $100,000. Adjust BEFORE you trade to see your own drawdown.
Time Frame - D1 and H4. H4 has a lower profit factor (more fake-outs, and account drawdown), D1 recommended.
Trend Following System - Profitability of this system is dependent on STRONG future trends in Bitcoin (BTCUSD).
Default Settings:
This script was tested on Daily and 4 Hourly charts using the following default settings. Note that 4 Hourly exhibits higher drawdowns and lower profit factor, whilst Daily appears more stable.
Account Size ($): 100,000 (please adjust to simulate your own risk)
Equity Risk (%): 10 (please adjust to simulate your own risk)
Fast Moving Average (Period): 20
Slow Moving Average (Period): 40
Relative Strength Index (Period): 14
Trading Mechanism:
Trend following strategies work well for assets that display the tendency of long-trends. Please do not use this script on financial assets that have a historical tendency for mean reversion. Bitcoin has historically exhibited strong trends, and thus this script is designed to capitalise on that behaviour. It is hoped (but we cannot predict), that Bitcoin will strongly trend in the coming days.
LONG:
Enter Long - When fast moving average (20) crosses ABOVE slow moving average (40)
Exit Long - When fast moving average (20) crosses BELOW slow moving average (40)
SHORT:
Enter Short - When fast moving average (20) crosses BELOW slow moving average (40)
Exit Short - When fast moving average (20) crosses ABOVE slow moving average (40)
Risk Warnings:
Do note that "moving averages" are a lagging indicator, and as such heavy drawdowns could occur when a trade is open. If you are trading this system manually, it is best to avoid emotions and let the system tell you when to enter and exit. Do not panic and exit manually when under heavy drawdown, always follow the system. Do not be emotional. If possible, connect this to your broker for auto-trading. Ensure that your risk per trade (Equity Risk) is SMALL enough that it does not result in a margin-call on your trading account. Equity risk must always be considered relative to your total account size.
Remember: You bear all financial responsibility for your trades, best of luck.
PineScript v4 - Forex Pin-Bar Trading StrategyPineScript v4, forex trading robot based on the commonly used bullish / bearish pin-bar piercing the moving averages strategy.
I coded this robot to stress-test the PineScript v4 language to see how advanced it is, and whether I could port a forex trading strategy from MT4 to TradingView.
In my opinion, PineScript v4 is still not a professional coding language; for example you cannot use IF-statements to modify the contents of global variables; this makes complex robot behaviour difficult to implement. In addition, it is unclear if the programmer can use nested IF-ELSE, or nested FOR within IF.
The sequence of program execution is also unclear, and although complex order entry and exit appears to function properly, I am not completely comfortable with it.
Recommended Chart Settings:
Asset Class: Forex
Time Frame: H1
Long Entry Conditions:
a) Moving Average up trend, fast crosses above slow
b) Presence of a Bullish Pin Bar
c) Pin Bar pierces either Moving Average
d) Moving Averages must be sloping up, angle threshold (optional)
Short Entry Conditions:
a) Moving Average down trend, fast crosses below slow
b) Presence of a Bearish Pin Bar
c) Pin Bar pierces either Moving Average
d) Moving Averages must be sloping down, angle threshold (optional)
Exit Conditions:
a) Stoploss level is hit
b) Takeprofit level is hit
c) Moving Averages cross-back (optional)
Default Robot Settings:
Equity Risk (%): 3 //how much account balance to risk per trade
Stop Loss (x*ATR, Float): 2.1 //stoploss = x * ATR, you can change x
Risk : Reward (1 : x*SL, Float): 3.1 //takeprofit = x * stop_loss_distance, you can change x
Fast MA (Period): 20 //fast moving average period
Slow MA (Period): 50 //slow moving average period
ATR (Period): 14 //average true range period
Use MA Slope (Boolean): true //toggle the requirement of the moving average slope
Bull Slope Angle (Deg): 1 //angle above which, moving average is considered to be sloping up
Bear Slope Angle (Deg): -1 //angle below which, moving average is considered to be sloping down
Exit When MA Re-Cross (Boolean): true //toggle, close trade if moving average crosses back
Cancel Entry After X Bars (Period): 3 //cancel the order after x bars not triggered, you can change x
Backtest Results (2019 to 2020, H1, Default Settings):
EURJPY - 111% profit, 2.631 profit factor, 16.43% drawdown
EURUSD - 103% profit, 2.899 profit factor, 14.95% drawdown
EURAUD - 76.75% profit, 1.8 profit factor, 17.99% drawdown
NZDUSD - 64.62% profit, 1.727 profit factor, 19.14% drawdown
GBPUSD - 58.73% profit, 1.663 profit factor, 15.44% downdown
AUDJPY - 48.71% profit, 1.635 profit factor, 11.81% drawdown
USDCHF - 30.72% profit, 1.36 profit factor, 22.63% drawdown
AUDUSD - 8.54% profit, 1.092 profit factor, 19.86% drawdown
EURGBP - 0.03% profit, 1.0 profit factor, 29.66% drawdown
USDJPY - 1.96% loss, 0.972 profit factor, 28.37% drawdown
USDCAD - 6.36% loss, 0.891 profit factor, 21.14% drawdown
GBPJPY - 28.27% loss, 0.461 profit factor, 39.13% drawdown
To reduce the possibility of curve-fitting, this robot was backtested on 12 popular forex currencies, as shown above. The robot was profitable on 8 out of 12 currencies, breakeven on 1, and made a loss on 3.
The default robot settings could be over-fitting for the EUR, as we can see out-sized performance for the EUR pairs, with the exception of the EURGBP. We can see that GBPJPY made the largest loss, so these two pairs could be related.
Risk Warning:
This is a forex trading strategy that involves high risk of equity loss, and backtest performance will not equal future results. You agree to use this script at your own risk.
Fibonacci-Trading-Indicator_2 (Code-Änderung)Tägliche Gewinne mit dem Fibonacci-Trading Indikator
Die Notierungen bewegen sich in liquiden Märkten in Fibonacci-Verhältnissen. Mit diesem Indikator erhalten Sie für Tagesgeschäfte und für Positionstrades auf Basis einer Woche oder eines Monats Informationen, wo Sie in den Markt einsteigen sollten und was das mindeste erreichbare Kursziel ist. Dieses Kursziel liegt bei 61,8% der gestrigen Handelspanne, der Handelspanne der Vorwoche oder der Handelspanne des Vormonats. Dort realisieren Sie Ihre Gewinne.
Erforderliche Eingaben im Eigenschaftenfenster des Indikators:
• Vorwahl Aufwärtstrend/ Abwärtstrend.
• Zeitrahmen des Kursbalkens für das zu ermittelnde mögliche Hoch/ Tief.
• Handelspanne der vorherigen Periode.
• Aktuell tiefstes Tief des vorgewählten Zeitrahmens, wenn die Notierungen steigen.
• Aktuell höchstes Hoch des vorgewählten Zeitrahmens, wenn die Notierungen fallen.
Für die Erkennung der Bewegungsrichtung kann der Camelback-Indikator eine gute Hilfe sein.
Ausgaben im Chart sind die möglichen Kurslevels, für das mögliche Hoch oder Tief des Kursbalkens im eingestellten Zeitrahmen des Trading-Indikators.
Wichtige Bereiche für das Trading sind folgende Kurslevels:
• Einstiegsbereich 0% - 14,6% oder 0% - 23,6%
• Kursziellevel 61,8%
Kaufen/ verkaufen Sie innerhalb des Einstiegsbereichs zwischen 0% und 23,6%, während der Markt die Bewegungsrichtung vorgibt und sich in Richtung des long-/ oder short-Einstiegspunktes bewegt. Das sind jeweils die Kurslevels bei 14,6% oder 23,6%. Der 61,8%-Kurslevel ist das mindeste erwartbare Kursziel. Wir gehen davon aus, dass der aktuelle Kursbalken mindestens 61,8% der Handelsspanne, der vorherigen Periode erreichen wird. Realisieren Sie deshalb die angelaufenen Gewinne mit 50% der Position, wenn die Notierungen den 61,8% - Level erreicht haben. Mit einem geeigneten Trailing-Stopp lassen Sie sich mit der restlichen Position ausstoppen, riskieren Sie dafür aber nicht mehr als 50 % der angelaufenen Gewinne.
Wählen Sie einen kleinen Zeitrahmen, wenn sich die Notierungen noch im Einstiegsbereich bewegen, um die Richtung des Kursbalkens zu erkennen. Für Positionstrades auf Wochen- oder Monatssicht wird für den Einstieg der Einstiegsbereich 0% - bis 14,6% gewählt. Für Tagesgeschäfte (Zeitrahmen Tag vorgewählt) wird wegen der geringeren Tageshandelspanne der Einstiegsbereich 0% - 23,6% empfohlen.
Mit der Vorwahl Jahr und den entsprechenden Eingaben kann auch das mindeste erwartbare Jahreshoch/ Jahrestief ermittelt werden.
Die Fibonacci-Kurslevels lassen sich ein- und ausblenden. Klicken Sie im Chart auf das Zahnrad für „Chart Einstellungen“. Im Menü „Skalierungen“ kann mit der Vorwahl „Label für Indikatornahmen“ und „Label für letzten Indikatorwert“ die Kurslevels angezeigt werden. Schieben Sie den Chart nach rechts um Unterstützungen und Widerstände an den Kurslevels zu finden.
Bei Eingabefehlern oder fehlenden Eingaben zu einem Zeitrahmen wird der Indikator ausgeblendet.
Achten Sie zur Vermeidung von Verlusten auf ihr Handelsmanagement.
Daily profits with the Fibonacci trading indicator
The quotes move in Fibonacci ratios in liquid markets. With this indicator you receive information for daily trades and position trades based on a week or a month, where you should enter the market and what is the minimum price target that you can achieve. This price target is 61.8% of yesterday's trading range, the trading range of the previous week or the trading range of the previous month.
There you realize your profits.Required entries in the properties window of the indicator:
• Preselection uptrend / downtrend.
• Time frame of the price bar for the possible high / low to be determined.
• previous period trading range.
• Current lowest low of the selected time frame when prices rise.
• Current highest high in the selected time frame when prices fall.
The camelback indicator can be of great help in recognizing the direction of movement.
Outputs in the chart are the possible price levels for the possible high or low of the price bar in the set time frame of the trading indicator.
The following price levels are important areas for trading:
• Entry range 0% - 14.6% or 0% - 23.6%
• Target price level 61.8%
Buy / sell within the entry range between 0% and 23.6% as the market sets the direction of movement and moves towards the long / or short entry point. These are the price levels at 14.6% or 23.6%. The 61.8% price level is the minimum expected price target. We assume that the current bar will reach at least 61.8% of the trading range of the previous period. You should therefore realize the profits you have made with 50% of the position when the prices have reached the 61.8% level. With a suitable trailing stop you can be stopped with the rest of the position, but do not risk more than 50% of the profits.
Choose a small time frame when the quotes are still moving in the entry area to see the direction of the price bar. For position trades on a weekly or monthly perspective, the entry range 0% - to 14.6% is chosen. For day-to-day trades (pre-selected time frame), the entry range 0% - 23.6% is recommended due to the lower daily trading range.With the preselection year and the corresponding entries, the minimum expected annual high / annual low can also be determined.
The Fibonacci price levels can be shown and hidden. In the chart click on the gear wheel for “Chart Settings”. In the “Scaling” menu, the price levels can be displayed with the preselection “Label for indicator names” and “Label for last indicator value”. Slide the chart to the right to find support and resistance at the price levels.
In the event of input errors or missing entries for a time frame, the indicator is hidden.
Pay attention to your trade management to avoid losses.
The Lazy Trader - Index (ETF) Trend Following Robot50/150 moving average, index (ETF) trend following robot. Coded for people who cannot psychologically handle dollar-cost-averaging through bear markets and extreme drawdowns (although DCA can produce better results eventually), this robot helps you to avoid bear markets. Be a fair-weathered friend of Mr Market, and only take up his offer when the sun is shining! Designed for the lazy trader who really doesn't care...
Recommended Chart Settings:
Asset Class: ETF
Time Frame: Daily
Necessary ETF Macro Conditions:
a) Country must have healthy demographics, good ratio of young > old
b) Country population must be increasing
c) Country must be experiencing price-inflation
Default Robot Settings:
Slow Moving Average: 50 (integer) //adjust to suit your underlying index
Fast Moving Average: 150 (integer) //adjust to suit your underlying index
Bullish Slope Angle: 5 (degrees) //up angle of moving averages
Bearish Slope Angle: -5 (degrees) //down angle of moving averages
Average True Range: 14 (integer) //input for slope-angle formula
Risk: 100 (%) //100% risk means using all equity per trade
ETF Test Results (Default Settings):
SPY (1993 to 2020, 27 years), 332% profit, 20 trades, 6.4 profit factor, 7% drawdown
EWG (1996 to 2020, 24 years), 310% profit, 18 trades, 3.7 profit factor, 10% drawdown
EWH (1996 to 2020, 24 years), 4% loss, 26 trades, 0.9 profit factor, 36% drawdown
QQQ (1999 to 2020, 21 years), 232% profit, 17 trades, 3.6 profit factor, 2% drawdown
EEM (2003 to 2020, 17 years), 73% profit, 17 trades, 1.1 profit factor, 3% drawdown
GXC (2007 to 2020, 13 years), 18% profit, 14 trades, 1.3 profit factor, 26% drawdown
BKF (2009 to 2020, 11 years), 11% profit, 13 trades, 1.2 profit factor, 33% drawdown
A longer time in the markets is better, with the exception of EWH. 6 out of 7 tested ETFs were profitable, feel free to test on your favourite ETF (default settings) and comment below.
Risk Warning:
Not tested on commodities nor other financial products like currencies (code will not work), feel free to leave comments below.
Moving Average Slope Angle Formula:
Reproduced and modified from source:
MACD+ Strategy [SystemAlpha]This is a strategy based on MACD Oscillator . Instead of using just the normal crossovers, we use trend filters, trailing stop loss and take profit targets. This strategy was developed for crypto, forex and stocks on daily timeframe but feel free to experiment on 15 minutes or higher using heikin ashi or normal candles
In this strategy you have a choice of:
Trend Filters:
- Average Directional Index ( ADX ) – buy when price is trend is up and sell when trend is down.
- Moving Average (MA) – buy when price close above the defined moving average and sell when price close below moving average
- Parabolic SAR – buy when SAR is above price is above price and sell when SAR is below price.
- All - Use ADX , MA and SAR as filters
For MA Filter , you can use the “TF MA Type” and "TF MA Period" parameter to select Simple or Exponential Moving Average and length.
Stop Loss:
- Average True Range (ATR) – ATR % stop as trailing stop loss.
- Parabolic SAR ( SAR ) – Parabolic SAR adapted as trailing stop loss.
For ATR , you can use the “ATR Trailing Stop Multiplier” parameter to set an initial offset for trailing stop loss.
Take Profit Target:
- Average True Range (ATR) – ATR % stop as trailing stop loss.
- Standard % – Percent as target profit
For ATR , you can use the “ATR Take Profit Multiplier” parameter to set an initial offset for trailing stop loss.
Additional feature include:
- Regular and Hidden Divergence display and alerts
STRATEGY ONLY:
- Set back test date range
- Set trade direction - Long, Short or Both
- Use timed exit - Select method and bars
- Method 1: Exit after specified number of bars.
- Method 2: Exit after specified number of bars, ONLY if position is currently profitable.
- Method 3: Exit after specified number of bars, ONLY if position is currently losing.
TradingView Links:
Alerts:
MACD:
How to use:
1. Apply the script by browsing through Indicators --> Invite-Only scripts and select the indicator
2. Once loaded, click the gear (settings) button to select/adjust the parameters based on your preference.
3. Wait for the next BUY or SELL signal to enter the trade!
Disclaimer:
The indicator and signals generated do not constitute investment advice; are provided solely for informational purposes and therefore is not an offer to buy or sell a security; are not warranted to be correct, complete or accurate; and are subject to change without notice.
Mean Deviation Detector - Throw Out All Other IndicatorsI set out this morning to create a script that searches out price moves that went too far too fast relative to historical pricing, given that such situations often result in the most profitable trading opportunities. I came up with the mean deviation detector. This script should be used as a means of judging how far a price is trading, in percent terms, from it's "average trading zone".
This is extremely helpful in a couple scenarios.
First, it can be used to judge a move's volatility relative to it's previous volatility. Put simply, a 5% move in the stock of Coca Cola is a lot more meaningful than a 5% move in the stock of Tesla, and the detector puts moves into historical (visual) perspective.
Second, the indicator can be used in real time as a means of determining when the chances of mean reversion are high or low. Extreme values are unsustainable and often lead to EITHER A.) price mean reversion or B.) time mean reversion. Put simply, prices either went too far and are due to fall back to a historical mean, or they need more time to digest a potentially new pricing zone.
Without getting too deep into volume profile analysis, the MDD can be a simple way of telling that a stock has moved into an "air pocket", where prices will either come back to the previous volume node (price mean reversion) or set up shop in a new, uncharted area (time mean reversion).
An extreme value doesn't always mean a trading opportunity, but it means that something interesting is happening in the stock / instrument.
I use this indicator to help me trade covered calls. Lots of high yielding weekly opportunities are stocks that have moved too far too fast, and I like to use this indicator as a means of either a.) scooping up stocks that have gotten beat up from a historical mean perspective & have likely seen the risk already "beaten" out of them, or to b.) stay away from stocks that have a very high chance of price correcting lower. In situations where I say that the risk has been "beaten" out of something, it doesn't mean that the stock won't continue to fall, it simply means that the degree and acceleration of the fall has peaked and that risk premiums in selling options will / should easily pay for continued losses. In the event that it's a price correction and not a time correction, you also increase your bat rate because you get auto-liquidated at a max profit. It's a really valuable tool in my kit.
You can also feel free to put a Keltner Chanel overlay onto the MDD to filter out noise, identify "extreme" values, and place mean reversion trades if you expect price mean reversion is likely, if you want to use this as the basis of a proper trading strategy. For a high extreme value, you could sell short term OTM call spreads, for example.
The MDD is adaptable to your own trading style & preferences.
Volume Weighted Bollinger Bands Strategy
Simple strategy,
Using Volume weighted Bollinger Bands
> Directions for Usage:
1. Use only in scripts where volume is specified by tradingview
2. Check on which timeframe the script has a profit factor greater than 1.4
3. Use that timeframe for profitability
4. In some high liquid securities there is a decent profit factor even at 5 min scale (optimise at your end!! all i want to say)
Enjoy!
Hope this helps!!
Grid Like StrategyIt is possible to use progressive position sizing in order to recover from past losses, a well-known position sizing system being the "martingale", which consists of doubling your position size after a loss, this allows you to recover any previous losses in a losing streak + winning an extra. This system has seen a lot of attention from the trading community (mostly from beginners), and many strategies have been designed around the martingale, one of them being "grid trading strategies".
While such strategies often shows promising results on paper, they are often subjects to many frictions during live trading that makes them totally unusable and dangerous to the trader. The motivations behind posting such a strategy isn't to glorify such systems, but rather to present the problems behind them, many users come to me with their ideas and glorious ways to make money, sometimes they present strategies using the martingale, and it is important to present the flaws of this methodology rather than blindly saying "you shouldn't use it".
Strategy Settings
Point determines the "grid" size and should be adjusted accordingly to the scale of the symbol you are applying the strategy to. Higher value would require larger price movements in order to trigger a trade, as such higher values will generate fewer trades.
The order size determines the number of contracts/shares to purchase.
The martingale multiplier determines the factor by which the position size is multiplied after a loss, using values higher to 2 will "squarify" your balance, while a value of 1 would use a constant position sizing.
Finally, the anti-martingale parameter determines whether the strategy uses a reverse martingale or not, if set to true then the position size is multiplied after any wins.
The Grid
Grid strategies are commons and do not present huge problems until we use certain position sizing methods such as the martingale. A martingale is extremely sensitive to any kind of friction (frictional costs, slippage...etc), the grid strategy aims to provide a stable and simple environment where a martingale might possibly behave well.
The goal of a simple grid strategy is to go long once the price crossover a certain level, a take profit is set at the level above the current one and stop loss is placed at the level below the current one, in a winning scenario the price reach the take profit, the position is closed and a new one is opened with the same setup. In a losing scenario, the price reaches the stop loss level, the position is closed and a short one is opened, the take profit is set at the level below the current one, and a stop loss is set at the level above the current one. Note that all levels are equally spaced.
It follows from this strategy that wins and losses should be constant over time, as such our balance would evolve in a linear fashion. This is a great setup for a martingale, as we are theoretically assured to recover all the looses in a losing streak.
Martingale - Exponential Decays - Risk/Reward
By using a martingale we double our position size (exposure) each time we lose a trade, if we look at our balance when using a martingale we see significant drawdowns, with our balance peaking down significantly. The martingale sequence is subject to exponential growth, as such using a martingale makes our balance exposed to exponential decays, that's really bad, we could basically lose all the initially invested capital in a short amount of time, it follows from this that the theoretical success of a martingale is determined by what is the maximum losing streak you can endure
Now consider how a martingale affects our risk-reward ratio, assuming unity position sizing our martingale sequence can be described by 2^(x-1) , using this formula we would get the amount of shares/contracts we need to purchase at the x trade of a losing streak, we would need to purchase 256 contracts in order to recover from a losing streak of size 9, this is enormous when you take into account that your wins are way smaller, the risk-reward ratio is totally unfair.
Of course, some users might think that a losing streak of size 9 is pretty unlikely, if the probability of winning and losing are both equal to 0.5, then the probability of 9 consecutive losses is equal to 0.5^9 , there are approximately 0.2% of chance of having such large losing streak, note however that under a ranging market such case scenario could happen, but we will see later that the length of a losing streak is not the only problem.
Other Problems
Having a capital large enough to tank 9any number of consecutive losses is not the only thing one should focus on, as we have to take into account market prices and trading dynamics, that's where the ugly part start.
Our first problem is frictional costs, one example being the spread, but this is a common problem for any strategy, however here a martingale is extra sensitive to it, if the strategy does not account for it then we will still double our positions costs but we might not recover all the losses of a losing streak, instead we would be recovering only a proportion of it, under such scenario you would be certain to lose over time.
Another problem are gaps, market price might open under a stop-loss without triggering it, and this is a big no-no.
Equity of the strategy on AMD, in a desired scenario the equity at the second arrow should have been at a higher position than the equity at the first arrow.
In order for the strategy to be more effective, we would need to trade a market that does not close, such as the cryptocurrency market. Finally, we might be affected by slippage, altho only extreme values might drastically affect our balance.
The Anti Martingale
The strategy lets you use an anti-martingale, which double the position size after a win instead of a loss, the goal here is not to recover from a losing strike but instead to profit from a potential winning streak.
Here we are exposing your balance to exponential gross but you might also lose a trade at the end a winning streak, you will generally want to reinitialize your position size after a few wins instead of waiting for the end of a streak.
Alternative
You can use other-kind of progressions for position sizing, such as a linear one, increasing your position size by a constant number each time you lose. More gentle progressions will recover a proportion of your losses in a losing streak.
You can also simulate the effect of a martingale without doubling your position size by doubling your target profit, if for example you have a 10$ profit-target/stop-loss and lose a trade, you can use a 20$ profit target to recover from the lost trade + gain a profit of 10$. While this approach does not introduce exponential decay in your balance, you are betting on the market reaching your take profits, considering the fact that you are doubling their size you are expecting market volatility to increase drastically over time, as such this approach would not be extremely effective for high losing streak.
Conclusion
You will see a lot of auto-trading strategies that are based on a grid approach, they might even use a martingale. While the backtests will look appealing, you should think twice before using such kind of strategy, remember that frictional costs will be a huge challenge for the strategy, and that it assumes that the trader has an important initial capital. We have also seen that the risk/reward ratio is theoretically the worst you can have on a strategy, having a low reward and a high risk. This does not mean that progressive position sizing is bad, but it should not be pushed to the extreme.
It is nice to note that the martingale is originally a betting system designed for casino games, which unlike trading are not subject to frictional costs, but even casino players don't use it, so why would you?
Thx for reading