← К каталогу
Исходный код · ID 34

Close Pendings

close open.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Скрипт для MetaTrader 4, предназначенный для закрытия активных (pending) ордеров на торговом счёте. При запуске он последовательно перебирает все открытые ордера и пытается закрыть их по текущим рыночным ценам. Если скрипт запущен путём перетаскивания на окно конкретного инструмента, он ограничивает закрытие только ордерами этого инструмента; в противном случае закрывает все ордера на счёте.

Настройки программы

НастройкаОписание
Loading Text (Text) Текст — Текст заголовка метки, отображаемой на графике во время работы скрипта
Получить полный код

Поиск по коду файла

#property version   "1.00"
#property strict

extern string Text="Closing Active";            //Loading Text

int Slippage = 10;
double DropPoint;
bool FocusPair;

int _ErrorCheck;

void OnStart()
  {
      // код доступен только после оплаты
   }

   string strTmp=Text;

   DropPoint=WindowPriceOnDropped();

   if(DropPoint==0)
      FocusPair=false;
   else
      FocusPair=true;

   int total=OrdersTotal();

   if(total>0)
     {
      for(int i=total-1;i>=0;i--)
        {
        DrawLabel(strTmp);
         strTmp+=".";
         if(StringLen(strTmp)>=StringLen(Text)+6)
            strTmp=Text;

         _ErrorCheck=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

         if(_ErrorCheck==-1)
           {
            Alert("Error Order Select: ",GetLastError());
            break;
           }

         if((OrderType()==OP_BUY || OrderType()==OP_SELL))  //Profit >= 0 ??
           {
            _ErrorCheck=0;

            for(int l=0; l<5; l++)
              {

               if(FocusPair && Symbol()!=OrderSymbol())
                  break;

               if(OrderType()==OP_SELL)
                  _ErrorCheck=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_ASK),Slippage,clrNONE);
               else
                  _ErrorCheck=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_BID),Slippage,clrNONE);

               if(_ErrorCheck==-1)
                  Sleep(100);
               else
                  break;
              }

            if(_ErrorCheck==-1)
              {
               string _ErrorComment;
               int _LastErrorFound=GetLastError();

               switch(_LastErrorFound)
                 {
                  case 1:
                     _ErrorComment="ERR_NO_RESULT";
                     break;
                  case 2:
                     _ErrorComment="ERR_COMMON_ERROR";
                     break;
                  case 3:
                     _ErrorComment="ERR_INVALID_TRADE_PARAMETERS";
                     break;
                  case 4:
                     _ErrorComment="ERR_SERVER_BUSY";
                     break;
                  case 5:
                     _ErrorComment="ERR_OLD_VERSION";
                     break;
                  case 6:
                     _ErrorComment="ERR_NO_CONNECTION";
                     break;
                  case 7:
                     _ErrorComment="ERR_NOT_ENOUGH_RIGHTS";
                     break;
                  case 8:
                     _ErrorComment="ERR_TOO_FREQUENT_REQUESTS";
                     break;
                  case 9:
                     _ErrorComment="ERR_MALFUNCTIONAL_TRADE";
                     break;
                  case 64:
                     _ErrorComment="ERR_ACCOUNT_DISABLED";
                     break;
                  case 65:
                     _ErrorComment="ERR_INVALID_ACCOUNT";
                     break;
                  case 128:
                     _ErrorComment="ERR_TRADE_TIMEOUT";
                     break;
                  case 129:
                     _ErrorComment="ERR_INVALID_PRICE";
                     break;
                  case 130:
                     

Показано первые 50% кода (символов: 3572)

Открыть по тарифу

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

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
357,20₽ ≈ $4.37