Воскресенье, 05.05.2024, 13:36
 
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории каталога
Индикаторы [3]
Советники [0]
Книги и материалы по форексу [3]
Все функции от KimIV [21]
Здесь собраны функции от KimIV опубликованные на форуме МКЛ и на сайте KimIV
 Каталог файлов
Главная » Файлы » Из инета » Все функции от KimIV

Функция ClosePosWithMaxProfitInCurrency().
[ ] 12.08.2008, 04:34

Функция ClosePosWithMaxProfitInCurrency().

Эта функция выполняет закрытие одной позиции с максимальным положительным профитом в валюте депозита. То есть из пяти позиций, профит каждой из которых в данный момент составляет -34, 15, 73, -90, 41, будет закрыта позиция с профитом 73 единицы в валюте депозита. Более точный отбор закрываемых позиций задаётся внешними параметрами:

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

  if (sy=="0") sy=Symbol();
  for (i=k-1; i>=0; i--) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (mn<0 || OrderMagicNumber()==mn) {
          if (pr<OrderProfit()+OrderSwap()) {
            pr=OrderProfit()+OrderSwap();
            np=i;
          }
        }
      }
    }
  }
  if (np>=0) {
    if (OrderSelect(np, SELECT_BY_POS, MODE_TRADES)) {
      ClosePosBySelect();
    }
  }
}
Категория: Все функции от KimIV | Добавил: xrust
Просмотров: 1462 | Загрузок: 2 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Используются технологии uCoz
Форма входа
Поиск
Друзья сайта
Локирующий пипсовщик
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0