OPEN-SOURCE SCRIPT

Custom EMA Strategy

Atualizado
This script combines 3 EMAs with Bollinger Bands to build a trend based trading strategy. The 3 EMAs (I, II and III ) default lengthes come from one of the Fibonacci Phi^3/2 sub series (17, 72 and 305), but can be changed to any values, particularly to the traditionally used 20, 50 and 200. Bollinger Band length is set to the same length as EMA I. Up to my knowledge, Fibonacci Phi^3/2 sub series lengthes were first proposed by Bo Williams.

Buy Recommendations happen when src (close) > EMA I > EMA II, EMA I angle > 0 degree, EMA II angle > -1 degree and EMA III angle > -1 degree. My simulations have show that -1 degree usage results in better returns than zero degree.

Top Buy Recommendations happen when, besides Buy recommendation conditions are met, src (close) > HBand, the Bollinger Band High Band.

Sell Recommendations come in 3 flavors: Short Term (close < EMA I), Medium Term (close < EMA2) and Long Term ( EMA I < EMA II).

Angle calculation is performed by calculating the "normalized" tangent over a delta interval. Normalization is required to make the angle independent of the price range.
Notas de Lançamento
This update just replaces the references to the close price by the chosen data source set to src.
Notas de Lançamento
This update is just to fix the EMA calculation in the absence of enough candles. Instead of using TV standard zero price, I use the source (close) price.
Notas de Lançamento
This update adds the option for using an intermediate length MA between MA I and MA II. It also adds some thresholds to be checked before showing a buy recommendation.
Notas de Lançamento
This update adds a new sell indication (colored maroon) based on the decrease of the angle between the 2 smaller MAs. It also adds new parameters to adjust buy and sell conditions. For details check the source code.
Notas de Lançamento
This update adds a new set of 3 MAs in order to detect consolidation conditions and enhance buy recomendation decisions.
Notas de Lançamento
This update improves the consolidation detection algorithm.
Notas de Lançamento
This update just changes some parameter default values and improves buy recommendation condition detection. It also removes an unused paramter related code.
Notas de Lançamento
This update changes the Long Term Sell condition to src < MA III and creates the Long Long Term Sell condition to when MA I < MA II. It also adds a new Minimum Delta % parameter to set the minimum distance between MA I and MA II that allows a buy condition. It also removes the requirement of red candle to maroon sell condition and tweaks some parameter default values. It also changes the low trend definition to MA IV < MA V < MA VI.
Notas de Lançamento
This update just corrects the name of the parameter that drives the maroon selling condition to fit its actual meaning. It also updates its default value.
Notas de Lançamento
This update adjusts the buying recomendation condition when it is not in a low trend.
Notas de Lançamento
This update adjusts buy and sell recommendation conditions. It also adds a new orange flag, named PC, to indicate that is forbidden to buy. This PC flag is angle based and its validity should be evaluated together with other aspects that could not fit in here. We recommend coloring bars because buy flag condition transition is not very sensitive and we can see some green bars without a buy flag in the beginning.
Notas de Lançamento
This update adjusts buy and sell recommendation conditions.
Notas de Lançamento
This update adds the option to hide the EMAs, so that Buy and Sell indications can be used with other indicators without polluting the chart.
Notas de Lançamento
This update just optimizes some functions to use binary search and decrease average execution time from n/2 to log2(n).
Notas de Lançamento
This update just cleans the code a bit and adds a new option to hide term related (red) Sell indications.
Notas de Lançamento
This update just adds a new Simple Cross Strategy option. As it has performed much better than the previous one, it was left as default. In order to use previous behavior, just uncheck the option.
Notas de Lançamento
This update just changes the selling condition on the Simple Cross Strategy mode to sell when MA 0 ROC < 0, if under consolidation (src < MA 5 or src < MA6). Otherwise, Simple Cross Strategy sell condition keeps as before, when MA 0 < MA 2.
Notas de Lançamento
This update just fixes the low trend condition definition for the Simple Cross Strategy to match its definition (src < MA 5)
Notas de Lançamento
This update just changes the consolidation condition from (src < MA 5) to (src < MA 6) due to better backtesting results.
Notas de Lançamento
This update adds another option to trigger sell when on consolidation (src < MA6). Before, on consolidation, the Simple Cross Strategy mode did a sell when MA 0 ROC < 0. Now, we can choose a MA X, with X ranging from 0 to 3, that triggers sell if src < MA X. If X equals -1, this new cross condition is disable and the previous one (MA 0 ROC < 0) is activated.
Notas de Lançamento
This update just adds an extra line drawing to compensate for its disappearance when using Length shift Up or Down.
Notas de Lançamento
This update adds a new option named "Small Caps Behaviour" to force using consolidation behaviour on sell decisions.
Notas de Lançamento
This update adds a new ROC based consolidation check option and a new field to set Bollinger Bands length. The new ROC based consolidation check option considers consolidation state when the condition (ROC 2 > ROC 3 and ROC 3 > ROC 4) is false.
Notas de Lançamento
This update just adjusts the order of Buy/Top buy flags drawing.
Notas de Lançamento
This update adds angle tests to the buy condition on the Simple Cross Strategy. Now, besides requiring MA 0 > MA 2, it also tests if Angle 2 > Small Angle Threshold and if Angle 6 > Large Angle Threshold. Please note that the Length Shift affects the actual lengths of the tested MAs.
CEMASluyikaiMoving AveragesTrend Analysis

Script de código aberto

No verdadeiro espírito do TradingView, o autor desse script o publicou como código aberto, para que os traders possam compreendê-lo e analisá-lo. Parabéns ao autor! Você pode usá-lo gratuitamente, mas a reutilização desse código em publicações é regida pelas Regras da Casa. Você pode favoritá-lo para usá-lo em um gráfico.

Quer usar esse script no gráfico?

Aviso legal