Ea creation from indicator

Auftrag beendet

Ausführungszeit 2 Minuten
Bewertung des Entwicklers
Всё прошло успешно! Я рад сотрудничеству!!!
Bewertung des Kunden
great help this guy knows very well coding i advise

Spezifikation

i need a robot based on this indicator with the possibility to add hours and choose the days to trade, also when the new signal appears close the last position and open the new one, there must be only one trade per time, leave the indicator attached to the symbol.

code: 

//+----------------------------------------------+
//|  Parameters of drawing the bearish indicator |
//+----------------------------------------------+
//---- drawing the indicator 1 as a symbol
#property indicator_type1   DRAW_ARROW
//---- Magenta color is used as the color of the bearish indicator line
#property indicator_color1  Magenta
//---- thickness of line of the indicator 1 is equal to 4
#property indicator_width1  4
//---- displaying of the bearish label of the indicator
#property indicator_label1  "Brain1Sell"
//+----------------------------------------------+
//|  Parameters of drawing the bullish indicator |
//+----------------------------------------------+
//---- drawing the indicator 2 as a line
#property indicator_type2   DRAW_ARROW
//---- lime color is used as the color of the bullish line of the indicator
#property indicator_color2  Lime
//---- thickness of line of the indicator 2 is equal to 4
#property indicator_width2  4
//---- displaying of the bullish label of the indicator
#property indicator_label2 "Brain1Buy"

//+----------------------------------------------+
//| Input parameters of the indicator            |
//+----------------------------------------------+
input int ATR_Period=7; //Period of ATR
input int STO_Period=9; //Period of Stochastic
input ENUM_MA_METHOD MA_Method = MODE_SMA; //Method of averaging
input ENUM_STO_PRICE STO_Price = STO_LOWHIGH; //Method of prices calculation
//+----------------------------------------------+

//---- declaration of dynamic arrays that further
// will be used as indicator buffers
double SellBuffer[];
double BuyBuffer[];
//----
double d,s;
int p,x1,x2,P_,StartBars,OldTrend;
int ATR_Handle,STO_Handle;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- initialization of global variables
   d=2.3;
   s=1.5;
   x1 = 53;
   x2 = 47;
   StartBars=MathMax(ATR_Period,STO_Period)+2;
//---- getting handle of the ATR indicator
   ATR_Handle=iATR(NULL,0,ATR_Period);
   if(ATR_Handle==INVALID_HANDLE)Print(" Failed to get handle of the ATR indicator");
//---- getting handle of the Stochastic indicator
   STO_Handle=iStochastic(NULL,0,STO_Period,STO_Period,1,MA_Method,STO_Price);
   if(STO_Handle==INVALID_HANDLE)Print(" Failed to get handle of the Stochastic indicator");

//---- turning a dynamic array into an indicator buffer
   SetIndexBuffer(0,SellBuffer,INDICATOR_DATA);
//---- shifting the start of drawing of the indicator 1
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,StartBars);
//---- Create label to display in DataWindow
   PlotIndexSetString(0,PLOT_LABEL,"Brain1Sell");
//---- indicator symbol
   PlotIndexSetInteger(0,PLOT_ARROW,108);
//---- indexing elements in the buffer as in timeseries
   ArraySetAsSeries(SellBuffer,true);

//---- turning a dynamic array into an indicator buffer
   SetIndexBuffer(1,BuyBuffer,INDICATOR_DATA);
//---- shifting the start of drawing of the indicator 2
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,StartBars);
//---- Create label to display in DataWindow
   PlotIndexSetString(1,PLOT_LABEL,"Brain1Buy");
//---- indicator symbol
   PlotIndexSetInteger(1,PLOT_ARROW,108);
//---- indexing elements in the buffer as in timeseries
   ArraySetAsSeries(BuyBuffer,true);

//---- Setting the format of accuracy of displaying the indicator
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//---- name for the data window and for the label of sub-windows
   string short_name="BrainTrend1Sig";
   IndicatorSetString(INDICATOR_SHORTNAME,short_name);
//----  
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---- checking the number of bars to be enough for the calculation
   if(BarsCalculated(ATR_Handle)<rates_total
      || BarsCalculated(STO_Handle)<rates_total
      || rates_total<StartBars)
      return(0);

//---- declaration of local variables
   int to_copy,limit,bar;
   double value2[],Range[],range,range2,val1,val2,val3;

//---- calculations of the necessary amount of data to be copied and
//the limit starting number for loop of bars recalculation
   if(prev_calculated>rates_total || prev_calculated<=0)// checking for the first start of calculation of an indicator
     {
      to_copy=rates_total; // calculated number of all bars
      limit=rates_total-StartBars; // starting number for calculation of all bars
     }
   else
     {
      to_copy=rates_total-prev_calculated+1; // calculated number of new bars
      limit=rates_total-prev_calculated; // starting number for calculation of new bars
     }

//---- copy the newly appeared data into the Range[] and value2[] arrays
   if(CopyBuffer(ATR_Handle,0,0,to_copy,Range)<=0) return(0);
   if(CopyBuffer(STO_Handle,0,0,to_copy,value2)<=0) return(0);

//---- indexing elements in arrays, as in timeseries  
   ArraySetAsSeries(Range,true);
   ArraySetAsSeries(value2,true);
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);

//---- restore values of the variables
   p=P_;

//---- main cycle of calculation of the indicator
   for(bar=limit; bar>=0; bar--)
     {
      //---- memorize values of the variables before running at the current bar
      if(rates_total!=prev_calculated && bar==0)
         P_=p;

      range=Range[bar]/d;
      range2=Range[bar]*s/4;
      val1 = 0.0;
      val2 = 0.0;
      SellBuffer[bar]=0.0;
      BuyBuffer[bar]=0.0;

      val3=MathAbs(close[bar]-close[bar+2]);
      if(value2[bar] < x2 && val3 > range) p = 1;
      if(value2[bar] > x1 && val3 > range) p = 2;

      if(val3<=range) continue;

      if(value2[bar]<x2 && (p==1 || p==0))
        {
         if(OldTrend>0) SellBuffer[bar]=high[bar]+range2;
         if(bar!=0)OldTrend=-1;
        }
      if(value2[bar]>x1 && (p==2 || p==0))
        {
         if(OldTrend<0) BuyBuffer[bar]=low[bar]-range2;
         if(bar!=0)OldTrend=+1;
        }
     }
//----    
   return(rates_total);
  }
//+------------------------------------------------------------------+


Dateien:

Bewerbungen

1
Entwickler 1
Bewertung
(22)
Projekte
21
10%
Schlichtung
4
25% / 75%
Frist nicht eingehalten
0
Frei
2
Entwickler 2
Bewertung
(160)
Projekte
208
61%
Schlichtung
10
80% / 0%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
3
Entwickler 3
Bewertung
(274)
Projekte
403
28%
Schlichtung
40
40% / 50%
Frist nicht eingehalten
1
0%
Frei
4
Entwickler 4
Bewertung
(329)
Projekte
515
19%
Schlichtung
35
46% / 31%
Frist nicht eingehalten
34
7%
Arbeitet
5
Entwickler 5
Bewertung
(1)
Projekte
2
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
6
Entwickler 6
Bewertung
(62)
Projekte
90
29%
Schlichtung
24
13% / 58%
Frist nicht eingehalten
7
8%
Arbeitet
7
Entwickler 7
Bewertung
(621)
Projekte
698
42%
Schlichtung
2
100% / 0%
Frist nicht eingehalten
1
0%
Frei
Veröffentlicht: 9 Beispiele
8
Entwickler 8
Bewertung
(106)
Projekte
129
25%
Schlichtung
25
28% / 56%
Frist nicht eingehalten
8
6%
Frei
9
Entwickler 9
Bewertung
(2675)
Projekte
3414
68%
Schlichtung
77
48% / 14%
Frist nicht eingehalten
342
10%
Frei
Veröffentlicht: 1 Beispiel
10
Entwickler 10
Bewertung
(47)
Projekte
67
37%
Schlichtung
5
40% / 40%
Frist nicht eingehalten
1
1%
Frei
11
Entwickler 11
Bewertung
(465)
Projekte
813
49%
Schlichtung
75
21% / 51%
Frist nicht eingehalten
141
17%
Arbeitet
12
Entwickler 12
Bewertung
(396)
Projekte
512
23%
Schlichtung
60
57% / 25%
Frist nicht eingehalten
60
12%
Beschäftigt
13
Entwickler 13
Bewertung
(455)
Projekte
721
34%
Schlichtung
35
71% / 9%
Frist nicht eingehalten
23
3%
Frei
14
Entwickler 14
Bewertung
(32)
Projekte
42
43%
Schlichtung
2
100% / 0%
Frist nicht eingehalten
4
10%
Frei
15
Entwickler 15
Bewertung
(171)
Projekte
195
42%
Schlichtung
13
8% / 54%
Frist nicht eingehalten
9
5%
Frei
Veröffentlicht: 3 Beispiele
16
Entwickler 16
Bewertung
(6)
Projekte
10
0%
Schlichtung
0
Frist nicht eingehalten
2
20%
Arbeitet
17
Entwickler 17
Bewertung
(1156)
Projekte
1462
63%
Schlichtung
21
57% / 10%
Frist nicht eingehalten
43
3%
Frei
18
Entwickler 18
Bewertung
(78)
Projekte
246
74%
Schlichtung
7
100% / 0%
Frist nicht eingehalten
1
0%
Frei
Veröffentlicht: 1 Artikel
19
Entwickler 19
Bewertung
(323)
Projekte
328
71%
Schlichtung
2
100% / 0%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
20
Entwickler 20
Bewertung
(617)
Projekte
721
33%
Schlichtung
46
48% / 41%
Frist nicht eingehalten
14
2%
Beschäftigt
21
Entwickler 21
Bewertung
(102)
Projekte
105
60%
Schlichtung
0
Frist nicht eingehalten
0
Frei
22
Entwickler 22
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
23
Entwickler 23
Bewertung
(461)
Projekte
488
70%
Schlichtung
6
67% / 0%
Frist nicht eingehalten
2
0%
Frei
24
Entwickler 24
Bewertung
Projekte
0
0%
Schlichtung
1
0% / 0%
Frist nicht eingehalten
0
Arbeitet
25
Entwickler 25
Bewertung
(40)
Projekte
55
62%
Schlichtung
2
50% / 50%
Frist nicht eingehalten
0
Frei
26
Entwickler 26
Bewertung
(3)
Projekte
2
50%
Schlichtung
2
0% / 100%
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
I need an MT5 Expert Advisor for XAUUSD (Gold) running on an Exness account. STRATEGY LOGIC The exact entry and exit rules will be provided in writing before development starts. Please quote for a single rule-based strategy with clearly separated logic, so the rules can be adjusted later without rewriting the whole EA. RISK MANAGEMENT (this is the priority of the project) - Risk per trade as a percentage of account
Indicador Maximas e Minimas + Super Trend O Indicador MAX/MIN é um indicador de análise técnica para o MetaTrader 5 , desenvolvido para ajudar você a identificar regiões importantes de preço e possíveis oportunidades de compra e venda. O que ele faz MAX/MIN: identifica máximas e mínimas relevantes do mercado e mostra os preços no gráfico. HH / HL / LH / LL: ajuda a visualizar a estrutura do mercado, mostrando quando
Subject: Custom MT5 Multi-Currency EA Request - Multi-Timeframe Strategy with Trailing Stop Hi, I am looking for a developer to create a custom Expert Advisor (EA) for MetaTrader 5 (MT5) . The EA must be optimized for multi-currency testing and trading , allowing me to run it across multiple currency pairs simultaneously. The trading logic should be based on a multi-timeframe approach using the following indicators
Hello Traders, Have a trading strategy or idea you want to automate? I specialize exclusively in MQL5 development, helping traders turn their concepts into professional trading solutions. Custom Expert Advisors — automate your strategy and reduce manual execution Custom Indicators — transform your market ideas into powerful trading tools Fix & Debug — identify errors and get your existing code working properly
please share: Strategy description — entry/exit rules, indicators used, timeframe(s), and instrument(s) (a written explanation, screenshots, or an existing indicator/EA to reference all work) Risk management rules — position sizing method (fixed lot / % risk), stop loss / take profit logic, max drawdown or daily loss limits, and whether martingale/grid/hedging is involved Broker & account details — broker name
I need a unique grid trading system for XAUUSD that combines entry, controlled two-sided grid expansion, DCA (Dollar Cost Averaging) basket profit control, hedging. Unlike traditional grid EAs that only trade against price, this unique grid system should dynamically build positions in both directions based on market movement, allowing flexible adaptation to changing conditions ie the grid needs to dynamically move
I need an experienced MQL5 developer to create a fully automated MT5 Expert Advisor called Ayoub Gold EA , focused exclusively on XAUUSD (Gold) . Main requirements: Platform: MT5 / MQL5. Fully automated BUY and SELL trading on XAUUSD. Must support broker suffixes such as XAUUSD, XAUUSD.f and XAUUSDm. Trading strategy based mainly on Range Breakout with trend confirmation. EMA, ADX and ATR filters. London/New York
Looking for an experienced Sierra Chart ACSIL/C++ developer to customize an existing footprint chart. I need 3 things: 7-Day ATR – calculate and display a configurable 7-day ATR. Custom Footprint – modify my existing footprint chart to match my preferred layout/data display. Automatic LVN – detect and plot Low Volume Nodes automatically based on volume distribution. I already have a working footprint chart, so no
//———————————————————————————————————————————————————————————————————— struct S_MCAV { double matureSum; double totalSum; double value; void Init () { matureSum = 0.0; totalSum = 0.0; value = 0.5; } void AddContext (int ctx) { totalSum += 1.0; if (ctx == 1) matureSum += 1.0; } void ApplyDecay (double rate) { matureSum *= rate; totalSum *= rate; } void Update () {
1. Title Development of a Custom MQL5 Expert Advisor for XAUUSD (MetaTrader 5) 2. Requirements Specification Overview: I am looking for an experienced MQL5 developer to build a robust, fully custom Expert Advisor (EA) for MetaTrader 5 tailored for trading Gold (XAUUSD). Core Specifications & Features: Asset & Timeframe: Designed specifically for XAUUSD. Timeframe should be selectable directly from the EA inputs

Projektdetails

Budget
45+ USD