Program 59 and tutorial 98 calculate the distance between the upper and lower Bollinger bands. This was then compared with the same distance for a number of bars. If it was the least the programs recognized it as a ‘squeeze’. Program 73 is a strategy based around this concept. Because the Bollinger squeeze is not a signal by itself, I have created Program 73, a function that calculates the Bollinger squeeze and returns an integer value of the number of bars after the last squeeze occurred. A narrowing of Bollinger bands is an indication of lower volatility. According to John Bollinger, creator of the Bollinger band concept, periods of low volatility are often followed by periods of high volatility. This could mean that a narrowing of the Bollinger bands (or a period of lower volatility) –a ‘squeeze’–may foreshadow a period of higher volatility, or a breakout in price. Consequently the function could be potentially used in a strategy as one of the entry conditions.
Program 20 consists of an unprotected TradeStation EasyLanguage strategy that generates trades based on the crossing of CCI 'trend' lines. Trend lines are calculated by joining CCI pivot points and then continuing the imaginary line until crossed by the CCI. In addition long trades are only instigated when the CCI is below a value specified in the user input CCILowFilter and short trades are only instigated when the CCI value is greater than a value specified in the user input CCIHighFilter. The program also includes some filters that can be easily modified by the user.
Program 47 (Multicharts version)
Some view ghost patterns as a sign of a potential reversal. Program 47 (based on program 44) is designed to look for ‘ghost’ patterns in the Commodity Channel Index (CCI) and make trades based on either:
A confirmed ghost or inverted ghost pattern
A break of the ‘trend line’ drawn across the ‘shoulders’ of the ghost or inverted ghost pattern
Program 18 consists of an unprotected strategy together with a protected EasyLanguage function and a smoothed CCI indicator. The function calculates the smoothed Markplex CCI (using the calculation previously applied in programs 10 and 11) and it is called from both the strategy and the indicator. The strategy bases signals on divergence between the smoothed CCI and price. The download includes MultiCharts export files. As with the TradeStation version, the CCI function is protected. The download includes the following files: PROGRAM18.ELD, _Program18.pla and_Program18-function.sef. If you are a TradeStation user will just need to install PROGRAM18.ELD. If you are a MultiCharts user you will need to install _Program18.pla and_Program18-function.sef. Install _Program18-function.sef BEFORE _Program18.pla.
Program 13 is a strategy that looks for a pivot formation followed by a retracement before placing a limit order at the pivot price level. The strategy also allows the user to setup filters in order to easily customize the program. In the 'short' setup we look for a high pivot, for the price to dip down, then rise above the pivot level for a limit order to be placed next bar (you can also define filters to further restrict when a trade is placed.) The long setup requires a low pivot, followed by a lower low for a long limit order to be placed next bar (again, you can define filters to further restrict when trades are placed).
Program 12 is a TradeStation EasyLanguage strategy that searches for candlestick patterns (the specific candlestick patterns searched for depend on which user inputs are selected. If a pattern occurs and a user defined filter or user defined filters evaluate to true within a user defined number of bars, then a trade is instigated.
This strategy uses the pivot combining methodology described in tutorial 13 such that if a new pivot is discovered that combines with a previous level, and if that level has been combined over or equal to a user input number of times, then the strategy flags a potential trade.
Commentary in program 6A further condition for entry depends on the number of combined pivots above and below the last pivot found. The program counts the number of combined pivots above the pivot that exceed a user specific weighting (specified by the line sensitivity user input - see below) and those below that exceed a specified weighting.
For a potential long trade the number of pivots below the pivot that exceed a user specified weighting must be greater than those above (that exceed a user specified weighting).
For a short trade the number of pivot lines above the pivot that exceed a user specified weighting must be greater than those below that exceed user specified weighting. The program then evaluates additional user created filters to determine whether to enter a trade. (The above explanation assumes that DirVector is set to zero)
Program 5 takes the principles used in tutorial 23 and program 3 and builds them into a strategy. Instead of drawing a dot on the chart, as the ShowMe study does, the strategy issues a market order on the next bar after a new line break 'line' begins. The strategy includes several 'template' filters so that you can easily build filters into the program.
Tutorial strategy programs
The following tutorials also include programs that are available for download:
Tutorial 125 demonstrates two ways to find out the fill prices for strategy orders.
This might be useful, for example, in a situation where a future entry or target price is determined by the exit price of another trade.
Tutorial 74 takes the program created in tutorial 71 and explains how, if two sequential losing trades occur, to introduces a pause for a specified number of minutes when the strategy does not take any new trades.
The original strategy, created in tutorial 71, is a simple breakout strategy together with a target, stop and trailing stop. The target and the stop are based on a multiple of the average true range (ATR).
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement".
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed.
The cookie is used by cdn services like CloudFare to identify individual clients behind a shared IP address and apply security settings on a per-client basis. It does not correspond to any user ID in the web application and does not store any personally identifiable information.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
1 year 24 days
Used by Google DoubleClick and stores information about how the user uses the website and any other advertisement before visiting the website. This is used to present users with ads that are relevant to them according to the user profile.
This cookie is set by doubleclick.net. The purpose of the cookie is to determine if the user's browser supports cookies.
5 months 27 days
This cookie is set by Youtube. Used to track the information of the embedded YouTube videos on a website.