Работа завершена

Время выполнения 2 минуты
Отзыв от заказчика
great help this guy knows very well coding i advise
Отзыв от исполнителя
Всё прошло успешно! Я рад сотрудничеству!!!

Техническое задание

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);
  }
//+------------------------------------------------------------------+


Файлы:

Откликнулись

1
Разработчик 1
Оценка
(22)
Проекты
21
10%
Арбитраж
4
25% / 75%
Просрочено
0
Свободен
2
Разработчик 2
Оценка
(162)
Проекты
209
61%
Арбитраж
10
80% / 0%
Просрочено
0
Свободен
Опубликовал: 1 пример
3
Разработчик 3
Оценка
(274)
Проекты
403
28%
Арбитраж
40
40% / 50%
Просрочено
1
0%
Свободен
4
Разработчик 4
Оценка
(329)
Проекты
515
19%
Арбитраж
35
46% / 31%
Просрочено
34
7%
Работает
5
Разработчик 5
Оценка
(1)
Проекты
2
0%
Арбитраж
0
Просрочено
0
Свободен
6
Разработчик 6
Оценка
(62)
Проекты
90
29%
Арбитраж
24
13% / 58%
Просрочено
7
8%
Работает
7
Разработчик 7
Оценка
(631)
Проекты
709
42%
Арбитраж
2
100% / 0%
Просрочено
1
0%
Свободен
Опубликовал: 9 примеров
8
Разработчик 8
Оценка
(106)
Проекты
129
25%
Арбитраж
25
28% / 56%
Просрочено
8
6%
Свободен
9
Разработчик 9
Оценка
(2677)
Проекты
3421
68%
Арбитраж
78
47% / 14%
Просрочено
343
10%
Работает
Опубликовал: 1 пример
10
Разработчик 10
Оценка
(47)
Проекты
67
37%
Арбитраж
5
40% / 40%
Просрочено
1
1%
Свободен
11
Разработчик 11
Оценка
(465)
Проекты
815
49%
Арбитраж
76
21% / 50%
Просрочено
142
17%
Работает
12
Разработчик 12
Оценка
(402)
Проекты
520
24%
Арбитраж
61
57% / 25%
Просрочено
60
12%
Загружен
13
Разработчик 13
Оценка
(457)
Проекты
725
34%
Арбитраж
35
71% / 9%
Просрочено
23
3%
Свободен
14
Разработчик 14
Оценка
(32)
Проекты
42
43%
Арбитраж
2
100% / 0%
Просрочено
4
10%
Свободен
15
Разработчик 15
Оценка
(171)
Проекты
195
42%
Арбитраж
13
8% / 54%
Просрочено
9
5%
Свободен
Опубликовал: 3 примера
16
Разработчик 16
Оценка
(6)
Проекты
10
0%
Арбитраж
0
Просрочено
2
20%
Работает
17
Разработчик 17
Оценка
(1156)
Проекты
1462
63%
Арбитраж
21
57% / 10%
Просрочено
43
3%
Свободен
18
Разработчик 18
Оценка
(78)
Проекты
247
74%
Арбитраж
7
100% / 0%
Просрочено
1
0%
Свободен
Опубликовал: 2 статьи, 1 пример
19
Разработчик 19
Оценка
(328)
Проекты
333
71%
Арбитраж
2
100% / 0%
Просрочено
0
Свободен
Опубликовал: 1 пример
20
Разработчик 20
Оценка
(634)
Проекты
741
34%
Арбитраж
49
53% / 39%
Просрочено
14
2%
Работает
21
Разработчик 21
Оценка
(102)
Проекты
105
60%
Арбитраж
0
Просрочено
0
Свободен
22
Разработчик 22
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
23
Разработчик 23
Оценка
(464)
Проекты
491
70%
Арбитраж
6
67% / 0%
Просрочено
2
0%
Свободен
24
Разработчик 24
Оценка
Проекты
0
0%
Арбитраж
1
0% / 0%
Просрочено
0
Работает
25
Разработчик 25
Оценка
(40)
Проекты
55
62%
Арбитраж
2
50% / 50%
Просрочено
0
Свободен
26
Разработчик 26
Оценка
(3)
Проекты
2
50%
Арбитраж
2
0% / 100%
Просрочено
0
Свободен
Похожие заказы
Here is a professional, detailed requirements specification draft for your MQL5 freelance order based on your prompt: ​ Strategy Objective: Develop an automated Expert Advisor (EA) featuring a 1:3 Risk-to-Reward ratio optimized for a small starting budget. ​ Core Trading Logic: ​Execute automatic Buy and Sell trades using high-probability entry signals. ​Target a strict 90% theoretical win-rate structure through
i want to fix my gold martingale bot MT5. RSI 14 ENTRY 30 BUY 70 SELL Lot 0.02 0.04 0.07 TP 150 for all SL 90 30 30 once total daily profit is 200$ stop trading stop trading once 2 consecutives total losses stop trading if spread exceeded 30 and between hour 15 & 17 PM Move SL to breakeven point once the profit exceeded 50 from from breakeven thanks
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
The purpose of this order is ONLY to test and implement my H1 POI (Point of Interest) identification logic correctly. I am not requesting the complete EA at this stage. I will provide the exact rules for identifying the H1 POI after selecting the developer. The developer must convert those rules into clear, deterministic MQL5 logic. Requirements: Analyze H1 candles according to the rules I provide. Identify and mark
Title: Fully Automatic MT5 Trading Bot (Expert Advisor) with Risk Management I want a fully automated trading robot (Expert Advisor) for MetaTrader 5, written in MQL5. The bot must automatically analyse market data, identify trading opportunities, execute BUY and SELL orders, manage open positions, and close trades according to predefined rules without requiring manual confirmation for each trade. Requirements
Hello, I’m looking for an experienced developer to research, build, test, and install a fully automated MetaTrader 5 trading bot for gold, XAUUSD. My total development and installation budget is $300, including all agreed work and fees. My goal is to pass a $100,000 FTMO US Two-Step Standard evaluation and sustainably maintain the funded account. I need a day-trading strategy that can buy in bullish markets and sell
I have three indicators that operate independently. I want to combine them into one indicator with custom expert programming that automatically enters trades when a signal is generated by one of the indicators. I will pay for this service Thanks you
Existing EA: NEW_CORE_ORB_M5_v021 | MT5 | XAUUSD M5 Early-stage research prototype, not a new EA from scratch. Need an experienced MQL5 developer to audit, complete, repair, improve and test BOTH independent strategies equally: Opening Range Breakout (ORB) and Scalp. Keep code lightweight and preserve an untouched baseline. No unnecessary rewrite or complex filters. 1. ORB Strategy Verify opening-range construction
Espert 30+ USD
I want to create a robot with 10 indicators.All to take a trade and all in stop folowing. Thanks to put in THE PARAMETERS Yes/No for the indicators to entry in position AND to the stop A trade with 2 takes profit and a breakeaven at the first TP. The goal is to be able to try the multiple combinations with these indicators
Hello International Developer, I need LIFETIME MT5 EA for XAUUSD Gold. REQUIREMENTS: 1. Lifetime bot - No expiry date, unlimited accounts, unlimited installations 2. Must include source code .mq5 file - This makes it lifetime 3. Every trade MUST have Stop Loss 300 points and Take Profit 600 points 4. No martingale, No grid, No averaging - Clean safe strategy 5. Auto lot size = 1% risk per trade for good margin growth

Информация о проекте

Бюджет
45+ USD