Total Trend Follow Study with Alerts, Pyramid and DCA
Introduction
This is the study version of my trend following strategy. It is designed to be a “drop in” replacement for its twin strategy. I have replicated the analysis logic and entry and exit procedures to produce a nearly identical result set to the strategy. Other than the properties tab, the inputs dialog is exactly the same. Backtest the strategy to determine the best inputs to trade. Then apply the same inputs to this study to forward test. Alerts are available for trade entry, take profit close, stop-loss exit and pyramid level. Please see the strategy version for a complete description of the trading behavior of this script.
In brief, this script is intended to benefit from long duration trending markets. The trading behavior is to buy on strength and sell on weakness. As such the trade orders maintain its directional bias according to price pressure. What you will see on the chart is long positions on the left side of the mountain and short on the right. Long and short positions are not intermingled as long as there exists a detectable trend. My trend following script uses the same pivot point calculations used by my range trader but this time rising pivots are long and falling pivots are short. I refer to pivots as a vertex in the inputs dialog box. The cone based measurement adds a peak, sides and a base to the calculation elements. This allows the inputs to focus on adjusting the location of trades and not just trend lines. The pivot points can be plotted on the backtest. You can use the vertex input values to move the pivots where you want trades to be. This script can be traded in four different modes: Long, Short, BiDir, and Flip Flop.
This script replicates the TradingView pyramid feature by adding a field to the inputs tab. Pyramiding works the same way in this script as its twin strategy. Each pyramid level increases the order size as a multiple of its level. This makes it easy to comply with NFA FIFO Rule 2-43(b) if the trades are executed here in America. The current pyramid level is reported in the summary label when reports are enabled. You can use this value to manually adjust the position size in your forward testing. I also expose an alert when the pyramid threshold is breached. Use the TradingView alert window to send yourself a message when the level increases.
In addition to pyramiding this script employs a DCA feature which can increase the order size in response to stopped out or winning streak trades. The number of losing trades is tracked through the “Debt Sequence” value displayed in the summary report. When the debt is recovered the sequence number resets to zero. You can use the “Debt Sequence” number to manually manage DCA on your forward test. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. If DCA is enabled be sure to set the limiter to prevent your account from depleting capital during runaway markets.
I also have a range trading version of this script for those not interested in trend following.
Design
This script is approximately 1800 lines of Pine 4 code and implements nine indicators on two time frames. The chart (primary) interval and one higher time frame which is based on the primary. The higher time frame identifies the trend for which the primary will trade. The original trading algorithms are a port from a much larger program on another trading platform. I've converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The alligator itself is used to identify the trend main body.
Indicator Repainting
Indicator repainting is an industry wide problem which mainly occurs when you mix backtest data with real-time data. It doesn't matter which platform you use some form of this condition will manifest itself on your chart over time. The TradingView wiki has an in depth article on this subject in regard to the elements of the Pine language which contribute or are susceptible to this effect. In dealing with this problem from a prevention aspect in Pine, you have to accept some repaint to occur.
The goal of my repaint prevention in the study script is simply to ensure that my signal trading bias remains consistent between the strategy, study and broker. This actually turned out to be kind of a job since it interfered with another project goal to synchronize the entry and exits between the strategy and study scripts. The script execution engines are different between the Pine strategy and study. While the primary chart interval is quite manageable the higher time frame requires the security() function. TradingViewʼs higher time frame implementation, which interleaves the chart interval, combined with the critical “lookahead” parameter makes the solution necessarily complex. According the wiki regarding this issue, best practice comes down to the following two methods:
1. a = security(syminfo.tickerid, 'D', close , lookahead=barmerge.lookahead_on)
2. indexHighTF = barstate.isrealtime ? 1 : 0
indexCurrTF = barstate.isrealtime ? 0 : 1
a0 = security(syminfo.tickerid, 'D', close ,lookahead=barmerge.lookahead_off)
a = a0
This script employs method 2 with the only problem being the Pine sar() function which does not expose its internal bar series. The best work around would require hand coding the parabolic but the script is at the maximum local scopes and run-time duration so that option is not viable. So far, this hasn't proven to be much of a problem. I'm currently running several symbols, forex and crypto, the strategy and study remain highly correlated with no instances of completely opposite real-time signals. However, I have received some alerts with no corresponding plot on the chart but so far it only occurred on one symbol. I will continue to monitor this problem.
The Bottom Line. Does this script repaint. Yes, it will repaint about as much as every other multi-interval script which employs the best practice solutions available in the Pine Language.
Usage
Please be aware that the purpose of the study script is to perform forward testing of the configuration established in the backtest process. Therefore, the usage here in the study begins with the backtest configuration parameters. The following steps provide instructions to get this study script connected to the TradingView alert notification system. For a detailed description of how to create a trend following system using this script please see the strategy version.
Step 1. Create a chart with the trading instrument and interval used in the backtest.
Step 2. Find this script in the “Invite Only” section of the Indicators Dialog and apply it to the current chart.
Step 3. Copy the values from the backtest input dialog to the study.
Step 4. Open the TradingView Alert window.
Step 5. In the “Condition” drop down field find and select the name of the script.
Step 6. A new drop down field will appear with the alerts available in the script. This script exposes the following eight signals:
-- Long Entry Signal
-- Long Profit Signal
-- Long Stop-loss Signal
-- Long Pyramid
-- Short Entry Signal
-- Short Profit Signal
-- Short Stop-loss Signal
-- Short Pyramid
Select the signal for which you want notification.
Step 7. In the “Options” field select the frequency of the alert. Typically, "Once Per Bar" or "Once Per Bar Close" will be sufficient.
Step 8. Set the expiration date and time.
Step 9. Select the action of the alert. Currently TradingView offers six different actions:
-- Notify on App
-- Show Popup
-- Send Email
-- Webhook URL
-- Play Sound
-- Send Email to SMS
Step 10. Create a message to to transmitted with the alert. The script provides a default message which can be overridden with any custom description. The price, time and other reserved chart elements can be included in the message
Step 11. Click the “Create” button to generate this single alert.
Step 12. Repeat steps 1 through 11 for every signal you wish to receive.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
Intraday
Full Range Trading Study with Alerts and DCA
Introduction
This is the study version of my range trading strategy. It is designed to be a “drop in” replacement for its twin strategy. I have replicated the analysis logic and entry and exit procedures to produce a nearly identical result set to the strategy. Other than the properties tab, the inputs dialog is exactly the same. Backtest the strategy to determine the best inputs to trade. Then apply the same inputs to this study to forward test. Alerts are available for trade entry, take profit close and stop-loss exit. Please see the strategy version for a complete description of the trading behavior of this script.
In brief, this script is intended to benefit from a range bound market. The trading behavior is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. This is accomplished by calculating pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in the inputs dialog box. The cone based measurement adds a peak, sides and a base to the calculation elements. This allows the inputs to focus on adjusting the location of trades and not just trend lines. The pivot points can be plotted on the backtest. You can use the vertex input values to move the pivots where you want trades to be. This script can be traded in four different modes: Long, Short, BiDir, and Ping Pong. When trading in “Ping Pong” mode long and short positions are intermingled continuously as long as there exists a detectable vertex. I also have a trend following version of this script for those not interested in trading the range.
This script employs a DCA feature which enables users to experiment with loss recovery techniques in the backtest. Here in the study the summary report displays the “Debt Sequence” number which can be used to manually increase the order size on subsequent trades at the broker. The script keeps track of debt incurred from losing trades. When the debt is recovered the “Debt Sequence” resets to zero so orders can return to the base size. Be sure to set the limiter to prevent your account from depleting capital during runaway markets.
Consecutive loss limit can be set to report a breach of the threshold value. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the consecutive loss limit to manually halt live trading on the broker side.
Design
This script uses twelve indicators on a single time frame and is approximately 1800 lines of Pine 4 code. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The vertices are calculated using one of five featured indicators: Volume, Histogram, Fractal, Candle and Macro. The backtest is used to determine the best fit for your desired trading instrument. The incorporation of five distinct pivot point calculations broadens the scope of the markets where this tool can be beneficial.
Example configurations for various instruments along with a detailed PDF user manual is available.
Indicator Repainting
Please see the strategy script for a more detailed description of the repaint problem. The goal of my repaint prevention in the study script is simply to ensure that my signal trading bias remains consistent between the strategy, study and broker. This script employs the following conventions in effort to avoid indicator repainting:
1. This script uses only 1 time frame. The chart interval.
2. Every entry and exit condition is evaluated on closed bars only.
3. Entry and exit plots are not triggered off trend line crossovers.
4. No security functions are called to avoid a look-ahead possibility.
5. Every contributing factor specified in the TradingView wiki regarding this issue has been addressed. Except the use of the exponential moving average which is essential to my strategy.
6. I’ve run a 10 minute chart live for a week and compared it to the same chart periodically reloaded. The two charts were highly correlated with no instances of completely opposite real-time signals
This script does indeed bring up the TradingView warning dialog. The only reason for this is due to “peculiarities of the algorithm” regarding the EMA as stated in the wiki article.
The Bottom Line. Does this script repaint. Yes, it will repaint about as much as every other trading platform which combines backtest data with real time prices in a live trading scenario.
Usage
Please be aware that the purpose of the study script is to perform forward testing of the configuration established in the backtest process. Therefore, the usage here in the study begins with the backtest configuration parameters. The following steps provide instructions to get this study script connected to the TradingView alert notification system. For a detailed description of how to create a range trading system using this script please see the strategy version.
Step 1. Create a chart with the trading instrument and interval used in the backtest.
Step 2. Find this script in the “Invite Only” section of the Indicators Dialog and apply it to the current chart.
Step 3. Copy the values from the backtest input dialog to the study.
Step 4. Open the TradingView Alert window.
Step 5. In the “Condition” drop down field find and select the name of the script.
Step 6. A new drop down field will appear with the alerts available in the script. This script exposes the following six signals:
Long Entry Signal
Long Profit Signal
Long Stop-loss Signal
Short Entry Signal
Short Profit Signal
Short Stop-loss Signal
Select the signal for which you want notification.
Step 7. In the “Options” field select the frequency of the alert. Typically, "Once Per Bar" or "Once Per Bar Close" will be sufficient.
Step 8. Set the expiration date and time.
Step 9. Select the action of the alert. Currently TradingView offers six different actions:
Notify on App
Show Popup
Send Email
Webhook URL
Play Sound
Send Email to SMS
Step 10. Create a message to to transmitted with the alert. The script provides a default message which can be overridden with any custom description. The price, time and other reserved chart elements can be included in the message
Step 11. Click the “Create” button to generate this single alert.
Step 12. Repeat steps 1 through 11 for every signal you wish to receive.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
Full Range Trading Strategy with DCA - Crypto, Forex, Stocks
Introduction
This is a Pine 4 range trading strategy. It has a twin study with several alerts. The design intent is to produce a commercial grade signal generator that can be adapted to any symbol and interval. Ideally, the script is reliable enough to be the basis of an automated trading system web-hooked to a server with API access to crypto, forex and stock brokerages. The strategy can be run in three different modes: long, short and bidirectional.
As a range trading strategy, the behavior of the script is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. Just to be clear, the range as well as trends are merely illusions as the chart only receives prices. However, this script attempts to calculate pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in this script which adds structural components to the chart formation. When trading in “Ping Pong” mode long and short positions are intermingled continuously as long as there exists a detectable vertex. Unfortunately, this can work against your backtest profitability on long duration trends where prices continue in a single direction without pullback. I have designed various features in the script to compensate for this event. A well configured script should perform in a range bound market and minimize losses in a trend. I also have a trend following version of this script for those not interested in trading the range. Please be aware these are two types of traders. You should know who you are.
This script employs a DCA feature which enables users to experiment with loss recovery techniques. This is an advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the TV properties tab. The inputs for this feature include a limiter to prevent your account from depleting capital during runaway markets. This implementation of DCA does not use pyramid levels. Only the order size on subsequent new trades are affected. Pyramids on the other hand increase the size of open positions. If you are interested in seeing pyramids in action please see the trend version of this script which features both DCA and pyramids. While DCA is a popular feature in crypto trading, it can make you a “bag” holder if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much trading experience to manage this feature safely.
Consecutive loss limit can be set to report a breach of the threshold value. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the location of the labels along with the summary report tally to improve the adaptability of system. Don’t simply fit the chart. A good trading system should adapt to ever changing market conditions. On the study version the consecutive loss limit can be used to halt live trading on the broker side (managed manually).
Design
This script uses twelve indicators on a single time frame. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The vertices are calculated using one of five featured indicators. Each indicator is actually a composite of calculations which produce a distinct mean. This mathematical distinction enables the script to be useful on various instruments which belong to entirely different markets. In other words, at least one of these indicators should be able generate pivots on an arbitrarily selected instrument. Try each one to find the best fit.
The entire script is around 1800 lines of Pine code which is the maximum incidental size given the TradingView limits: local scopes, run-time duration and compile time. I’ve been working on this script for nearly two years and have tested it on various instruments stocks, forex and crypto. It performs well on higher liquidity markets that have at least a year of historical data. Although the script can be implemented on any interval, it has been optimized for small time frames down to 5 minutes. The 10 minute BTC/USD produces around 500 trades in 2 ½ months. The 1 hour BTC/USD produces around 1300 trades in 1 ½ years. Originally, this script contained both range trading and trend following logic but had to be broken into separate scripts due to the aforementioned limitations.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 50 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as safeguards, trade frequency, DCA, modes, presets, reports and lots of calibrations. The inputs are numerous, I’m aware. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
Example configurations for various instruments along with a detailed PDF user manual is available.
Indicator Repainting And Anomalies
Indicator repainting is an industry wide problem which mainly occurs when you mix backtest data with real-time data. It doesn't matter which platform you use some form of this condition will manifest itself on your chart over time. The critical aspect being whether live trades on your broker’s account continue to match your TradingView study.
Tackling this repainting issue has been a major project goal of this script. Based on my experience with Pine, most of the problems stem from TradingView’s implementation of multiple interval access. Whereas most platform provide a separate bar series for each interval requested, the Pine language interleaves higher time frames with the primary chart interval. The problem is exacerbated by allowing a look-ahead parameter to the Security function. The goal of my repaint prevention is simply to ensure that my signal trading bias remains consistent between the strategy, study and broker. That being said this is what I’ve done address this issue in this script:
1. This script uses only 1 time frame. The chart interval.
2. Every entry and exit condition is evaluated on closed bars only.
3. No security functions are called to avoid a look-ahead possibility.
4. Every contributing factor specified in the TradingView wiki regarding this issue has been addressed.
5. I’ve run a 10 minute chart live for a week and compared it to the same chart periodically reloaded. The two charts were highly correlated with no instances of completely opposite real-time signals.
The study does indeed bring up the TV warning dialog. The only reason for this is because the script uses an EMA indicator which according to TradingView is due to “peculiarities of the algorithm”.
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_exit()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
Usage
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you along with a PDF which describes each input in detail. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 50 inputs separated into five sections. Each section is identified as such with a makeshift separator input. There are three main areas that must to be configured: long side, short side and settings that apply to both. The rest of the inputs apply to DCA, reporting and calibrations. The following steps address these three main areas only. You will need to get your backtest in the black before moving on to the more advanced features.
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field.
Step 4. Select the Histogram indicator from Section 2. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 2.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the red markers and short trades on the blue.
Step 7. Make adjustments to “Base To Vertex” and “Vertex To Base” net change and roc in Section 3. Use these fields to move the markers to where you want trades to be.
Step 8. Try a different indicator from Section 2 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Go to Section 3 and enable “Apply Red Base To Base Margin”.
Step 10. Go to Section 4 and enable “Apply Blue Base To Base Margin”.
Step 11. Go to Section 2 and adjust “Minimum Base To Base Blue” and “Minimum Base To Base Red”. Observe the chart and note where the markers move relative to each other. Markers further apart will produce less trades but will reduce cutoffs in “Ping Pong” mode.
Step 12. Return to Section 3 and 4 and turn off “Base To Base Margin” which was enabled in steps 9 and 10.
Step 13. Turn off Show Markers in Section 2.
Step 14. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Percentage is not currently supported. This is a fixed value minimum profit and stop loss. Also note that the profit is taken as a conditional exit on a market order not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached. On the study version, the stop is executed at the close of the bar.
Step 15. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Ping Pong). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with “BiDir” or “Ping Pong” after setting up both sides of the trade individually. The difference between “BiDir” and “Ping Pong” is that “Ping Pong” uses position reversal and can cut off opposing trades less than the specified minimum profit. As a result “Ping Pong” mode produces the greatest number of trades.
Step 16. Take a look at the chart. Trades should be showing along the markers plotted earlier.
Step 17. Make adjustments to the Vertex fields in Section 2 until the TradingView performance report is showing a profit. This includes the “Minimum Base To Base” fields. If a profit cannot be achieved move on to Step 18.
Step 18. Improve the backtest profitability by adjusting the “Long Entry Net Change” and “Long Entry ROC” in Section 3.
Step 19. Improve the backtest profitability by adjusting the “Short Entry Net Change” and “Short Entry ROC” in Section 4.
Step 20. Improve the backtest profitability by adjusting the “Sparse Long Delta” in Section 3.
Step 21. Improve the backtest profitability by adjusting the “Chase Long Delta” in Section 3.
Step 22. Improve the backtest profitability by adjusting the “Long Adherence Delta” in Section 3. This field requires the “Adhere to Rising Trend” checkbox to be enabled.
Step 23. Try each checkbox in Section 3 and see if it improves the backtest profitability. The “Caution Lackluster Longs” checkbox only works when “Long Caution Mode” is enabled.
Step 24. Improve the backtest profitability by adjusting the “Sparse Short Delta” in Section 4.
Step 25. Improve the backtest profitability by adjusting the “Chase Short Delta” in Section 4.
Step 26. Improve the backtest profitability by adjusting the “Short Adherence Delta” in Section 4. This field requires the “Adhere to Falling Trend” checkbox to be enabled.
Step 27. Try each checkbox in Section 4 and see if it improves the backtest profitability. The “Caution Lackluster Shorts” checkbox only works when “Short Caution Mode” is enabled.
Step 28. Enable the reporting conditions in Section 5. Look for long runs of consecutive losses or high debt sequences. These are indications that your trading system cannot withstand sudden changes in market sentiment.
Step 29. Examine the chart and see that trades are being placed in accordance with your desired trading goals. This is an important step. If your desired model requires multiple trades per day then you should be seeing hundreds of trades on the chart. Alternatively, you may be looking to trade fewer steep peaks and deep valleys in which case you should see trades at major turning points. Don’t simply settle for what the backtest serves you. Work your configuration until the system aligns with your desired model. Try changing indicators and even intervals if you cannot reach your simulation goals. Generally speaking, the histogram and Candle indicators produce the most trades. The Macro indicator captures the tallest peaks and valleys.
Step 30. Apply the backtest settings to the study version and perform forward testing.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
Intraday Support and ResistanceDisplay daily preferred trading and display support and resistance (modified) which is calculate using daily pivots
intraday trading perioddisplay the intraday trading period (08:30 - 15:00) on chart with high transparent white background.
you can edit the time period by yourself in the pine editor mode.
Total Trend Follow Strategy with Pyramid and DCA
Introduction
This is a Pine 4 trend following strategy. It has a twin study with several alerts. The design intent is to produce a commercial grade signal generator that can be adapted to any symbol and interval. Ideally, the script is reliable enough to be the basis of an automated trading system web-hooked to a server with API access to crypto, forex and stock brokerages. The strategy can be run in three different modes: long, short and bidirectional.
As a trend following strategy, the behavior of the script is to buy on strength and sell on weakness. As such the trade orders maintain its directional bias according to price pressure. What you will see on the chart is long positions on the left side of the mountain and short on the right. Long and short positions are not intermingled as long as there exists a detectable trend. This is extremely beneficial feature in long running bull or bear markets. The script uses multiple setups to avoid the situation where you got in on the trend, took a small profit but couldn’t get back in because the logic is waiting for a pullback or some other intricate condition.
Deep draw-downs are a characteristic of trend following systems and this system is no different. However, this script makes use of the TradingView pyramid feature accessible from the properties tab. Additional trades can be placed in the draw-down space increasing the position size and thereby increasing the profit or loss when the position finally closes. Each individual add on trade increases its order size as a multiple of its pyramid level. This makes it easy to comply with NFA FIFO Rule 2-43(b) if the trades are executed here in America. The inputs dialog box contains various settings to adjust where the add on trades show up, under what circumstances and how frequent if at all. Please be advised that pyramiding is an advanced feature and can wipe out your account capital if your not careful. During the backtest use modest setting with realistic capital until you discover what you think you can handle.
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the TV properties tab. The inputs for this feature include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
Consecutive loss limit can be set to report a breach of the threshold value. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the location of the labels along with the summary report tally to improve the adaptability of system. Don’t simply fit the chart. A good trading system should adapt to ever changing market conditions. On the study version the consecutive loss limit can be used to halt live trading on the broker side (Managed manually).
Design
This script uses nine indicators on two time frames. The chart (primary) interval and one higher time frame which is based on the primary. The higher time frame identifies the trend for which the primary will trade. I’ve tried to keep the higher time frame around five times greater than the primary. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The alligator itself is used to identify the trend main body.
The entire script is around 1700 lines of Pine code which is the maximum incidental size given the TradingView limits: local scopes, run-time duration and compile time. I’ve been working on this script for over a year and have tested it on various instruments stocks, forex and crypto. It performs well on higher liquidity markets that have at least a year of historical data. Though it can be configured to work on any interval between 5 minutes and 1 day, trend trading is generally a longer term paradigm. For day trading the 10 to 15 minute interval will allow you to catch momentum breakouts. For intraweek trades 30 minutes to 1 hour should give you a trade every other a day. Four hours and above are for seasoned deep pocket traders. Originally, this script contained both range trading and trend following logic but had to be broken into separate scripts due to the aforementioned limitations.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 50 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as safeguards, trade frequency, DCA, modes, presets, reports and lots of calibrations. The inputs are numerous, I’m aware. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
Example configurations for various instruments along with a detailed PDF user manual is available.
Indicator Repainting And Anomalies
Indicator repainting is an industry wide problem which mainly occurs when you mix backtest data with real-time data. It doesn't matter which platform you use some form of this condition will manifest itself on your chart over time. The critical aspect being whether live trades on your broker’s account continue to match your TradingView study. Since this trading system is featured as two separate scripts, indicator repainting is addressed in the study version. The strategy (this script) is intended to be used on historical data to determine the appropriate trading inputs to apply in the study. As such, the higher time frame of this strategy will indeed repaint. Please do not attempt to trade from the strategy. Please see the study version for more information.
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_exit()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines. However, alerts that are subsequently fired off when triggered in the study are dispatched from the TradingView servers one bar later from the study plot. Therefore the alert you actually receive on your cell phone matches the strategy plot but is one bar later than the study plot. A lot can happen in four hours if you are trading off a 240 bar.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
Usage
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you along with a PDF which describes each input in detail. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 50 inputs separated into seven sections. Each section is identified as such with a makeshift separator input. There are three main areas that must to be configured: long side, short side and settings that apply to both. The rest of the inputs apply to pyramids, DCA, reporting and calibrations. The following steps address these three main areas only. You will need to get your backtest in the black before moving on to the more advanced features
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field.
Step 4. Select the Histogram indicator from section 3. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 3.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the blue markers and short trades on the red.
Step 7. Make adjustments to Base To Vertex and Vertex To Base net change and roc in section 3. Use these fields to move the markers to where you want trades to be. Blue is long and red is short.
Step 8. Try a different indicator from section 3 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Turn off Show Markers in Section 3.
Step 10. Enable the Symmetrical and Deviation calculation models at the top of section 5 and 6 (Symmetrical, Deviation).
Step 11. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale)
Step 12. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Flip Flop). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with BiDir or Flip Flop after setting up both sides of the trade individually.
Step 13. Trades should be showing on the chart.
Step 14. Make adjustments to the Vertex fields in section 3 until the TradingView performance report is showing a profit.
Step 15. Change indicators and repeat step 14. Pick the best indicator.
Step 16. Use the check boxes in sections 5 and 6 to improve the performance of each side.
Step 17. Try adding the Correlation calculation model to either side. This model can sometimes produce a negative result but can be improved by enabling “Adhere To Markers” or “Narrow Correlation Scope” in the sections 5 and 6.
Step 18. Enable the reporting conditions in section 7. Look for long runs of consecutive losses or high debt sequences. These are indications that your trading system cannot withstand sudden changes in market sentiment.
Step 19. Examine the chart and see that trades are being placed in accordance with your desired trading model.
Step 20. Apply the backtest settings to the study version and perform forward testing.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
GainzyPoo 45m Intraday LRAIC IndicatorIntraday indicator based off a simple moving average/momentum indicator, works best on lower time frames such as 45m. Last version got reported by some LARP. Backtesting works very well as Long Only script.
Magick TrinitySimple, accurate, profitable buy/sell signals.
Works on all timeframes and assets, no repainting (stays after candle close), configurable signal strengths.
Trial available.
Gap Up and Gap DownIdentify gap ups and downs by percentage and amount.
Set alerts for:
Gap up/down by %
Gap up/down by $
EMA-50H-50L-15CThank you @rachitpjain for sharing this simple yet effective strategy on open platform( Twitter ).
For detail reading about strategy refer tweets of @rachitpjain where he timely posts charts using this strategy.
**************************************************************************************************
**EMA-50H-50L-15C Script V1
**************************************************************************************************
This script will be helpful to identify trade based on strategy shared by @rachitpjain.
Here are salient features of this script :
-Apply Three EMAs using single indicator (50H-50L-15C)
-When 15C crosses 50H - EMA Band will be filled with green color and only BUY trades should be taken
-When 15C crosses 50L - EMA Band will be filled with red color and only SELL trades should be taken
-When 15C in between 50H - 50L Band will be filled with white color and Trading should be avoided
*Strategy works best in trending market using any instrument. Results will vary with change in time frame
**Apply Basic TA like horizontal support, resistance, Higher High, Higher Low, Lower Low and Lower High price structure will increase success rate of this strategy
*** Script is kept protected mode and don't ask for codes.
(I think it's easy to code and by coding yourself, you will learn so many aspect of trading which you might missed)
Any MA bands (TMA bands V2)Hi everyone
Website will be opening very shortly :) Sorting out the last details and we're so excited to finally roll-out our different Algorithm Builders for you guys
Forewords
This present script is an evolution of the TMA bands . I would never have expected that script to become so popular to be honest
This is not only a study or idea but a really proven method and I'm glad that many of you are using it already. But please, whenever you see a new script out there, even if it looks cool and promising, please test it on a demo account for a week or on a LIVE account but with tiny amounts every time.
Many times, what you see on the chart is not what will happen in reality. I know that most of you will agree and I know exactly why we see this behavior... I'll give more details in a later post
I have plenty of methods like that one and I'll detail them on my website (and a bit on TradingView) starting next month
TMA bands on steroids
Someone asked me privately to make a generic version of the TMA bands and make it compatible with other standards Moving Average types. That's it for the specifications really as I didn't do much than re-using some piece of my own code
Suggested (but not mandatory) methodology
1) The Take Profit 1 is the middle line, Take Profit 2 is the opposite band.
2) Once the TP1 is hit, set your Stop Loss to breakeven
3) Once the TP2 is hit, if you still want to stay in the trade, set your Stop Loss to the TP1
It will be a powerful tool in your arsenal for some scalp/intraday trades
Wishing you all of you a great and profitable day
PS
It's strictly forbidden to republish this script without my explicit approval. All my posts are copyrighted from now on
Obviously you can use but not republish and get the credit or even worse... some money from your own clients
Dave
____________________________________________________________
Be sure to hit the thumbs up. Building those indicators take a lot of time and likes are always rewarding for me :) (tips are accepted too)
- If you want to suggest some indicators that I can develop and share with the community, please use my personal TRELLO board
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Disclaimer:
Trading involves a high level of financial risk, and may not be appropriate because you may experience losses greater than your deposit. Leverage can be against you.
Do not trade with capital that you can not afford to lose. You must be aware and have a complete understanding of all the risks associated with the market and trading. We can not be held responsible for any loss you incur.
Trading also involves risks of gambling addiction.
Please notice I do not provide financial advice - my indicators, strategies, educational ideas are intended to provide only some source code for anyone interested in improving their trading
The proprietary indicators and strategies developed by Best Trading Indicator, the object of intellectual property rights are and remain the exclusive property of Best Trading Indicator, at the exclusion of images and videos and texts free of rights or provided by the Company or external legal or physical person.
No assignment of intellectual property rights is carried out through these Terms and Conditions.
Any total or partial reproduction, modification or use of these properties for any reason whatsoever is strictly prohibited without the express written authorization of the Company.
CVWAP/PVWAPFirst of all thanks to concept owner @sanstocktrader (Twitter Handle) for sharing this on public platform.
Those who don't know how to trade this strategy can get an idea by studying about it from Pinned Tweet of @vwaptraders.
Thanks to below mentioned Twitter Handles for helping newbies to learn and earn using this strategy.
@CAtLarge
@ankurm84
@blisstrades
Telegram support channels for this strategy are as mention below :
1) vwaptraders
2) blisstrades
**Checkout Telegram/Twitter history msgs for learning to avoid repetitive queries.
**************************************************************************************************
**CVWAP/PVWAP Script V1
**************************************************************************************************
This script will be helpful up to certain extent to identify trade based on strategy shared above.
Here are salient features of this script :
-Plot current day VWAP=CVWAP
-Plot previous day EoD VWAP=PVWAP
-Transparent Blue background suggests to take only BUY side trade (Close > CVWAP and PVWAP)
-Transparent Red background suggest to take only SELL side trade (Close < CVWAP and PVWAP)
** Script is kept protected mode and don't ask for codes
(I think it's easy to code and by coding yourself, you will learn so many aspect of trading which you might missed)
QuantCat Intraday Strategy (15M)QuantCat Intraday Strategy
This strategy is designed to be used on the 15 minute time frame, on liquid x/btc pairs and BTC/USD.
It works by having 2 moving averages, automatic stop loss calculation, and taking positions on MA crosses and MA zone bounces for confirmation.
Stoploss is so crucial to minimise any damage from huge unexpected candles, the strategies can just be used for entries as well, you don't have to stick to the exact formula- of the long and short system, but this by itself is profitable.
The system nets positive results on
-BTC/USD
-ETH/BTC
-LTC/BTC
-XRP/BTC
There is a small element of trend filtering also for the MA's, but I found adding it in actually hindered performance when testing and training the strategies unless it was using a loose value.
You can get live alerts for this strategy and speak to our developers by joining our server on discord! (Link in signature)
PivotIntradayStrategy@scorpiomanojFRMThis is an intraday trading strategy using Floor Pivots for BankNifty.
This strategy overlays on the charts with wide variety of drawing floor pivots and previous day levels.
VERY IMPORTANT :
1) LONGS AND SHORTS TO BE TAKEN IN 5 MIN CHART. 15 MIN CHART IS DISPLAYED BECAUSE TV DOESNT ALLOW TO PUBLISH WITH TF LESS THAN 15 MIN.
2) BACKTEST RESULTS ASSUME EXITS AT DAY CLOSE ONLY AND NOT BASED ON ANY OTHER CONDITIONS. HENCE ONCE LONG OR SHORT INITIATED IT IS SUGGESTED TO EXIT USING TRAILING STOP OR YOUR OWN RISK APPETITE. EVEN DAY CLOSE INTRADAY EXITS OFFERS A FAIRLY GOOD RESULT WITH ABOVE AVERAGE SUCCESS RATE AND PROFIT FACTOR IN EXCESS OF 1.75.
3) STRATEGY IS BASED ON COMBINATION OF PATTERNS INVOLVING DAILY PIVOTS AND PREV DAY LEVELS THAT IS FOUND TO REPEAT IN BANKNIFTY.
THE DETAILS OF THE STRATEGY IS CONFIDENTIAL.
4) THIS WILL BE AVAILABLE PUBLICLY ONLY FOR A LIMITED PERIOD. THIS LIMITED PERIOD AVAILABILITY IS TO TEST THE RESULTS AMONG VARIOUS PARTICIPANTS INORDER TO SEE THE CONSISTENCY.
YOU CAN REACH ME AT MY TWITTER ID scorpiomanojfrm or my email scorpiomanojfrm AT gmail DOT com
The Puria MethodTraders who work on this system argue that the Forex Strategy “The Puria Method” can make a 50 points profit a day :) FX:EURUSD )
Triangular Moving Average (TMA) bandsWhat in the world is up folks ??!??
Here's the indicator of the day. Sharing a simple one today because I'm busy coding for a few clients (fun life of a top script author on TradingView)
The TMA bands is an indicator that I discovered on FXCM a few years ago FXCM TMA bands
From the screenshot above, we see that when the price hits the lower band, it's a possible reverse BUY signal. When it hits the upper band, it's a possible SELL signal
Methodology
1) The Take Profit 1 is the middle line, Take Profit 2 is the opposite band.
2) Once the TP1 is hit, set your Stop Loss to breakeven
3) Once the TP2 is hit, if you still want to stay in the trade, set your Stop Loss to the TP1
That's what we call a trailing stop loss which I offered in the Trade Manager : Trade-Manager-Open-Source-Version/
It will be a powerful tool in your arsenal for some scalp/intraday trades
After years of coding for traders, I worked with many brokers/API/languages so I'm very used to convert a script from a broker to another one (shameless self-advertising)
PS
Tomorrow I'll share the Signal version of my Algorithm Builder:
You'll be able to connect it in a single click to a very cool Backtest System made by the Pinescripters community
In other words, I'm selling the scripts to allow you to build your own signals in a few clicks AND to connect it easily to a kick-ass backtesting tool. More to come tomorrow
Hope you'll like it, like me, love it, love me, tip me :)
____________________________________________________________
Feel free to hit the thumbs up as it shows me that I'm not doing this for nothing and will motivate to deliver more quality content in the future. (Meaning... a few likes only = no indicators = Dave enjoying the beach)
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Pivot LevelsThis indicator automatically plots 3 important "Pivot Levels" to watch when day trading.
This simple but effective tool plots out important levels from the prior trading day, and updates every day. I noticed that significant levels such as the close, the high, and the low from the prior day often serve as important support/resistance levels in the future.
The previous day high is displayed as the green line, the close is displayed as the white line, and the low is plotted as the red line.
Enjoy!
Naresh - iJPASIMPORTANT NOTE
This strategy has been developed as a professional service. It was published only or testing and verification by the customer. As such, access cannot be granted to anyone else. Sorry about that!
Other open source scripts are available on the BacktestRookies profile.
Intra-day Japanese Candlestick Price Action Strategy
An intraday strategy which focuses on analyzing price action of the opening 3 bars to make trading decisions.
Once certain criteria are met, entry and exit targets are set and left until they are hit else we reset and start again on a new day.
Custom Anchored VWAP Offset V2This is the anchored VWAP with offset option which can be used on any timeframe, including intraday.