Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересуют возможности MQL5? Загляни в документацию!
Benedictwinner
244
Benedictwinner 2010.10.18 17:02 

Здравствуйте помогите пожалуйста разобраться )

Вопрос 1: Как сделать счетчик баров, чтобы он мог сбрасываться после открытия ордера ? Т.е. задача такая, что если оператор If верно - то покупка, если Else - продажа, если ни то ни то, то заново.Я хотел бы чтобы сделки по определенным параметрам происходили не раньше чем через n баров после открытия последней сделки(я так понимаю надо будет что-то вставить в if и else)

Вопрос 2: Как сделать одним из условий в if и else наличие определенного цвета у индиктора (я так понимаю он должен находиться в окне с экспертом)?. Т.е. одним из условий if или else верно будет чтобы цвет заданного индикаторы был определенным.Т.е. скажем если все условия для If верны и индикатор синий, то покупка разрешается.

Вопрос 3: Как прописать кол-во лотов от депозита при определенном кредитном плече ?Или можно указать таблицу при каком депозите сколько открытых сделок может быть открыто по данной сделке ?И еще как сделать чтобы программа проверяла кол-во открытых сделок для всего депозита и только после этого разрешала или запрещала сделку ?


Прошу прощения что столько вопросов, сам трейдер, только сейчас решил автоматизировать наработки.

Спасибо.

Leonid Borsky
2374
Leonid Borsky 2010.10.18 18:41  

Вопрос 1:

Функция NumberOfBarCloseLastPos()

Функция NumberOfBarOpenLastPos().

СТР. 23 - Эти функции возвращает номер бара открытия и закрытия  последней позиции

https://www.mql5.com/ru/forum/107476/page23 

Leonid Borsky
2374
Leonid Borsky 2010.10.18 18:45  
BGD:

Здравствуйте помогите пожалуйста разобраться )

..... И еще как сделать чтобы программа проверяла кол-во открытых сделок для всего депозита и только после этого разрешала или запрещала сделку ?


 if ( NumberOfPositions(NULL,OP_SELL, Magic)<1  ) { // если нет открытых селл  позиций 
============

 if ( NumberOfPositions(NULL,OP_BUY, Magic)<1 ) { // если нет открытых бай позиций 

============================= 

 if ( NumberOfPositions(NULL,-1, Magic)<1 ) { // если нет открытых  позиций   

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), kp=0;
  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++)                                    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))      {
      if (OrderSymbol()==sy || sy=="")                   {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op)                   {
            if (mn<0 || OrderMagicNumber()==mn) kp++;
          }}}}}  return(kp);}
Benedictwinner
244
Benedictwinner 2010.10.19 17:10  
Спасибо, будем пытаться )
wersuk
16
wersuk 2011.07.06 23:25  
Здраствуйте. Скажите пожалуйста как из индюка EX4 вытянуть код, чтобы его можно было изменять.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий