A Modified TMI Indicator

Trabalho concluído

Tempo de execução 28 dias

Termos de Referência

This is a modification to the Triangular Moving Average non-repainting Indicator (provided as attached MQ4 file). The attached EXE file gives you some idea as to some of the design modification I need done to this indicator. The attached images are of the same images used in this job description just in case they are hard to read. This job is for the MQ4 code and not just the compiled exe file and is part one of a big project. 

1)      This Indicator will mainly be running on Renko charts.  All examples shown are on Renko charts.

2)      5 TMI settings, each with different colors instead of one (see EXE file as an example). The default settings for the variables values are as follows:

1)      TMA1: ATR Multiplier1, Half Length 1, ATR Period 1 = 1.5,19,70,

2)      TMA 2: ATR Multiplier2, Half Length 2, ATR Period 2 = 2.5,60,120

3)      TMA3: ATR Multiplier3, Half Length 3, ATR Period 3 = 3.0,60,120

4)      TMA4: ATR Multiplier4, Half Length 4, ATR Period 4 = 3.5,60,120

5)      TMA5: ATR Multiplier5, Half Length 5, ATR Period 5 = 4.0,60,120

6)      ColorTMABands1 = Yellow, TMABands2= DodgeBlue, ColorTMABands3= Green, ColorTMABands4= Magenta ColorTMABands5=Black

7)      TMABreakoutLevel 1: Yes/No, Default “No”, TMABreakoutLevel 2: Yes/No, Default “No”, TMABreakoutLevel 3: Yes/No, Default “No”, TMABreakoutLevel 4: Yes/No, Default “No”, TMABreakout Level 5: Yes/No, Default “Yes”

8)       MaxBars: Default 10,000

9)      EnableAlerts: Yes/No Default No

3)      When a Bullish bar breaks above a breakout level, the indicator will show an “X”, indicating a potential downward reversal. In Renko chart, this coincides with when the Renko blocks reverse position once it has crossed a particular TMI band. This program needs to mark the change in direction of the candles and rejection of the upward or downward moves after the candle closed above the TMI bands and mark each rejection candle with a different color “X”. For the purpose of this illustration, I will refer to those “X”s as“Bullets”. I do not know if you need a variable assigned for the size of the Renko Blocks I use, but if you do, my default is value is 5 pips blocks, but I do change that size on occasion. Here are the values for other variables used in this indicator:

1)      ColorCandleReversal1 = Yellow, ColorCandleReversal2= DodgeBlue, ColorCandleReversal3= Green, ColorCandleReversal4= Magenta ColorCandleReversal5=Black

4)      Generally speaking, this program needs to be able to filter out Bullets and only show the bullets in groups that meet my filtering criteria ( Bullets are considered to be in a the same group when several bullets are in a row and the price candles between those bullets hasn’t broken and closed past the opposing TMA2 line (TMI2 has a DodgeBlue color by default) See examples Below:

5)But before we get to the filters, wed need to incorporate a way of counting the number of Waves (from Elliot Wave Theory) the uptrend and downtrend moves as well as the ranging moves are producing. For this portion of the indicator, I will be referring to the following abbreviations for Higher High and Higher Low and Lower High and Lower Low:


1

     

The rules that must always hold for the pattern above to be valid are:

HH1>HH0 and HL1<HH1 and HL1>= HH0. The remaining HH and HL and LL and LH rules can be deduced from this rule as per the images above. (From programing aspect, in order to distinguish the correct waves (HH and LL, etc) , I’d suggest using a three candle based Fractal code to point out ALL of the three candle based highs and lows in the price movement and then filter out the ones that don’t meet with the rules above.  This will be further explained below.

Now How do we distinguish trending vs ranging moves and Uptrend vs downtrend:

An uptrend move is a move where HH3 or HH4 or LL3 or LL4 close above the last TMI band (TMI5). When this happens on the upper TMI for example, multiple upper TMI5 crossings in a group is expected before the price crosses the lower TMI and trend reverses or becomes ranging.

Example:


In a ranging move, HH3 or HH4 or LL3 or LL4 do not reach TMI5 and at most will reach TMI4 at best. This will result in a ranging bullets of the lower grade TMI (ie TMI 2, TMI3, TMII4) from Upper to Lower TMI and back from Lower to Upper TMI with Single bullets separated by crossing of the opposing TMI2:


How to correctly assign the waves to trending moves: I am going to show you step by step how the program needs to number the waves in an uptrend such as this one:


In order to establish where HL0 is, we wait for the price to cross low TMI2. We go back X number of candles (Default X = 20), find the lowest Fractal within the 20 candles and call that Hl0. Then from there, we start counting HH1 that meets with the rules we set out above, HL1, etc Until we get to HH3 or HH4 that has broken through the TMI upper.  If HH3 or HH4 has crossed Upper TMI 5, we expect an uptrend and a group of bullets on the upper TMI band to show up, so we continue the HH count upwards:

Note that anytime any HL goes below the previous HL, waves need to be renumbered to continue to follow the uptrend rules as is seen below

When the price finally crosses the lower TMI2 line (Blue), the last move between the upper TMI and lower TMI needs to be repainted as a downtrend and the previous uptrend move repainted as seen below:

In the last downtrend move, if LL3 or LL4 end up below the lower TMI5 band, that will be considered to be a Down trend. And if it doesn’t cross TMI5, it will be a Ranging move. How to correctly count the wave in a ranging move:

Anytime an HH4 or LL4 is has crossed TMI2 through TMI 4 4 but not 5, we consider that a ranging move. The first bullet is HL0 or LL0 and we start counting up or down in the opposite direction of the TMI band all the waves after that:



Now back to the filters: in the first filters, we will only pick the series of bullets in sequence or group (Trending move) (bullets are considered to be in a group when there is no crossing of the opposing TMI2 band in between the bullets). To understand the filters, we will need to refer to number the bullets in group as follows:

1)      Variables: ShowInGroupsof3: Yes/No Default Yes

2)      Variables: ShowInGroupsof4: Yes/No Default Yes

3)      Variable:  ShowInGroupsof5: Yes/No Default Yes (When this option is chosen, one crossing of the opposing TMI2 band is allowed, but it has to be between bullets #3 and #4)

4)      Variable: ShowAlternating: Yes/No/Default No, This option only shows ranging prices when the price alternatingly breaks the opposing TMI2 on the 3rd or 4th HH  LL. (Whichever number, 3rd or 4th wave which is in the chosen threshold first) See example below for clarification.

Alternating


6)      When Price Moves from One TMI to the opposite TMI Without creating a wave (no HH or LL) in between, consider that move to qualify for all 4 waves (ie all HH1, HL1, HH2, HL2, HH3, HL3, HH4 are all within the straight move). See Example:


7)      In a chosen Group of bullets (When ShowInGroupsof: 3,4,or 5 picked), If there are multiple  clusters of Bullets within the same threshold, then need option to only chose one from each cluster based on HH, HL, LH,LL

1)      Vaiable: FilterHHHL: YES/No Default: Yes

2)      Variable: HHHLThreshold: Group2/Group3/Group4/Group5/Group3+Group2; Default Group3+Group2

HHHLThreshold=Group 2 allows to sort out Bullet 1 and Bullet 2 based on HH, LL positions.

HHHLThreshold=Group 3 allows to sort out Bullet 1 thru 3 based on HH, LL positions. And so on and so forth

HHHLThreshold=Group 3+Group2: This Option can only be applied when ShowInGroupsof= 5 is picked.  It allows for the HHLL filter to only be applied to the first 3 bullets independent of the last two bullets (ie, in an upward move, Bullet 3 is above Bullet 2 which is above Bullet 1 and Bullet 5 is above Bullet 4.  But Bullet 4 can be both below or above bullet 3. See example below.  

·   Example of what the filter should do: When FilterHHHL = No, and TMABreakout Level 5 is “Yes”:

            

·   When FilterHHHL = YES, and TMABreakout Level 5 is “Yes”: HHHLThreshold:Group5

·   When ShowInGroupsof: 3, FilterHHHL = YES, and TMABreakout Level 5 and 4 is “Yes”, and HHHLThreshold:Group2 (HH and HL is only applied to the first two bullets)

·   In the previous example, if HHHLThreshold: Group3 (all bullets are taken out cause the third bullet has a lower HH than the second one and ShowInGroupsof: 3, only shows groups of three bullets.

·   In this last example, HHHLThreshold:Group3+Group2 and ShowinGroup5=yes

8)      When Groups of bullets chosen (When ShowInGroupsof:  >1), I’d like to have the option to

Toggle off and on the distance in points between each bullet and the TMI2 (Blue) band and the % of the distance as compared to the chosen Bullet number within the group of bullets and the speed of the movement as defined below. If possible, I’d like that option to be present on the chart with a button so that I don’t have to go back to the variables sets and change the value there.

1)      Variable: ShowBulletStats YES/NO, Defalult No

If ShowInGroupsof3 = Yes OR ShowInGroupsof4 = Yes

Write distance in % in comparison to bullet # G3-4ReferenceBullet

2)      G3-4ReferenceBullet: Bullet1/Bullet2/Bullet3 Default Bullet2

If ShowInGroupsof5 = Yes Show distance in % in comparison to bullet # G5ReferenceBullet

3)      G5ReferenceBullet: Bullet1/Bullet2/Bullet3/Bullet4/Combo2+4 Default Combo2+4

When G5ReferenceBullet=Combo2+4, the first 3 bullets distances are written as a percentage of bullet #2 distance and #4 and $3 are written as percentage of Bullet 4 distance. See below example.


 

9)      Along with the distance above, I’d like to be able to show the speed of the movement between the bullets right after the distance. Speed = Distance divided by number of candles between the two bullets. I’m interested in speed between Bullets 2 and 1, 3 and 2, 4 and 3, 5 and 4 and last 5 and 3

1)      ShowSpeed: Yes/No Default Yes  See Example:


10)      Filters for groups:

1)      FilterD3% = Yes/No, Default No, D%Value: real Number, Default 115%

·   Only shows groups of 3, 4 or 5 bullets where D3% is >D%Value% 

2)      FilterD5% = Yes/No, Same D% Value as D%Value is used for filtering

·   Only shows groups of 5 bullets where D5% is >D%Value

3)      SpeedCutOff : real Number, Default 20

4)      Speed(3-2) >SpeedCutOff YES/No, Default No

5)      SpeedDecelRatio: Real Number, default 5

6)      Speed(4-3)<Speed(3-2) YES/NO Default No (Only when ShowInGroupsof= 4)

7)      Speed(3-2)/Speed(4-3)<SpeedDecelRatio Yes/NO Default No (Only when ShowInGroupsof= 4)

8)      Speed(5-3)>SpeedCutoff Yes/NO Default No

9)      Speed(3-2)/Speed(5-3)<SpeedDecelRatio Yes/NO Default No (Only when ShowInGroupsof= 5)

10)   Speed(5-4)>SpeedCutOff YES/NO Default No (Only when ShowInGroupsof= 5)

Filter Distance between Bullet Points:

11)   FilterMinBulletDistance YES/NO, Default No

12)   MinBulletDistance: Real Number, default 20 points

When FilterMinBulletsDist=YES, D(2-1) and D(3-2) both need to be greater than MinBulletDistance (Please note that D(3-2) is distance between two bullets and not between Bullets and TMI2 line)


Respondido

1
Desenvolvedor 1
Classificação
(258)
Projetos
395
28%
Arbitragem
69
19% / 49%
Expirado
120
30%
Livre
2
Desenvolvedor 2
Classificação
(48)
Projetos
80
28%
Arbitragem
8
75% / 13%
Expirado
41
51%
Livre
3
Desenvolvedor 3
Classificação
(5)
Projetos
6
17%
Arbitragem
2
0% / 50%
Expirado
0
Livre
4
Desenvolvedor 4
Classificação
(49)
Projetos
134
27%
Arbitragem
62
13% / 53%
Expirado
58
43%
Livre
Pedidos semelhantes
COETZEE EA BOT 30 - 100 USD
Hello I am looking for an EA developer that can create for me a bot that trades prop firms accounts and makes at least $500 a day from a $50,000 account balance. This EA should have SL on every trade as mandatory. I do not have any EMAs strategies but I am willing to accept any strategy the developer has to deploy as long as it produces 0.5% a day and is not HFT
I have 2 (indicators) I coded and I use on Tradingview I just need converted to use on Ninjatrader i will be looking for great developer to bid for it and for more details
in this document i have explained the EA requirements in details and given some pictures of needed options . please Grid EA expert apply to my job . and do not come with no experience. https://docs.google.com/document/d/1Y_Vbv87Ep5BQavRxgDlsWT7GH5VjSgVDnm6C1wtVtj0/edit?usp=sharing i can pay 30 USD now but later on if EA get successful . i'll gift with tip of 50 USD after successful month
A green point should be added at the Low point of candlesticks in the oversold zone—it is the L point. If there is at least one L point between two H points, search for a LL point in the interval between two H points. The candlestick with the lowest Low price will be the LL point. Generally, the LL point is not necessarily an L point. Search for candlesticks with the lowest Low price. If there is at least one H point
Hello, I am looking for developer who develops me a renko trading robo with following requirement Time :1 sec Box assignment method : Percentage change LTP Source : Close/OHLC Auto Break-even setup option after certain box Trialling Profit Pips after certain box profit with auto Sl set in PIPs Auto open reverse trade after hitting Sl with given conditions . It is very simple trading tool
Hey greetings, It my pleasure to met you . I need a MT4 develop that can develop an EA based on alert . If you are a professional MT4 programmer you can kindly bid for this project and let proceed
I've use most of code from this script, add some more filter, and added different kind of moving avg instead of rsi input .. please check the source code .. . 70-80% is similar to it. Please check can you convert And are you familiar with backtest.py library? Oky. This library has ML approach to get the optimized backtest parameters right ? included for this but let me know what you think? can you install backtest.py
CHAPTER 1: BASICS 1.THE BASICS 1.1. EXPANSION AND RETRACEMENT Expansion =>occurs when there is an impulse movement towards a direction. Retracement => is the correction movement after an impulse movement. 1.2. FIBBONACCI RETRACEMENT USED TO DETERMINE THE END OF THE RETRACTION MOVEMENT, USUALLY THE PRICE RETRACTS TO 50% OR UNTIL OTE (0.62, 0.705, 0.79) BEFORE ANOTHER IMPULSE MOVEMENT OCCURS. 1.3. BMS - BREAK IN MARKET
Hello i need someone who can convert a trading view indicator into an mt5 indicator that can work smoothly also need to add an alert on the indicator i will require to test the indicator run it for 1-2days to confirm all is okay thank you
The requirements for the order of robots XAUUSD and XAGUSD EURUSD forex in the STOP loss TAKE profit signal in this order, you can bring benefits to the changes in the market, that is, when the market changes frequently, it will also help to prevent losses and bring great profits all work to trade high and low python line position

Informações sobre o projeto

Orçamento
100 - 300 USD
Desenvolvedor
90 - 270 USD
Prazo
de 4 para 7 dias