初学者的问题 MQL4 MT4 MetaTrader 4 - 页 68

 
我把代码放在 正确的地方,但我没有看到它。
 

//|                                          9.1.4.5 OrderDelete.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+1
void OnStart()
{
  string Symb=Symbol();        //Финансовый инструмент
  double Dist=1000000.0;       //Предустановка
  double Price;
  int  Limit_Stop=-1;          // Пока отложенных нет
  int Tip;
  double Win_Price=WindowPriceOnDropped();     //Здесь брошен скрипт
  //-------------------------------------------------------------------+2
  for(int i=1; i<=OrdersTotal(); i++)         // Цикл выбора ордеров
  {  
    if(OrderSelect(i-1, SELECT_BY_POS)==true)    //Eсли ордер выбран
      {
        //------------------------------------------------------------------+3      
        if(OrderSymbol()!=Symb) continue   //не ваш фин. инструмент
        int Tip=OrderType();               //Тип ордера
        if(Tip<2) continue                 //Рыночный ордер
      
        //------------------------------------------------------------+4
        double Price=OrderOpenPrice();     //Цена откр. отлож. ордера
          if(NormalizeDouble(MathAbs(Price-Win_Price),Digits)<
            NormalizeDouble(Dist,Digits))
            {
            Dist=MathAbs(Price-Win_Price);     // Новое значение
            Limit_Stop=Tip;                    //Есть отложенный ордер
            int Ticket=OrderTicket();            // номер ордера
            }
      }
  
  
  //+---------------------------------------------------------------+5
  switch(Limit_Stop)
  {
  case 2: string Texst="BuyLimint ";
         break;
  case 3: Texst="SellLimint ";
         break;
  case 4 Texst="BuyStop ";
         break;
  case 5 Texst="SellStop ";
         break;
  }
  
  //------------------------------------------------------------------+6
  //ЦИКЛ ЗАКРЫТИЯ  ОРДЕРА
  //--------------------------------------------------------------------
  while(true)              // цикл закрытия ордера
  {
  if(Limit_Stop==-1)       //если отложенных нет
    {
    Alert("по ",Symb,"отложенных ордеров");   //если отложенных нет
    break;
    }
    //-----------------------------------------------------------------+7
    Alert("Попытка удалить ","",Ticket,"ожидание ответа..");
    bool  Ans=OrderDelete(Ticket);              //Удаление ордера
    //---------------------------------------------------------------------
    if(Ans==true)
    {
    Alert("Удалён ордер ",Text,"",Ticket);
    break;
    }
    int Error=GetLastError();
    switch(Error)
    {
    case 4:Alert("Торговый сервер занят. Пробуем ещё раз..");
     Sleep(3000);                                 //Обновим данные
     continue;                                     //На следующую итерацию
    case 137:Alert("Брокер занят. Пробуем ещё раз...");
            Sleep(3000);
            continue;
    case 146:Alert("Подсистема торговли занята. Пробуем ещё раз...");
            Sleep(500);
            continue;                             // На следующую итерацию
    }
    switch(Error)                                  //Критические ошибки
     {
     case 2:Alert("Oбщая ошибка.");
            break;                               //Выход из switch
  
     case 64:Alert("Счёт заблокирован.");
            break;                               //Выход из switch                                    
     case 133:Alert("Торговля заблакирована.");
            break;
     case 139:Alert(" Ордер заблакирован и уже обрабатывается.");
            break;
     case 145:Alert("Модификация запрещена.Ордер слишком близок к рынку");
            break;      
     default:Alert("Возникла ошибка.",Error);    //Другие варианты                                                               //Выход из switch      
     }
     break;                                
   }
   //---------------------------------------------------------------------+
   Alert("Скрипт законччил работу-----------------------.");
   return;
}

  
伙计们看一下
 
在onstart的括号中出现了两个错误。看起来在for循环中缺少一个括号,我把11个错误,miracle!!!!。
 
 
FOTOGRAF14:
不要认为增加错误的数量是错误的!真正需要的是托架。只是这个错误首先需要被修复。修复后,显然有更多的错误:)
 
FOTOGRAF14:
我在onstart的括号中得到了两个错误。似乎在for循环中缺少一个括号,我把11个错误,miracle!!!!。
奇迹不会发生..."')'- 程序意外结束'' - 意外结束..."'{'--不平衡的括号"--未覆盖的括号...=不完整的括号, '{' 缺少或不需要......。需要仔细检查代码,并在需要的地方添加,而不仅仅是或删除一个额外的代码。
 
FOTOGRAF14:

第25、27页,--缺少分号。

第44、48、50、69页,--Texst,编译器不理解它是什么,'Text'不是一个声明的标识符=必须处理它。

第48、50页,-预期的操作数=很可能缺少一个冒号。

第64页--门票=未声明的标识符。

以此类推,整理出你的错误。

 
FOTOGRAF14:
我只是 按规定粘贴了代码,但我没有看到它。

你必须输入类似以下内容

***

论坛故障

 
FOTOGRAF14:

  
伙计们看一下

你为什么要跳过最后一个订单--这就是你的意图吗?

for(int i=1; i<=OrdersTotal(); i++)         // Цикл выбора ордеров
  {  
    if(OrderSelect(i-1, SELECT_BY_POS)==true)    //Eсли ордер выбран
      {


 
我如何改变弹出窗口的大小和其中的字体大小,以便在我退出终端然后登录时保留这些变化?
原因: