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

Функция ClosePosBySelect().
[ Скачать с сервера (1.7 Kb) ] 02.08.2008, 21:59
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия  : 19.02.2008                                                      |
//|  Описание: Закрытие одной предварительно выбранной позиции                 |
//+----------------------------------------------------------------------------+
void ClosePosBySelect() {
  bool   fc;
  
color  clClose;
  
double ll, pa, pb, pp;
  
int    err, it;

  
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
    for (it=1; it<=NumberOfTry; it++) {
      if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
      
while (!IsTradeAllowed()) Sleep(5000);
      
RefreshRates();
      
pa=MarketInfo(OrderSymbol(), MODE_ASK);
      
pb=MarketInfo(OrderSymbol(), MODE_BID);
      
if (OrderType()==OP_BUY) {
        pp=pb; clClose=clCloseBuy;
      
} else {
        pp=pa; clClose=clCloseSell;
      
}
      ll=OrderLots();
      
fc=OrderClose(OrderTicket(), ll, pp, Slippage, clClose);
      
if (fc) {
        if (UseSound) PlaySound(NameFileSound); break;
      
} else {
        err=GetLastError();
        
if (err==146) while (IsTradeContextBusy()) Sleep(1000*11);
        
Print("Error(",err,") Close ",GetNameOP(OrderType())," ",
              
ErrorDescription(err),", try ",it);
        
Print(OrderTicket(),"  Ask=",pa,"  Bid=",pb,"  pp=",pp);
        
Print("sy=",OrderSymbol(),"  ll=",ll,"  sl=",OrderStopLoss(),
              
"  tp=",OrderTakeProfit(),"  mn=",OrderMagicNumber());
        
Sleep(1000*5);
      
}
    }
  } else Print("Некорректная торговая операция. Close ",GetNameOP(OrderType()));
}
Категория: Все функции от KimIV | Добавил: xrust
Просмотров: 1780 | Загрузок: 215 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Используются технологии uCoz
Форма входа
Поиск
Друзья сайта
Локирующий пипсовщик
Статистика

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