MetaTrader 4 Client Terminal build 604 - страница 13

 
alexloz:

Вам ответили в другой теме https://www.mql5.com/ru/forum/149270/page52#906573

Понял, спасибо - не увидел ответ сразу.
 
alexloz:

Вам ответили в другой теме https://www.mql5.com/ru/forum/149270/page52#906573

Раз коснулись этой темы то хотелось бы узнать планируется ли ввести ограничение на максимально допустимый размер лог-файла? Об это уже просили множество раз. Зачем нужно размножать одну и ту же ошибку в логе до гигабайтов если и без того понятно что ошибка есть и ее необходимо устранить?
 
Desead:
кто нибудь ответит или нет ? Теперь в одном терминал я могу открывать счета у разных брокеров, удобно, но есть одно но:

Всегда так было. На реальные счета тоже можно логиниться с "чужого" терминала, но счёт-то открываете у нужного брокера. А демо открывается, учитывая настройки терминала заказанные конкретным брокером, они для каждого брокера свои, так что если есть специфические требования к демо-счёту, то лучше всё же скачать терминал от своего брокера. Потом уже залогиниться можно с любого другого терминала.
 
Desead:
кто нибудь ответит или нет ? Теперь в одном терминал я могу открывать счета у разных брокеров, удобно, но есть одно но:

вот какие типы счетов я могу выбрать если скачал терминал у брокера телетрейд и у него же открываю счёт:

а вот какие типы счетов в терминале если я его скачал в альпари а счёт также открываю в телетрейд:

как мне получить в терминале от альпари те типы счетов которые я могу открывать у других брокеров ?

На то он и терминал Альпарей, чтобы предоставлять услуги Альпарей. Скачайте терминал разработчиков - возможно в нём будут все типы счетов всех брокеров.

А вообще издавна можно было в любом терминале открыть счет у любого брокера - надо было только посмотреть на сайте брокера к каким серверам нужно подключаться (названия или IP).

 
вот же блин, спасибо. то есть толку от фичи 0 :( придёться вновь плодить десятки терминалов. жаль.
 
wlad:

Интересует следующий момент:
Будут ли после лета 2014 ( окончательного прекращения поддержки для 509 )
работать и поддерживаться программы скомпилированные старыми билдами как 509 и ниже
или их надо будет всех с новым компилятором перекомпилировать?

Будут работать, так как терминал для совместимости содержит отдельный движок старого языка.

Но через некоторое время (может год, покажет время) мы уберем поддержку старого движка.

 

Сегодня после обновления терминала перестал работать скрипт. Подскажите, как это исправить?

Ошибки и предупреждения:

'MultiOrders.mq4' MultiOrders.mq4 1 1
'new' - comma expected MultiOrders.mq4 128 46
variable 'b' not used MultiOrders.mq4 28 9
variable 'd' not used MultiOrders.mq4 26 11
variable 'sl' not used MultiOrders.mq4 27 15
variable 't' not used MultiOrders.mq4 22 8
variable 'tb' not used MultiOrders.mq4 22 11
variable 'tp' not used MultiOrders.mq4 27 19
variable 'ts' not used MultiOrders.mq4 22 15
',' - identifier expected MultiOrders.mq4 138 26
'StringGetChar' - wrong parameters count MultiOrders.mq4 138 9
3 error(s), 7 warning(s) 4 8

Код прилагаю:

//+------------------------------------------------------------------+
//|                                                  MultiOrders.mq4 |
//|                                                             `Shu |
//|                                            http://SovetnikShu.ru |
//+------------------------------------------------------------------+
#property copyright "`Shu"
#property link      "http://SovetnikShu.ru"
// #property show_confirm
// #property show_inputs
#import "moo.dll"
  void ShowIn(double& Arr[]);
// #include <ShuLib.mq4>
extern int Magic=50005;
// #include <TF.mq4>
string shu=" [1.03] (c) `Shu [http://SovetnikShu.ru]";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
  int start() 
  {
   int i;
   int t, tb, ts;
   int ssi;
   int f;
   int cmd;
   double d;
   double pr, sl, tp, lot;
   bool b;
   string s;
   string ss[5];
   string ord1[3];
   string ord[5][3];
   Print(WindowExpertName() + shu);
   //   if (false) { Qu(); QuTF(); }
   double Arr[5];
//----
   Arr[0]=1;
   Arr[1]=2;
   Arr[2]=3;
//----
   FileDelete("orders.txt");
   ShowIn(Arr);
   f=FileOpen("orders.txt", FILE_CSV|FILE_READ, "*");
//----
     if (f==-1) 
     {
      Alert("- не смогли открыть файл ордеров!");
      return(false);
     }
   ssi=0;
     while(!FileIsEnding(f)) 
     {
      s=FileReadString(f);
        if (s!="") 
        {
         ss[ssi]=s;
         ssi++;
        }
     }
   FileClose(f);
//----
     for(i=0; i < ssi; i++) 
     {
      Print(ss[i]);
      MassStr(ss[i], ";", ord1);
        if (ArraySize(ord1) < 3) 
        {
         // - если коммента вдруг нет. мало ли?
         ArrayResize(ord1, 3);
         ord1[2]="";
        }
      ord[i][0]=ord1[0];
      ord[i][1]=StrRep(ord1[1], ",", ".");
      ord[i][2]=ord1[2];
        if (MarketInfo(ord[i][0], MODE_POINT)==0) 
        {
         Print("Не могу получить информацию о символе " + ord[i][0] + ". Прекращаю работу!");
         return(false);
        }
     }
     for(i=0; i < ssi; i++) 
     {
      lot=StrToDouble(ord[i][1]);
      if (lot==0) continue;
      pr =iif(lot > 0, MarketInfo(ord[i][0], MODE_ASK), MarketInfo(ord[i][0], MODE_BID));
      cmd=iif(lot > 0, OP_BUY, OP_SELL);
      lot=MathAbs(lot);
      OrderSend(ord[i][0], cmd, lot, pr, 0, 0, 0, ord[i][2], Magic);
     }
//----
   return(0);
  }
// на входе:  строка с разделителями
// на выходе: массив строк
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  int MassStr( string s, string Разделитель, string& mass[])
  {
   int i;
   int Нашли;
   string s1;
//----
   ArrayResize(mass, 100);
   Нашли=0;
     while( s!="")
     {
      i=StringFind( s, Разделитель, 0);
      if(i==-1)i=255;
      s1=StringTrimRight(StringTrimLeft(StringSubstr( s, 0, i)) );
      s=StringTrimRight(StringTrimLeft(StringSubstr( s, i+1, 255)));
      mass[Нашли]=s1;
      Нашли++;
     }
   ArrayResize(mass, Нашли);
//----
   return(Нашли);
  }
// условное назначение DOUBLE (!)
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  double iif( bool Условие, double ПервоеЗначение, double ВтороеЗначение)
  {
   if (Условие)      return(ПервоеЗначение);
   else  return(ВтороеЗначение);
  }
  string StrRep(string s, string old, string new) 
  {
   string r;
//----
   int i;
   int iOld, iNew;
   int ii;
//----
   string ss;
   iOld=StringGetChar(old, 0);
   iNew=StringGetChar(new, 0);
//----
   r="";
   ss=" ";
     for(i=0; i < StringLen(s); i++) 
     {
      ii=StringGetChar(s, i);
        if (ii==iOld) 
        {
         ss=StringSetChar(ss, 0, iNew);
        }
        else 
        {
         ss=StringSetChar(ss, 0, ii);
        }
      r=r + ss;
     }
//----
   return(r);
  }
//+------------------------------------------------------------------+

 
OlegSk:

Сегодня после обновления терминала перестал работать скрипт. Подскажите, как это исправить?

Ошибки и предупреждения:

'MultiOrders.mq4' MultiOrders.mq4 1 1
'new' - comma expected MultiOrders.mq4 128 46
variable 'b' not used MultiOrders.mq4 28 9
variable 'd' not used MultiOrders.mq4 26 11
variable 'sl' not used MultiOrders.mq4 27 15
variable 't' not used MultiOrders.mq4 22 8
variable 'tb' not used MultiOrders.mq4 22 11
variable 'tp' not used MultiOrders.mq4 27 19
variable 'ts' not used MultiOrders.mq4 22 15
',' - identifier expected MultiOrders.mq4 138 26
'StringGetChar' - wrong parameters count MultiOrders.mq4 138 9
3 error(s), 7 warning(s) 4 8

Код прилагаю:


new это зарезервированное слово. Посмотрите справку, там это все описано.

 
OlegSk:

Сегодня после обновления терминала перестал работать скрипт. Подскажите, как это исправить?

....

Внимательнее надо просто поглядеть на код - там ошибки вполне себе очевидны.


'new' - comma expected MultiOrders.mq4 128 46 - действительно, вы, видимо, строку пытаетесь назвать ключевым словом "new" - как у вас раньше проходило ? Это очевидная ошибка. Переименуйте строку.


variable 'b' not used MultiOrders.mq4 28 9
variable 'd' not used MultiOrders.mq4 26 11
variable 'sl' not used MultiOrders.mq4 27 15
variable 't' not used MultiOrders.mq4 22 8
variable 'tb' not used MultiOrders.mq4 22 11
variable 'tp' not used MultiOrders.mq4 27 19
variable 'ts' not used MultiOrders.mq4 22 15

Все эти переменные - у вас действительно, не используются. О чем вас и предупреждает скрипт. Вам они действительно нужны ?

',' - identifier expected MultiOrders.mq4 138 26 - опять же проблема со строкой, для которой используется недопустимое название.

'StringGetChar' - wrong parameters count MultiOrders.mq4 138 9 - и это та же проблема.


Резюме: У вас дофига переменных, которые у вас не используются, но это ерунда, можете так и оставить.

А вот что недопустимо - так это использование ключевого слова new в качестве названия переменной. Переименуйте строку ! strNewString - на мой взгляд горааааздо более подходящее название.

 
Laryx:

Внимательнее надо просто поглядеть на код - там ошибки вполне себе очевидны.


'new' - comma expected MultiOrders.mq4 128 46 - действительно, вы, видимо, строку пытаетесь назвать ключевым словом "new" - как у вас раньше проходило ? Это очевидная ошибка. Переименуйте строку.


variable 'b' not used MultiOrders.mq4 28 9
variable 'd' not used MultiOrders.mq4 26 11
variable 'sl' not used MultiOrders.mq4 27 15
variable 't' not used MultiOrders.mq4 22 8
variable 'tb' not used MultiOrders.mq4 22 11
variable 'tp' not used MultiOrders.mq4 27 19
variable 'ts' not used MultiOrders.mq4 22 15

Все эти переменные - у вас действительно, не используются. О чем вас и предупреждает скрипт. Вам они действительно нужны ?

',' - identifier expected MultiOrders.mq4 138 26 - опять же проблема со строкой, для которой используется недопустимое название.

'StringGetChar' - wrong parameters count MultiOrders.mq4 138 9 - и это та же проблема.


Резюме: У вас дофига переменных, которые у вас не используются, но это ерунда, можете так и оставить.

А вот что недопустимо - так это использование ключевого слова new в качестве названия переменной. Переименуйте строку ! strNewString - на мой взгляд горааааздо более подходящее название.


Разработчик не я, просто сегодня перестал работать, приходится разбираться. Ошибок больше нет. Спасибо!
Причина обращения: