Работа завершена
Время выполнения 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
Оценка
Проекты
199
59%
Арбитраж
10
80%
/
0%
Просрочено
0
Работает
Опубликовал: 1 пример
3
Оценка
Проекты
403
28%
Арбитраж
40
40%
/
50%
Просрочено
1
0%
Свободен
4
Оценка
Проекты
513
19%
Арбитраж
34
44%
/
32%
Просрочено
34
7%
Загружен
5
Оценка
Проекты
2
0%
Арбитраж
0
Просрочено
0
Свободен
6
Оценка
Проекты
90
29%
Арбитраж
24
13%
/
58%
Просрочено
7
8%
Работает
7
Оценка
Проекты
683
42%
Арбитраж
2
100%
/
0%
Просрочено
1
0%
Работает
Опубликовал: 9 примеров
8
Оценка
Проекты
127
24%
Арбитраж
23
30%
/
52%
Просрочено
8
6%
Свободен
9
Оценка
Проекты
3398
68%
Арбитраж
77
48%
/
14%
Просрочено
342
10%
Свободен
Опубликовал: 1 пример
10
Оценка
Проекты
67
37%
Арбитраж
5
40%
/
40%
Просрочено
1
1%
Свободен
11
Оценка
Проекты
798
48%
Арбитраж
73
19%
/
52%
Просрочено
139
17%
Работает
12
Оценка
Проекты
493
23%
Арбитраж
59
56%
/
25%
Просрочено
57
12%
Загружен
13
Оценка
Проекты
717
34%
Арбитраж
34
71%
/
9%
Просрочено
22
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
Оценка
Проекты
244
74%
Арбитраж
7
100%
/
0%
Просрочено
1
0%
Свободен
Опубликовал: 1 статью
19
Оценка
Проекты
318
70%
Арбитраж
2
100%
/
0%
Просрочено
0
Свободен
Опубликовал: 1 пример
20
Оценка
Проекты
673
32%
Арбитраж
42
45%
/
45%
Просрочено
12
2%
Занят
21
Оценка
Проекты
105
60%
Арбитраж
0
Просрочено
0
Свободен
22
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
23
Оценка
Проекты
479
70%
Арбитраж
6
67%
/
0%
Просрочено
2
0%
Работает
24
Оценка
Проекты
0
0%
Арбитраж
1
0%
/
0%
Просрочено
0
Работает
25
Оценка
Проекты
54
61%
Арбитраж
2
50%
/
50%
Просрочено
0
Свободен
26
Оценка
Проекты
2
50%
Арбитраж
2
0%
/
100%
Просрочено
0
Свободен
Похожие заказы
Hello, I am looking for someone who can help me to build a MT4/MT5 forex EA, by analyzing the trading history. You are responsible to find out trading logic behind the EA and Build a new EA that accurately replicates the existing strategy. I need someone who has proven previous experience to build a new EA by reverse engineering. Thanks
I am looking for an experienced MT4/MT5 developer to analyze my trading history and replicate the strategy in a new Expert Advisor (EA). The developer must have proven experience in reverse engineering strategies, analyzing trading data, and developing EAs across various trading methodologies. A deep understanding of XAUUDS and BTCUSD behavior, as well as chart analysis, is essential. Please note that we do not have
Title: MT5 Forex Trading Robot Development I need a MetaTrader 5 (MT5) Expert Advisor (EA) for automated Forex trading. Requirements: 1. The robot must be fully automated and capable of opening and closing trades without manual intervention. 2. Compatible with MetaTrader 5 (MT5). 3. Adjustable lot size, Stop Loss, and Take Profit settings. 4. Built-in risk management based on account balance. 5. Ability to trade
Sierra Chart Alerts to MT5 via Webhook (Alert Manager File Version) Objective: Create a Custom Study (ACSIL / C++) that monitors alerts from the Alert Manager file and forwards any valid alert directly to MT5 via an HTTP POST (Webhook) in JSON format. Additional Note: The study should allow adding any modifications in the future and provide clear insights into the alert points in Sierra Chart. 1. Data Flow Diagram
GRID EA with PRUNING
80+ USD
MT5 Expert Advisor Development Project Overview I am looking for an experienced MQL5 developer to build a custom MetaTrader 5 Expert Advisor based on a grid-cycle trading framework. This is not a standard grid EA . The system combines: Session-based trade initiation Multi-filter signal generation Dynamic grid management Advanced basket management State-machine-driven trade lifecycle management Dynamic take-profit
I have a MT5 Hull MTF Indicator that I like. I would like someone to add: 1) Time of day function (with start time and end time) so that it does not send messages during my night time. Default Start=0900 Default End=2300 2) Add to the Message (sound and email): so that it is Symbol+Buy-Or-Sell+Ask-OrBid Price+TimeFrame1 "/" TimeFrame2 I will send the indicator to the developer. Thank you
MT5 Expert Advisor (EA) Acquisition Request – Proven XAUUSD Martingale / Grid EA I am looking to purchase a fully developed, actively traded, and proven MT5 Expert Advisor for XAUUSD (Gold) that uses Martingale, Grid, Averaging, Recovery, or Hybrid Recovery techniques. Mandatory Verification Requirement To be considered, please provide: - MT5 Investor Password (Read-Only Access) for verification - Account Number /
Developers needed for mt4, mt5 EAs
45 - 50 USD
Looking to buy profitable MT4/MT5 Expert Advisors (EAs). Requirements: • Fully automated • 6+ months backtest • 100+ trades • No martingale or grid systems Send: • Backtest report • Max drawdown • Markets traded • Brief strategy summary Only original EAs developed by you. Long-term collaboration available
Live chart [ expert is not executing trades on xauusd ] , Deleting Existing Parameter not in use , Live Chart Adjustments Only , No Need to Change anything else , expert will be live testing Throughout
Prepare expert for xauusd live chart [ expert is not executing trades on xauusd ] . Deletion and cleaning code . Trailing Stop Rule to follow the given method . Live Chart Only
Информация о проекте
Бюджет
45+ USD