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

 
FION:
Обновление до 600 билда произошло автоматом, а хотелось бы еще юзать 509 потому что сразу начался геморрой... У меня все четко работало до сих пор, а теперь советники не ставят ордера. Три одинаковых зацикленных с периодом 1 сек советника должны ставить в определенное время по ордеру - у каждого советника свой магик. Один советник ставит ордер, а два других просто зависают (индикатор отсчета секунд в них останавливается). Ошибка стабильно повторяется. Пробовал задавать время как в строчном так и в целочисленном сравнении - не помогает. Что посоветуете ?

Пока не можем воспроизвести описанное поведение. Все три экземпляра одного и того же советника (fNews_Local_Time) одновременно пытаются торговать начиная с одного и того же времени, заданного первыми двумя входными параметрами. Безо всяких зависаний.

Нужно больше подробностей.

С каким торговым сервером Вы работаете?

 
stringo:

Пока не можем воспроизвести описанное поведение. Все три экземпляра одного и того же советника (fNews_Local_Time) одновременно пытаются торговать начиная с одного и того же времени, заданного первыми двумя входными параметрами. Безо всяких зависаний.

Нужно больше подробностей

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

Можно ли привести пример как теперь правильно передать строку из советника в DLL и обратно в советник

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

string GetData(double& aa[], int& bb[]); // получение данных из dll 

void LoadData(double& cc[], string& val[]);  // загрузка из советника в длл

то теперь у меня передается только первая буква строки

или теперь надо применять тип char ?

 
harbor:

Можно ли привести пример как теперь правильно передать строку из советника в DLL и обратно в советник

...
Используйте следующую структуру при компиляции DLL:

#pragma pack(push,1)
struct MqlString
  {
   int      size;
   LPWSTR   buffer;
   int      reserved;
  };
#pragma pack(pop)
 

mql5:
Используйте следующую структуру при компиляции DLL:

не уверен что в дельфи все это будет работать, так как там отличия от с++, но попробую
 
Gans-deGlucker:

Ренат, при всем уважении, не могу согласиться. Процессоры Pentium III не имели инструкций SSE2, за исключением мобильной версии, которая называлась Pentium M и вышла в 2003, если не ошибается Википедия году. Первые процессоры Intel, поддерживающие инструкции SSE2 - Pentium IV, вышли чуть раньше, в 2001 году. Так что 15 лет назад у Вас не могло быть такого PIII, ну никак. Да и потом, к чему эти передергивания - я например поменял комп на Athlon64 всего пару лет назад, он абсолютно меня устраивал, и только необходимость немножко поизучать MQL5 (где это требование также было жестко зашито в терминал) меня по сути и сподвигла на замену. Я понимаю, вы за технический прогресс, за последние обновления, да, все это так, и это необходимо наверное делать (хотя я навскидку не назову другой торговый терминал, где это столь же жестко прописано). Но определенное количество пользователей услышали сейчас "да вы все лохи и нищеброды, купите себе нормальные компы уже". Наверное клиентоориентированность вашей компании все-таки страдает от подобного рода заявлений. Хотя уверен практически на 100%, что Вы будете и дальше продолжать их делать.

PIII конечно не имел никакого SSE2. SSE2 появился 12 лет назад с Pentium 4. Это ли мне не знать?

Я написал - "у меня лично был такой PIII 15 лет назад". То есть, я говорю "это безумие сидеть на старье и в 2014 году жаловаться, что софт требует SSE2".

 
polycomp:

Был установлен МТ-4 584 с mt4setup, выложенного на Вашем сайте, сервер MetaQuotes-Demo.

Автоматом ничего не обновляется, сообщений о наличии обновлений нет. Пришлось опять ручками скачивать mt4setup сайта и поверху устанавливать.

В чем причина?

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

Так как брокеры постепенно обновляются, то процесс обновлений зависит от них.

 
FION:
Нужно ставить на графики одной и той же пары открытых в одном терминале, но с разными магиками. У меня то один советник срабатывает иногда два, на несработавшем советнике останавливается секундомер на графике. Сервер лайтфорекс реал.


Всё то же самое. За исключением сервера.

А в логах что у Вас? Попробуйте время от времени (скажем 1 раз в минуту) выводить в журнал значения магика. Тогда точно можно будет сказать, что какой-то эксперт завис

 
Renat:

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

Так как брокеры постепенно обновляются, то процесс обновлений зависит от них.


тогда не понимаю то что на впс подключился в одному серверу с 509 версии он обновился до 600

а на ноуте с 509 версии (аналогично и 577) к этому же серверу - не обновляется

на впс лог вот такой


07:17:28 Alpari Limited MT4 build 509 started (Alpari Limited)
07:17:28 Expert refresh_2_01 USDJPY,M1: loaded successfully
07:17:28 Expert _BS_mt4_v3-03(G+L) USDJPY,M1: loaded successfully
07:17:29 '5189089': login
07:17:30 '5189089': login
07:17:30 '5189089': previous successful authorization performed from 79.126.34.227
07:17:32 Expert refresh_2_01 USDJPY,M1: removed
07:17:32 Expert _BS_mt4_v3-03(G+L) USDJPY,M1: removed
07:17:33 Alpari Limited MT4 build 509 stopped
11:20:46.541 Migration: data to 'H:\Alpari_1' migration started

Нет сообщений о новой версии, нет статуса загрузок аналогично МТ5


на ноуте

01:23:35 MetaTrader - Masterforex build 509 stopped
08:24:29 MetaTrader - Masterforex build 509 started (Beaverhead Financial Inc.)
08:24:31 Expert _BS_mt4_v3-04(G+L)VS GBPUSD,M5: loaded successfully
08:24:32 '9483985': login
08:24:34 '9483985': login
08:24:35 '9483985': previous successful authorization performed from 79.126.34.227
08:25:11 '5189089': login
08:25:13 '5189089': login
08:25:14 '5189089': previous successful authorization performed from 95.211.222.151
08:36:28 Expert _BS_mt4_v3-04(G+L)VS GBPUSD,M5: removed
08:36:28 MetaTrader - Masterforex build 509 stopped
15:56:13 MetaTrader - Masterforex build 509 started (Beaverhead Financial Inc.)
15:56:16 Expert _BS_mt4_v3-04(G+L)VS GBPUSD,M5: loaded successfully
15:56:18 '5189089': login
15:56:20 '5189089': login
15:56:21 '5189089': previous successful authorization performed from 95.211.222.151
16:01:05 Expert _BS_mt4_v3-04(G+L)VS GBPUSD,M5: removed
16:01:05 MetaTrader - Masterforex build 509 stopped
 
stringo:

Всё то же самое. За исключением сервера.

А в логах что у Вас? Попробуйте время от времени (скажем 1 раз в минуту) выводить в журнал значения магика. Тогда точно можно будет сказать, что какой-то эксперт завис

Да я вижу как они зависают... Т.е. секундомеры советников идут до момента постановки ордеров, затем один, иногда бывает и второй советник ставит ордера, а секундомер на зависшем советнике останавливается и не обновляется т.е. советник завис - он же зациклен. Иногда вылезает ошибка 128 - истек срок ожидания совершения сделки.