初心者の方からの質問 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のブラケットで2つのエラーが出ました。forループでブラケットが足りないようで、11個のエラーを出しました、奇跡!!!!!!!
 
 
FOTOGRAF14:
onstartのブラケットで2つエラーが出ました。forループでブラケットが足りないようで、11個のエラーをループに入れました、奇跡です!!!
エラーの数を増やすことが悪いことだと思わないでくださいのブラケットは本当に必要です。ただ、このエラーはまず修正する必要があります。修正した後、どうやらもっとエラーがあるようです :)
 
FOTOGRAF14:
onstartのブラケットで2つエラーが出ました。forループのブラケットが足りないようです。11個のエラーを出しました。ミラクル!!!!
奇跡は起きない...。"')'- unexpected end of program'' - unexpected end..."'{' - アンバランスな括弧" - 覆いのない括弧...= 不完全な括弧、 '{' が無いか不要 ...コードをよく確認し、必要なところに追加する必要があります。
 
FOTOGRAF14:

25、27ページ、-セミコロンがありません。

44, 48, 50, 69, - Texst, コンパイラはそれが何であるか理解していない、 'Text' は宣言された識別子ではない = それは処理されなければならない。

48ページ、50ページ、-オペランドが予想される=コロンがない可能性が最も高い。

64ページ - Ticket = not declared identifier.

などと、間違いを整理してください。

 
FOTOGRAF14:
コードをそのまま貼り付けて いるのですが、見当たりません。

のように入力する必要があります。

***

フォーラムグリッチ

 
FOTOGRAF14:

  
へいへい

なぜラストオーダーを飛ばしているのか、その意図とは?

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


 
ターミナル - ニュースタブで、ポップアップウィンドウのサイズとフォント サイズを変更し、ターミナルを終了してからログインしても変更内容が保持されるようにするには、どうすればよいのでしょうか。