Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 40

 
VOLDEMAR:

Вот код на который ругается терминал

...

Задача кода собрать все меджики на счете

Ошибка тут:
for(int z=0; z<=ArrayRange(MAS,0); z++) // запускаем цикл по массиву


Должно быть z<ArrayRange(MAS,0)




Рекомендую изменить вложенность циклов, тогда вызовов OrderSelect будет значительно меньше!
for(int f=0; f<OrdersTotal(); f++)// перебор ордеров
  {
   if(OrderSelect(f,SELECT_BY_POS))
     {
      for(int z=0; z<ArrayRange(MAS,0); z++) // запускаем цикл по массиву
 

Повторю простой вопрос ко всем.

Допустим есть нормально работающий в 509 сов

или индикатор, который работает с файлами.

И есть новый билд, который установлен с чистого листа

и который некорректно компилирует эти файлы.

Куда копировать старые ex4 файлы,

чтобы он точно так же работал в старой среде 509.

Возможна ли такая процедура с успехом?

 
mql5:

Ошибка тут:
for(int z=0; z<=ArrayRange(MAS,0); z++) // запускаем цикл по массиву


Должно быть z<ArrayRange(MAS,0)


Человеческое спасибо !

В Виндовс 8,1 про при переходе в терминал мт4 появляется окно с настройками эксперата и на этом все заканчивается, такая же беда и с профилированием

 
Telemah:

Повторю простой вопрос ко всем.

Допустим есть нормально работающий в 509 сов

или индикатор, который работает с файлами.

И есть новый билд, который установлен с чистого листа

и который некорректно компилирует эти файлы.

Куда копировать старые ex4 файлы,

чтобы он точно так же работал в старой среде 509.

Возможна ли такая процедура с успехом?

1) В терминале в меню файл выбираем "открыть каталог данных".
2) В открывшемся окне проводника переходим к папке MQL4\Indicators
3) Сюда копируем ind.ex4 скомпилированный с билде 509
4) Перезапускаем терминал, в "пользовательских индикаторах" должен появиться индикатор ind
 
VOLDEMAR:


В Виндовс 8,1 про при переходе в терминал мт4 появляется окно с настройками эксперата и на этом все заканчивается, такая же беда и с профилированием


Не понятно:
1) "при переходе в терминал мт4" из MetaEditor при запуске на отладку/профилирование?
2) "на этом все заканчивается" Ничего не происходит или терминал закрывается?
 

Запустил советник на новом билде:

2014.02.07;15:45:38

2014.02.07;15:48:32
2014.02.07;15:51:00
2014.02.07;15:53:13
2014.02.07;15:55:27

в журнале время перезапуска советника при условии, что он молчит 120 секунд, т.е. индикатор сверяет свое время и время активности советника и перезапускает его.

Это значит, что за 10 минут, он был активным всего 2-2,5 минуты.

Вопросы к разработчикам:

1. У Вас пока ограниченные ресурсы на его использование, что все так медленно работает?

2. Если есть торгующие терминалы на 509 билде, они будут поддерживаться неограниченно, пока ведется там торговля?

 
mql5:

Не понятно:
1) "при переходе в терминал мт4" из MetaEditor при запуске на отладку/профилирование?
2) "на этом все заканчивается" Ничего не происходит или терминал закрывается?


1 да при переходе в мт 4 на отладку/профилирование

2 Ничего не происходит

 

Изменил вложенность учел замечание но массив всеравно не заполняется !

for(int f=0; f<OrdersTotal(); f++)
if(OrderSelect(f,SELECT_BY_POS))
for(int z=0; z<ArrayRange(MAS,0); z++)
if (MAS[z][0]==OrderMagicNumber())break;
else
{
ArrayResize(MAS,z,1000);
MAS[z][0]=OrderMagicNumber();
}
 
ANG3110:
Нет не применял, все на темплейте Tester. В старом билде в режиме визуализации все прекрасно отрисовывалось при такой конфигурации. Но после теста-то не отрисовывается по любому. Я же написал, после открытия терминала один раз отрисуется и все, дальше глухо как в танке, при повторах уже ничего не отрисовывается.

P.S. Только ради бога не рекомендуйте мне использовать специальные темплейты. У меня сотни советников, и врагу не пожелаешь на каждый из них делать темплейты. Повторю в предыдущем билде все прекрасно работало и это чисто Ваш баг.

Будем разбираться.
 

Столкнулся с проблемой установки эксперта для своих клиентов.

Термины которые я использую:
Основная директория MT - директория которая была выбрана в инсталляторе MetaTrader.
Директория MT в AppData - директория C:\Users\Имя_учетной_записи\AppData\Roaming\MetaQuotes\Terminal\Instance_id

Замечу, что каталог данных(в терминах MetaQuotes) может ссылаться как на основную директорию MT, так и на директорию MT в AppData.

Факты:
1. Пока выключен UAC, директория MT в AppData создаваться не будет.
2. Если установить терминал при включенном UAC, но не запускать терминал, то директория в AppData не создаётся. Только при запуске терминала.
3. При создании директории MT в AppData, терминал копирует туда все шаблоны из основной директории MT(файлы из директории templates).
4. При создании директории MT в AppData, терминал копирует туда эксперты/индикаторы/библиотеки только из стандартного набора по-умолчанию.
НО, не копируются все остальные пользовательские эксперты/индикаторы/библиотеки.
5. Если вручную создать директорию MT в AppData, до того как это сделает сам терминал, и скопировать своего эксперта, то терминал не будет туда копировать файлы из п.4(предыдущего пункта).

Отсюда следуют такие проблемы:
1. Если у моего клиента был выключен UAC в момент установки эксперта, а потом спустя время UAC включили(даже кто-то другой, например, антивирус, дети, админ на работе,...), то у клиента пропадает мой эксперт.
Эту проблему я не могу решить заранее в момент установки, из-за п.4 и п.5

2. Если мой клиент, при включённом UAC, установил терминал(но не запускал), а потом вызывает инсталлятор моего продукта, то у инсталлятора нет возможности установить эксперт:
ведь директория MT в AppData ещё не создана(п.2), создать самому я её не могу(п.5), а терминал её ещё не создал(п.2).

Какие у меня есть пути решения:
1. [UAC выключен у клиента] Убедить клиента что UAC нельзя включать(ведь тогда мой эксперт пропадает).
2. [UAC включен у клиента, терминал только что установлен, но не запускался] Убедить клиента, что для установки моего продукта, терминал должен быть запущен, но затем сразу выключен(ведь шаблоны(templates) не подгружаются автоматически).
Поясню этот пункт детальней. Директория MT в AppData не создана, для её создания клиенту нужно запустить MT, однако после установки эксперта и шаблона для него, нужно перезапустить терминал, чтобы они появились в списках терминала.

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

Решением этой дилеммы, было бы такое поведение терминала:
При создании директории MT в AppData копировать все пользовательские эксперты/индикаторы/библиотеки/Files/templates из основной директории MT в директорию MT в AppData (аналогично поведению терминала при обновлении старых версий терминала).