MetaEditor build 1467

 

Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,:

// Input variables
input string  comment2               = "*** Order Options ***";
input double  InpLots                = 0.10;   // Lots
input ushort  InpStop_Loss           = 0;      // Stop Loss
input ushort  InpTake_Profit         = 0;      // Take Profit
input ulong   InpSlippage            = 5;      // Slippage
input string  Deal_Comment           = "Simple FX"; // Comment
input ulong   Magic                  = 112607; // Magic
input string  comment3               = "*** Moving Average Options ***";
input int     Long_MA_Period         = 200;
input int     Long_MA_Method         = 0;
input int     Long_MA_Applied_Price  = 4;
input int     Short_MA_Period        = 50;
input int     Short_MA_Method        = 0;
input int     Short_MA_Applied_Price = 4;

после применения стилизатора, преобразуется в такой вот некрасивый вид:

// Input variables
input string  comment2               = "*** Order Options ***";
input double  InpLots                = 0.10;   // Lots
input ushort  InpStop_Loss           = 0;      // Stop Loss
input ushort  InpTake_Profit         = 0;      // Take Profit
input ulong   InpSlippage            = 5;      // Slippage
input string  Deal_Comment="Simple FX"; // Comment
input ulong   Magic=112607; // Magic

input string  comment3               = "*** Moving Average Options ***";
input int     Long_MA_Period         = 200;
input int     Long_MA_Method         = 0;
input int     Long_MA_Applied_Price  = 4;
input int     Short_MA_Period        = 50;
input int     Short_MA_Method        = 0;
input int     Short_MA_Applied_Price = 4;

И это ещё не всё. Если удалить хоть один пробел (например в строке "input int     Short_MA_Period        = 50;") то после применения стилизатора, эта строка вообще скукоживается - из неё самопроизвольно удаляются все пробелы:

// Input variables
input string  comment2               = "*** Order Options ***";
input double  InpLots                = 0.10;   // Lots
input ushort  InpStop_Loss           = 0;      // Stop Loss
input ushort  InpTake_Profit         = 0;      // Take Profit
input ulong   InpSlippage            = 5;      // Slippage
input string  Deal_Comment="Simple FX"; // Comment
input ulong   Magic=112607; // Magic
input string  comment3               = "*** Moving Average Options ***";
input int     Long_MA_Period         = 200;
input int     Long_MA_Method         = 0;
input int     Long_MA_Applied_Price  = 4;
input int     Short_MA_Period=50;
input int     Short_MA_Method        = 0;
input int     Short_MA_Applied_Price = 4;

Как победить такое немного, как по мне, нелогичное поведение редактора MetaEditor 1464?

 
Переименовал тему в "... 1467" - терминал обновился, а поведение его, в части стилизатора, осталось прежним. 
 

Кстати, спасибо за перевод контекстного меню по работе с Хранилищем:

контекстное меню Хранилища соответствует языку редактора 

 
Vladimir Karputov:

Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,

...

Найден способ: форматирование (сдвиг и выравнивание названий переменных и их значений) нужно проводить в редакторе MetaEditor исключительно при помощи клавиши <Tab>. Отформатированный таким образом названия переменных не скукоживаются влево при применении стилизатора.
 
Vladimir Karputov:
Найден способ: форматирование (сдвиг и выравнивание названий переменных и их значений) нужно проводить в редакторе MetaEditor исключительно при помощи клавиши <Tab>. Отформатированный таким образом названия переменных не скукоживаются влево при применении стилизатора.
не все используют <TAB> для выравнивания, именно поэтому и не пользуюсь стилизатором в МЕ
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MetaEditor build 1463

Renat Fatkhullin, 2016.11.10 09:27

Вчера на MetaQuotes-Demo выпустили бета-версию build 1467:

  • Исправление Old Tick в тестере
  • Апгрейд ArrayPrint - теперь может печатать и структуры
  • Прямая сортировка вывода в окне Журнал + возможность отключения колонок даты и источника, что дает больше места для данных
  • Апгрейд математической библиотеки
  • Апгрейд канваса с новыми функциями сглаженного вывода
  • Добавлена новая графическая библиотека /include/graphics с классом CGraphic, который является аналогом графических возможностей языка R. Теперь можно легко визуализировать массивы данных.
  • еще много мелочей

Обновитесь и протестируйте эту версию, пожалуйста.


 

Со стайлером будем разбираться через несколько месяцев - там многое надо переделывать.

Сейчас другие приоритеты.

 

Перезагрузил компьютер и увидел, что индикатор выгрузился с чарта с ошибкой.

Хорошо, думаю, перекомпилировал индикатор в 1467 - ошибок нет. Но при попытке накинуть на чарт получаю ошибку:

2016.11.10 12:44:00.673 ***     invalid EX5 file (533)

Что делать?

2016.11.10 12:46:56.685 Terminal        MetaTrader 5 x64 build 1467 started (MetaQuotes Software Corp.)
2016.11.10 12:46:56.686 Terminal        Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i3-3120M  @ 2.50GHz, RAM: 4913 / 8077 Mb, HDD: 400621 / 476372 Mb, GMT+02:00
2016.11.10 12:46:56.686 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

 

Добавлено: перезагрузка компьютера была после установки обновлений на Windows.

В общем РЕШЕНО: выключил терминал, удалил скомпилированный *.ex5 файл индикатора, перекомпилировал заново индикатор, запустил терминал 1467 и индикатор накидывается теперь на чарт без проблем.

 
Vladimir Karputov:

В общем РЕШЕНО: выключил терминал, удалил скомпилированный *.ex5 файл индикатора, перекомпилировал заново индикатор, запустил терминал 1467 и индикатор накидывается теперь на чарт без проблем.

Это давнишняя фишка МТ: зачастую при установке нового билда требуется повторная компиляция программ. Отсюда и требование при выполнении работ на заказ: давать исходник, чтобы не было привязки к исполнителю.
 

Раз уж пошла такая пьнка:

1. Считаю изменение шрифта в окне эксперта сделано неудачно:

Curier New диссонирует с общим шрифтом. 

Второй момент: раздутое меню опциями системы контроля версий. Далеко не все используют штатную систему контроля версий, однако ее меню теперь преследует пользователей повсюду. Это нехорошо.

 
Vasiliy Sokolov:

Раз уж пошла такая пьнка:

1. Считаю изменение шрифта в окне эксперта сделано неудачно:

Curier New диссонирует с общим шрифтом. 

Второй момент: раздутое меню опциями системы контроля версий. Далеко не все используют штатную систему контроля версий, однако ее меню теперь преследует пользователей повсюду. Это нехорошо.

Так ведь специально ввели моноширный шрифт - теперь выводить информацию в виде таблиц очень просто, а главное наглядно (особенно если применять новую функцию ArrayPrint):

2016.11.10 13:47:40.766 test (USDJPY,M30)       [ 0] 106.672 106.640 106.352 106.175 105.921 105.830 105.782 105.619 105.415 105.270 105.370 105.290 105.654 105.561 105.351 105.230 105.157
2016.11.10 13:47:40.840 test (USDJPY,M30)       [17] 105.209 105.108 105.280 105.510 105.658 105.619 105.809 105.753 105.652 105.690 105.653 105.823 105.886 105.817 105.835 105.718 105.765
2016.11.10 13:47:40.840 test (USDJPY,M30)       [34] 105.737 105.357 105.216 104.837 104.736 104.551 104.377 104.653 104.162 103.914 103.740 103.793 103.358 103.142 103.088 103.051

обратите внимание, что псевдостолбцы получаются автоматически, не нужно никаких специальных форматирований проводить.

Сам скрипт:

//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                        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"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double Open[];
   ArraySetAsSeries(Open,true);
   int copied=CopyOpen(Symbol(),Period(),0,50,Open);
   if(copied==50)
      ArrayPrint(Open);
  }
//+------------------------------------------------------------------+


 

Файлы:
test.mq5  1 kb
Причина обращения: