Работа завершена
Время выполнения 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
Оценка
Проекты
21
10%
Арбитраж
4
25%
/
75%
Просрочено
0
Свободен
2
Оценка
Проекты
208
61%
Арбитраж
10
80%
/
0%
Просрочено
0
Свободен
Опубликовал: 1 пример
3
Оценка
Проекты
403
28%
Арбитраж
40
40%
/
50%
Просрочено
1
0%
Свободен
4
Оценка
Проекты
515
19%
Арбитраж
35
46%
/
31%
Просрочено
34
7%
Работает
5
Оценка
Проекты
2
0%
Арбитраж
0
Просрочено
0
Свободен
6
Оценка
Проекты
90
29%
Арбитраж
24
13%
/
58%
Просрочено
7
8%
Работает
7
Оценка
Проекты
698
42%
Арбитраж
2
100%
/
0%
Просрочено
1
0%
Свободен
Опубликовал: 9 примеров
8
Оценка
Проекты
129
25%
Арбитраж
25
28%
/
56%
Просрочено
8
6%
Свободен
9
Оценка
Проекты
3414
68%
Арбитраж
77
48%
/
14%
Просрочено
342
10%
Свободен
Опубликовал: 1 пример
10
Оценка
Проекты
67
37%
Арбитраж
5
40%
/
40%
Просрочено
1
1%
Свободен
11
Оценка
Проекты
813
49%
Арбитраж
75
21%
/
51%
Просрочено
141
17%
Работает
12
Оценка
Проекты
512
23%
Арбитраж
60
57%
/
25%
Просрочено
60
12%
Загружен
13
Оценка
Проекты
721
34%
Арбитраж
35
71%
/
9%
Просрочено
23
3%
Свободен
14
Оценка
Проекты
42
43%
Арбитраж
2
100%
/
0%
Просрочено
4
10%
Свободен
15
Оценка
Проекты
195
42%
Арбитраж
13
8%
/
54%
Просрочено
9
5%
Свободен
Опубликовал: 3 примера
16
Оценка
Проекты
10
0%
Арбитраж
0
Просрочено
2
20%
Работает
17
Оценка
Проекты
1462
63%
Арбитраж
21
57%
/
10%
Просрочено
43
3%
Свободен
18
Оценка
Проекты
246
74%
Арбитраж
7
100%
/
0%
Просрочено
1
0%
Свободен
Опубликовал: 1 статью
19
Оценка
Проекты
328
71%
Арбитраж
2
100%
/
0%
Просрочено
0
Свободен
Опубликовал: 1 пример
20
Оценка
Проекты
721
33%
Арбитраж
46
48%
/
41%
Просрочено
14
2%
Загружен
21
Оценка
Проекты
105
60%
Арбитраж
0
Просрочено
0
Свободен
22
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
23
Оценка
Проекты
488
70%
Арбитраж
6
67%
/
0%
Просрочено
2
0%
Свободен
24
Оценка
Проекты
0
0%
Арбитраж
1
0%
/
0%
Просрочено
0
Работает
25
Оценка
Проекты
55
62%
Арбитраж
2
50%
/
50%
Просрочено
0
Свободен
26
Оценка
Проекты
2
50%
Арбитраж
2
0%
/
100%
Просрочено
0
Свободен
Похожие заказы
Project Description I am looking for an experienced MQL5/MT5 Expert Advisor developer to develop an automated trading EA for XAUUSD on the M3 timeframe , running on an Exness account . The EA will automate a manual strategy based on SNR/GAP zones , using two setup types: Price Rejection Price Correction The EA should identify valid BUY/SELL setups around predefined SNR/GAP areas, apply configurable RSI, SMA, EMA and
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
Modification of Trade_Panel_7 7.05 Objective . I have this utility “Trade_Panel_7 7.05” with which I open and close positions. Please refer to attached “Trade Panel Modification.jpg”. It shows an input parameter “Volume Step”. This parameter has the initial value of 0.02 as shown. This feature needs to be amended. Present Status . Value of lot size is increased by this “Volume Step”. I have built a whole series of
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
GRID/DCA EA for XAUUSD Trading needed
50 - 100 USD
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
Mashiri
50 - 10000 USD
I need a custom MetaTrader 5 indicator designed specifically for XAUUSD gold trading. The indicator should identify potential buy and sell opportunities, display clear entry and exit signals on the chart, provide alerts, and help identify market trends and possible reversals
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
V3 PRO Auto-Scalper EA
40+ USD
//———————————————————————————————————————————————————————————————————— 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 () {
Информация о проекте
Бюджет
45+ USD