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 и ниже
или их надо будет всех с новым компилятором перекомпилировать?

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

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

[Deleted]  

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

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

'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 - на мой взгляд горааааздо более подходящее название.

[Deleted]  
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 - на мой взгляд горааааздо более подходящее название.


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