Writing of an Expert Advisor based on EMA cross that utilizes a martingale

Job finished

Execution time 30 days
Feedback from employee
Wonderful client. Patient and great communication. Looking forward to more projects together!!
Feedback from customer
Paul (MQL5) is fantastic! Delivered perfectly, offered great suggestions & exceeded expectations with clear communication & positivity

Specification

Objective: To Create an EA based on an EMA cross Strategy that utilizes martingale account management strategy with multiple profiles to better manage risk                     and  scale safely

Strategy Concept: This strategy was created around Volatility Index 75  on the 5 minute chart. It was Observed that this Index tends to  frequently form very          strong trends with short periods of consolidation. On applying a 10 period EMA offset at 0 And a 10 Period EMA offset at 500 , it was observed          that there tends to be on average at least a 1,000,0000 point movement in price in  a single direction after 1 or a few crosses  of EMA lines.          After applying a martingale strategy that increases lot size on every 'x' points in cumulative losses per martingale run, the risk of ruin          returned positive figures. The system uses a mix of dynamic and fixed stop loses, take profits and trailing stops to mitigate loses and          maximize profit. These levels are based on the EMAs as well.

Targeted pairs/index/Commodities: Volatility Index 75 , others(build to be able to be tested on currency pairs though doesn't have to be effective with)

Parameters: 

EMA1_period ;   EMA2_period ; EMA1_offshift  ; EMA2_offshift ;  EMA1_Method ;  EMA2_Method ;  EMA1_Apply2 ;  EMA2_Apply2 ; fixedTakeProfit ;    fixedStopLoss ; floatingTakeProfit ;   floatingStopLoss ;  floatingStopLoss_Type; 

(martingale)

no_of_Steps ; initial_step_size ; continue_after_final_step ; continue_type ; multiply_on_loss_amount ; multiply_on_loss_rate_factor;

Specification:

     1.After User enters parameter and initializes the bot, an alert should be issued informing user of the dollar amount that would be at risk per  martingale cycle. this can be  calculated as:

       amount at risk per run =  (Initial Step Size *multiply_on_loss_amount )[1+ ( Σ n * (multiply_on_loss_rate_factor))]   where ,  1 < n   < = (no_of_Steps

                   Formula in text was assuming  1 unit  = 100     points

     2. If EMA1 is Lower than EMA2 then Open a sell position 

else

If EMA1 is higher than EMA2 then Open a buy position

    3. If EA opened position but EMA lines cross line in other direction, close position and open other opposing position type( close buy and open sell).

     4.  On loosing a specified number of points ; ( >=  multiply_on_loss_amount ), The following position should open with

lot size  = initial step size * multiply_on_loss_rate_factor * number of current step    

     5. If the Accumulated  loss for current run is equal to or exceeds the previously calculated amount at risk per run then the EA must alert the user and  either   stop the EA, continue the martingale run  or restart the martingale run. (The purpose of the  continue_after_final_step ; continue_type ;  parameters)

     6. On opening a position the stop levels would be according to the  fixedTakeProfit ;   fixedStopLoss parameters. As price moves away from he entry   point if  the user selects a value equal to or above zero (=> 0) for the  floatingStopLoss  a trailing stop would be applied using either of 2 methods.  

If   floatingStopLoss_Type   = continuous ; then a regular trailing stop with the specified number of point will be applied to price

                        If   floatingStopLoss_Type   =  jump ; then for each specified number of units/points change in price (non-absolute) the stop loss jumps to             that many points bellow or above current price (jumping again only after price went up or down by the           specified amount of units once

     7. The floating TP is equal to the EMA2 Line if Line value is greater than  fixedTakeProfit  for a buy position and less than the fixedTakeProfit for a sell    position. If floating stop is enabled it would be based on the maximum value for The floating Tp(maximum relative to direction of trade)

     8. The EA would not consider other trades made manually or by other EAs. 

     9. The EA should update the user via comment :

the current step number ; the current martingale run number (since initiating) ; the accumulated loss on current run; the next lot size          run continuation type.

 


As an example, take point 1 , EMA1( the turquoise line  set at offset = 0)  crosses EMA2 which is offset at 500. If the initial step size is 0.01 then a   sell position is opened with SL set at fixedStopLoss . In this case even if the user was using a floating stop loss it would automatically default  to the fixed stop loss as the distance between the EMA 2 line and EMA1 line is below the permitted stop loss level.

At point 2 though the previously opened sell position has not reached the Fixed stop loss and the floating stop loss was unable to activate, the  position is closed and a buy position is opened. If the multiply_on_loss_amount is exceeded for the current step of the martingale run then the  opening lot size for the buy order 

initial step size multiply_on_loss_factor  *( current step number).  (Assuming we index steps in martingale run  starting at 1) . 

        Additionally for point 2  lets consider the yellow rectangle. If the stop levels for the buy position opened at point  2 is represented by the long sides  of the rectangle then price would've reached the stop loss before the moment , on close, that the EMA1 would below the EMA 2. The trade would  close at the price marked by the triangle however the sell position would open at point three where the EMAs cross after the close

For Point 4 , the previous sell position would be closed and a buy position simultaneously opened at the crossing of the EMA lines. The floating Stop  Loss ,if selected as a value  => 0,  would begin at the EMA2 line and dependent on the  floatingStopLoss_Type selected would either trail behind price  for each point movement, jump between prices as current price increases every  floatingStopLoss  units  or be equal to EMA2 so long as that value is  less than the  fixedStopLoss

    

Notes:

Use points not pips as unit of price measurement though that may be simplified by rebasing for user input. Formula in text was assuming  1 unit  = 100      points

  This would be the first version of the EA. I plan to use the same developer to apply more features in the future. features would include panels, buttons ,     a partials mechanism with multiple TPs, reporting to a website ect.

  I am aware the current method of calculating the next lot size becomes inefficient really quickly would like to discuss if other more efficient models           not posted here 

 Use this set as the initial starting parameters:

EMA1_period  = 10 ;   EMA2_period = 10  ; EMA1_offshift = 0  ; EMA2_offshift =  500;  EMA1_Method = exponential;  EMA2_Method = exponential ;    EMA1_Apply2 = close ;  EMA2_Apply2 = close ; fixedTakeProfit = 10,000 ;    fixedStopLoss = 5,000 ; floatingTakeProfit = no ;   floatingStopLoss = 0 ;     floatingStopLoss_Type = jump; 

(martingale)

no_of_Steps = 3 ; initial_step_size =0.005 ; continue_after_final_step = yes ; continue_type = restart ; multiply_on_loss_amount = 5,000 ;  multiply_on_loss_rate_factor = 1 ;


Responded

1
Developer 1
Rating
(8)
Projects
11
18%
Arbitration
7
43% / 29%
Overdue
1
9%
Free
2
Developer 2
Rating
(5)
Projects
7
14%
Arbitration
4
25% / 25%
Overdue
2
29%
Working
3
Developer 3
Rating
(41)
Projects
88
14%
Arbitration
30
30% / 53%
Overdue
36
41%
Working
4
Developer 4
Rating
(11)
Projects
11
0%
Arbitration
4
25% / 50%
Overdue
2
18%
Free
5
Developer 5
Rating
(800)
Projects
1371
72%
Arbitration
112
29% / 48%
Overdue
341
25%
Working
6
Developer 6
Rating
(153)
Projects
215
21%
Arbitration
14
64% / 21%
Overdue
1
0%
Loaded
7
Developer 7
Rating
(68)
Projects
77
8%
Arbitration
33
9% / 55%
Overdue
6
8%
Working
8
Developer 8
Rating
(140)
Projects
203
80%
Arbitration
17
29% / 47%
Overdue
10
5%
Working
9
Developer 9
Rating
(61)
Projects
68
29%
Arbitration
2
0% / 0%
Overdue
1
1%
Working
10
Developer 10
Rating
(12)
Projects
15
40%
Arbitration
2
50% / 50%
Overdue
0
Working
11
Developer 11
Rating
(253)
Projects
407
38%
Arbitration
85
42% / 19%
Overdue
70
17%
Loaded
12
Developer 12
Rating
(264)
Projects
538
50%
Arbitration
55
40% / 36%
Overdue
224
42%
Working
13
Developer 13
Rating
(568)
Projects
641
41%
Arbitration
21
57% / 29%
Overdue
47
7%
Working
14
Developer 14
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Similar orders
preciso de um robô com duas médias móveis, uma exponencial high e uma exponencial low. preciso também ter a opção de utilizar e todos os tempos gráficos e alterar os parâmetros das médias. entrada de compra será feita quando um candle de alta romper e fechar a cima da média high e fechará a posição quando um candle de baixa romper e fechar a baixo da média low. a venda será feita quando o candle de baixa romper e
I need a chart to replicate/track my equity + Balance Curve into my mt4. Also this chart i need to be able to add Stochastic / Bollingerband / Moving average on the equity/balance curve. Besides the equity curve i would like the indicator to show the Line-chart of my win + 1 and my loss -1 which results in a win-loss curve. ( i will discuss this with the choosen developer in depth. ) More information on what i want
Hi, I need a robot, which wil get instructions to trade in 3 symbols at the same time based on few parameters and calculations. Example: There is 1 symbol called Gold-Near and the rate for it is 1000-1002 If i specify that when the rate reaches 1050, it should sell 1 lot Upon execution it will have to sell 1 lot of cme gold, buy 3 lots of mcx gold and buy currently (lots will be based on calculation). All the
Trading bot 300+ USD
We need bot that trades when medium and low impact news hits It will release pending order both directions few min prior to news impact And will have certain risk management strategy attached Example If Monday and Tuesday news successful clears profits It will reduce risk for next news events until new week starts each week message on tg: Dstatewealthtrading NOTE: 4 YAERS OF EXPERIENCE UPWORD, YOU MUST BE A
are you aware of the Monday Range Strategy? https://www.youtube.com/watch?v=7B_yBBFx6z8 5pm EST time sunday - monday 5pm est and it has to be on the H1 chart , minimum 1:2 Risk to reward and break even function after 1:1
Hello, I need someone who have a great experience in ATAS platforms, I use ATAS software for orderflow and i would like tradingview to draw some light information from ATAS to tradingview. If you are capable of this please send me a message and let's proceed
I was looking around for a robot to trade with and came across one that looked like it had some promising results, i would like to optimize the existing robot for even better and more consistent results and convert the mql4 code to mql5 so that i can run it on my live account after testing. I would like the expert to be run on the 5 minute time frame. Note: The robot is based on the martingale system. I have provided
An EA that executes when the 21 and 55 SMA Cross on certain time frame also the EA will understand supply and demand levels and executes when price reacts on this levels specified and target/stoploss levels will be predetermined...also the robot will also comprise stochastic oscillator
Job Description: We are seeking an experienced EA programmer to create an EA that utilizes SnR + Trendlines + Multi timeframe confluence Project Requirements: - Support and Resistance, Open Close levels/kissing candles/Rejection block, Support broken becomes Resistance(SbR), Resistance broken becomes Support(RbS), Quasimodo Levels, Asian Range, London Killzone, London Open, New York Killzone, New York Open
Starting from scratch, I need a solution to develop my own crypto trading and exchange platform. This platform should compare prices across various exchanges like Coinbase, Binance, KuCoin, and Unocoin, as well as different cryptocurrencies. The solution must identify opportunities to buy on one platform and sell on another for a profit, transferring funds to my personal wallet instantly for security. The bot should

Project information

Budget
30 - 100 USD
For the developer
27 - 90 USD
Deadline
to 10 day(s)