Нужно допилить сеточного робота МТ5

MQL5 指标 专家

工作已完成

执行时间3 天
客户反馈
Спасибо, все замечательно!!

指定

Имеем робота, который раскидывает сеть ордеров по заданным параметрам.

Требуется дополнить его функцией контроля за открытыми ордерами.

При исполнении какого-либо из установленных лимитных ордеров требуется выставление нового (новых) ордеров для непрерывной работы сетки -

при движении цены вниз исполняется лимитный ордер на покупку = нужно открыть лимитный ордер на продажу на 200 пунктов выше.

при движении цены вверх исполняется лимитный ордер на продажу =  нужно открыть лимитный ордер на покупку на 200 пунктов ниже.

на исполнение takeprofit можно внимания не обращать.

Никакие индикаторы и прочие приблуды не нужны.



 double grid = 0.001;

 int buyorders = 10;

 int sellorders = 10;

 double vol   =0.1;


void OnStart()

  {

   MqlTradeRequest request={};

   MqlTradeResult  result={};

   request.action   =TRADE_ACTION_PENDING;

   request.volume   =vol; 

   request.symbol   =Symbol();

   request.deviation=2;

   request.magic    =9600000;

   double price;

   double point=SymbolInfoDouble(_Symbol,SYMBOL_POINT);

   int digits=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);


   request.type = ORDER_TYPE_BUY_LIMIT;

   int count;

   double offset;

   offset=grid;

   for (count=1; count<buyorders; count++)

   {

   price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset;

   request.price=price;

   request.tp=price+grid;

   offset=offset+grid;

   OrderSend(request,result);

   }


   request.type = ORDER_TYPE_SELL_LIMIT;

   offset=0.0003;

   for (count=1; count<sellorders; count++)

   {

   price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)+offset;

   request.price=price;

   request.tp=price-grid;

   offset=offset+grid;

   OrderSend(request,result);

   }

  }

反馈

1
开发者 1
等级
(356)
项目
632
26%
仲裁
89
73% / 13%
逾期
12
2%
空闲
2
开发者 2
等级
(39)
项目
65
22%
仲裁
0
逾期
0
空闲
3
开发者 3
等级
(261)
项目
425
38%
仲裁
86
44% / 19%
逾期
71
17%
已载入
4
开发者 4
等级
(12)
项目
25
24%
仲裁
2
50% / 50%
逾期
2
8%
空闲

项目信息

预算
30 USD
开发人员
27 - 27 USD