Полезные функции от KimIV - страница 54

 

Функция TakeProfitLastPos().

Данная функция возвращает ценовой уровень TakeProfit последней открытой позиций или -1. Функция TakeProfitLastPos() принимает следующие необязательные параметры:

  • sy - Наименование инструмента. "" - любой символ, NULL - текущий символ. Значение по умолчанию "".
  • op - Торговая операция. Допустимые значения: -1, OP_BUY, OP_SELL. Значение по умолчанию -1 - любая операция.
  • mn - Идентификатор торговых операций, MagicNumber. Значение по умолчанию -1 - любой магик.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.08.2008                                                     |
//|  Описание : Возвращает цену TakeProfit последней открытой позиций или -1.  |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double TakeProfitLastPos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=-1;
  int      i, k=OrdersTotal();

  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) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderTakeProfit();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
Эту функцию можно применять, например, для определения ценового уровня TakeProfit последней открытой позиции для последующего выставления отложенного ордера на этот уровень.
 
как на счет открытия "нужного" лота в конкретное время?
 
Подскажите в MQL4 есть какая нибудь возможность изменить лот отложенного ордера?
 
sdgg >>:
Подскажите в MQL4 есть какая нибудь возможность изменить лот отложенного ордера?

Нет. Удаляете старый ордер и создаете новый с требуемым объемом.

 
sdgg писал (а) >>
Подскажите в MQL4 есть какая нибудь возможность изменить лот отложенного ордера?

видимо разработчики осознано это не делали -  что бы избежать проблем!

 

Подскажите пожалуйста каким образом в советнике, торгующем по двум валютным парам, организовать создание графических объектов, отмечающих на каждом графике открытие и закрытие позиций по каждой валютной паре. Советник, загруженный на один график, автоматически создает эти метки только на этом графике. Может быть есть такая функция, предназначенная для использования в многовалютных советниках ?

 
RGT >>:

Подскажите пожалуйста каким образом в советнике, торгующем по двум валютным парам, организовать создание графических объектов, отмечающих на каждом графике открытие и закрытие позиций по каждой валютной паре. Советник, загруженный на один график, автоматически создает эти метки только на этом графике. Может быть есть такая функция, предназначенная для использования в многовалютных советниках ?

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

 

Функция TakeProfitLastClosePos().

Возвращает ценовой уровень TakeProfit последней закрытой позиций или -1. Функция TakeProfitLastClosePos() принимает следующие необязательные параметры:

  • sy - Наименование инструмента. "" - любой символ, NULL - текущий символ. Значение по умолчанию "".
  • op - Торговая операция. Допустимые значения: -1, OP_BUY, OP_SELL. Значение по умолчанию -1 - любая операция.
  • mn - Идентификатор торговых операций, MagicNumber. Значение по умолчанию -1 - любой магик.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 20.10.2008                                                     |
//|  Описание : Возвращает цену TakeProfit последней закрытой позиций или -1.  |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double TakeProfitLastClosePos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=-1;
  int      i, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                r=OrderTakeProfit();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
 
KimIV >>:

Функция TakeProfitLastClosePos().

Возвращает ценовой уровень TakeProfit последней закрытой позиций или -1. Функция TakeProfitLastClosePos() принимает следующие необязательные параметры:

  • sy - Наименование инструмента. "" - любой символ, NULL - текущий символ. Значение по умолчанию "".
  • op - Торговая операция. Допустимые значения: -1, OP_BUY, OP_SELL. Значение по умолчанию -1 - любая операция.
  • mn - Идентификатор торговых операций, MagicNumber. Значение по умолчанию -1 - любой магик.

а есть функция,которая меняет take profit спустя некоторое время после открытия позиции?

 
drm1 писал(а) >>

а есть функция,которая меняет take profit спустя некоторое время после открытия позиции?

ModifyOrder()

Там, ниже есть примеры использования...

Причина обращения: