Анонс обновления MetaTrader 4 build 421 - страница 2

 
220Volt:


Странно, код:

Всё неправильно. Смотрите пример: ...\MetaTrader 4\experts\samples
 
Zhunko:
Всё неправильно. Смотрите пример: ...\MetaTrader 4\experts\samples

Что конкретно неправильно? Пример смотрел, но так и не понял. Или покажите пожалуйста как правильно.

 
При:

Что конкретно неправильно? Пример смотрел, но так и не понял. Или покажите пожалуйста как правильно.


Если необходимо изменять значения исходных строк, то в DLL следует принимать данные типа MqlStr. Посмотрите примеры в файлах ExportFunctions.mq4 и ExpertSample.cpp (функция SortStringArray). Папка experts\samples.

Если же производится только чтение строк, то принимаются данные типа char * (функция GetStringValue).

 
Scriptong:


Если необходимо изменять значения исходных строк, то в DLL следует принимать данные типа MqlStr. Посмотрите примеры в файлах ExportFunctions.mq4 и ExpertSample.cpp (функция SortStringArray). Папка experts\samples.

Если же производится только чтение строк, то принимаются данные типа char * (функция GetStringValue).


Да, все прояснилось, все дело в это хитрой структуре:

struct MqlStr
{
int len; // вот это то что я назвал пробелом :)
char *string;
};

А вообще думаю, что в справке к МКЛ, всякие тонкости с Dll, очень плохо освещены, отсюда всякие недоразумения. Спасибо что направили.

 

Хочу обратить внимание разработчиков на такой серьёзный недочёт, что при установке времени экспирации для отложенного ордера никаких записей в логе журнала об этом нет. Точнее есть лишь общая запись о модификации ордера, там указаны price, sl и tp, а про экспирацию ничего не сказано.

Вот например такая запись в журнале:

modify pending order #14802321 buy limit 0.30 CTN2 at 76.69 sl: 0.00 tp: 0.00 -> price: 76.69 sl: 0.00 tp: 0.00
request was accepted by server
pending order #14802321 buy limit 0.30 CTN2 was modified -> price: 76.69 sl: 0.00 tp: 0.00

Спрашивается, и что поменялось при этой модификации? Все параметры вроде остались прежние, но модификация произвелась. Прям мистика какая-то :)

Так что прошу исправить эту недоработку в будущих билдах, чтобы время экспирации отображалось наряду со всеми остальными параметрами отложенного ордера.

 
ruslanchik:

а трудно самому по нему правой кнопкой мыши нажать и удалить ???


Пробовал. После удаления он восстанавливается при очередном запуске платформы. Как и любой другой замонтированный эксперт.
 
leonid553:

Пробовал. После удаления он восстанавливается при очередном запуске платформы. Как и любой другой замонтированный эксперт.
Видимо, MT4 его не удаляет. Дайте терминалу права администратора.
 
leonid553:

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

Увидел Ваш пост, открыл код скрипта, поменял лот с 1 на 0.01, и нет проблемы!
 
leonid553:

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

Это потому, что удаляется исполняемый файл (*.ex4), а исходный (*.mq4) остаётся и компилируется при следующем запуске терминала.
 
Исходник и ехе удалял - оба файла.
Причина обращения: