Open by MA Cross and Close by ATR

MQL5 Experts

Job finished

Execution time 3 hours

Specification

Need an EA for MT5 (including source code) : 

MT5 EA with Adaptive ATR


  1. The EA is based on 2 MA cross & close positions by ATR indicator
  2. Sample
  3. Fast MA cross slow MA to above and atr adaptive MA is green then open buy
  4. Close Buy order after the ATR indicator turns red
  5. sell fast MA cross slow MA to below and adaptive MA is red then open sell
  6. Close Sell order after the ATR indicator turns green
  7. Order execution on the best possible rates
  8. The Adaptive ATR indicator code already provided with the order
  9. All indicator input parameters should be user modifiable like MA period, MA type, ATR period etc
  10. It should work with any _Symbol & current chart time period & all times 24*5 no restrictions
  11. Expect default SL TP applicable as 0 and should be user modifiable
  12.           Needed the source code for the EA


//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   1
#property indicator_label1  "EMA"
#property indicator_type1   DRAW_COLOR_LINE
#property indicator_color1  clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width1  2
//--- input parameters
input int                inpEmaPeriod = 25;          // EMA period
input ENUM_APPLIED_PRICE inpPrice     = PRICE_CLOSE; // Price
//--- indicator buffers
double val[],valc[],atr[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,val,INDICATOR_DATA);
   SetIndexBuffer(1,valc,INDICATOR_COLOR_INDEX);
   SetIndexBuffer(2,atr,INDICATOR_CALCULATIONS);
//--- indicator short name assignment
   IndicatorSetString(INDICATOR_SHORTNAME,"ATR adaptive EMA ("+(string)inpEmaPeriod+")");
//---
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator de-initialization function                      |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(Bars(_Symbol,_Period)<rates_total) return(prev_calculated);
   for(int i=(int)MathMax(prev_calculated-1,0); i<rates_total && !IsStopped(); i++)
     {
      atr[i] = 0;
         for (int k=0; k<inpEmaPeriod && (i-k-1)>=0; k++)
            atr[i] += MathMax(high[i-k],close[i-k-1])-MathMin(low[i-k],close[i-k-1]);
            atr[i] /= inpEmaPeriod;
      int _start = MathMax(i-inpEmaPeriod+1,0);
      double _max = atr[ArrayMaximum(atr,_start,inpEmaPeriod)];            
      double _min = atr[ArrayMinimum(atr,_start,inpEmaPeriod)];            
      double _coeff = (_min!=_max) ? 1-(atr[i]-_min)/(_max-_min) : 0.5;
      double _alpha = 2.0 / (1+inpEmaPeriod*(_coeff+1.0)/2.0);
      double _price = getPrice(inpPrice,open,close,high,low,i,rates_total);
      val[i]  = (i>0) ? val[i-1]+_alpha*(_price-val[i-1]) : _price;
      valc[i] = (i>0) ?(val[i]>val[i-1]) ? 2 :(val[i]<val[i-1]) ? 1 : valc[i-1]: 0;
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| Custom functions                                                 |
//+------------------------------------------------------------------+
double getPrice(ENUM_APPLIED_PRICE tprice,const double &open[],const double &close[],const double &high[],const double &low[],int i,int _bars)
  {
   if(i>=0)
      switch(tprice)
        {
         case PRICE_CLOSE:     return(close[i]);
         case PRICE_OPEN:      return(open[i]);
         case PRICE_HIGH:      return(high[i]);
         case PRICE_LOW:       return(low[i]);
         case PRICE_MEDIAN:    return((high[i]+low[i])/2.0);
         case PRICE_TYPICAL:   return((high[i]+low[i]+close[i])/3.0);
         case PRICE_WEIGHTED:  return((high[i]+low[i]+close[i]+close[i])/4.0);
        }
   return(0);
  }
//+------------------------------------------------------------------+

Responded

1
Developer 1
Rating
(5)
Projects
9
11%
Arbitration
5
40% / 60%
Overdue
1
11%
Free
2
Developer 2
Rating
(247)
Projects
440
34%
Arbitration
56
36% / 38%
Overdue
161
37%
Busy
3
Developer 3
Rating
(1134)
Projects
1436
62%
Arbitration
21
57% / 10%
Overdue
43
3%
Free
4
Developer 4
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
5
Developer 5
Rating
(6)
Projects
8
25%
Arbitration
1
100% / 0%
Overdue
3
38%
Free
6
Developer 6
Rating
(87)
Projects
131
22%
Arbitration
7
57% / 0%
Overdue
33
25%
Free
7
Developer 7
Rating
(74)
Projects
121
43%
Arbitration
12
33% / 50%
Overdue
17
14%
Free
8
Developer 8
Rating
(5)
Projects
9
0%
Arbitration
1
100% / 0%
Overdue
3
33%
Free
9
Developer 9
Rating
(22)
Projects
25
4%
Arbitration
0
Overdue
5
20%
Free
10
Developer 10
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
11
Developer 11
Rating
(379)
Projects
407
70%
Arbitration
3
100% / 0%
Overdue
2
0%
Loaded
12
Developer 12
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
13
Developer 13
Rating
(564)
Projects
933
47%
Arbitration
302
59% / 25%
Overdue
125
13%
Loaded
14
Developer 14
Rating
(87)
Projects
114
26%
Arbitration
7
29% / 57%
Overdue
5
4%
Free
Similar orders
Trading robots are programs, which operate according to underlying algorithms. An algorithm is a set of actions that need to be performed in response to certain events. For example, the most common task in algo trading is the identification of the "New bar" event. When the event occurs, the robot checks the emergence of trading signals and acts accordingly. Before you decide to program or order a trading robot, you
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
At bot 30+ USD
Help me to trade create orders for me and analyze the markets and decide when is a good time to buy or sell. Determine which pairs are best to use to trade with and indicate trading signals to me
I currently have a Forex trading script in .txt format that I want to be converted to a functional/working robot (in .mq4), without altering the strategy of the script. The strategy of the script is already in and shouldn't be changed unless with mutual understanding
Hi, Can you develop the Scalper EA based on Market indicator. EA should open the buy trade at the buy arrow and at every DOT. Close the buy trade with few Pips TP (profit after commission) and SL at opposite Sell arrow. EA should open the SELL trade at the sell arrow and at every DOT. Close the sell trade with few Pips TP (profit after commission) and SL at opposite Buy arrow. Provide the source code at the end
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
Hello, I want an ( EXPERT ADVISER that can run automated) that will use CCI as the main entry and ATR as the exit. When the CCI is greater than the custom value of 0, you buy and when the CCI is less than the custom value -0, you sell. ATR Exit - profit of 1.0 and exit as .05 (Please, let it be modifiable) The time frame can be 15 or 5 minutes (variable) EMA 20 DAYS OR 480 (can be disabled) Spread should not be more
Hi, I would like to create an EA similar to this link: https://www.mql5.com/en/market/product/33508?source=External#description Drawdown 5% Scalping! Ability to avoid big price drop that can hurt capital! stable! bid and ask price different is 0.5
Qwuick Fix 85+ USD
I need a couple options added to an existing EA. I’m in need of an input option to modify pending orders, ensures live positions are correlated with pending orders, and provide an oversight that EA is running smoothly. I also need a calendar feature added to an existing input option for scheduling trades. This project is a side project to do on your own time with a 3-day window due date on Sunday – Monday by next
I am looking for an experienced expert to develop an Expert Advisor based on my idea. We can discuss the details in private messages. Please apply only if you are available now, as I need this project completed within one day

Project information

Budget
30+ USD
For the developer
27 USD