MetaTrader 4 Client Terminal build 610 - страница 12

 
Vladon:

давно уже просят все...

+1 То же просил...
 
wtvirtual:

Только что занимался этой же проблемой. Поиск по форуму, всему порталу, всему интернету ничего не дал. У меня была проблема чуть иного характера - индикаторы, советники и скрипты используют библиотеки ex4 и dll, на исходном компе под разными терминалами разных брокеров всё нормально работало, при переносе на любой другой комп - та же фигня, что и у вас.

Я решил проблему как бы случайно - на другом компе в ME официального терминала одного из брокеров перекомпилировал весь комплект вместе с библиотекой ex4, а dll перекомпилировал также на другом компе под Visual Studio 2008 вместо исходной 2010. Теперь при переносе на любой другой комп весь комплект работает без проблем.

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




Спасибо за ответ. Буду пробовать
 
Zhunko:
Компилировать надо с ключом "/MT".


Отродясь в обоих студиях стоит /MT
 
Zhunko:
Компилировать надо с ключом "/MT".


Спасибо за ответ. Буду пробовать
 

Уважаемые разработчики. Очень прошу решить поскорее проблему с использованием dll в советниках и индикаторах!

У меня советник использует индикатор, который в свою очередь использует dll библиотеку, в настройках советников в сервисе все галки включены, а когда переносишь советника на график, то выбрать галку dll невозможно!!! В итоге, когда индикатор доходит до использования dll вылетает Алерт с требованием включить использование dll, который включить невозможно !! Очень прошу решить наконец эту проблему, в билдах 604 всё прекрасно работало!!!

 
AlexeyVik:

Решений 2.

1. Откомпилировать библиотеку в 509м и вставить её без исходника в 610. Проверено будет работать.

2. Всё-же найти не отображаемую "ошибку" в коде библиотеки.

Я буквально в пятницу бился с этой задачей.

А почему так и не понял до конца. А всего-то убрал из библиотеки 2 функции

string tts(datetime v){return(TimeToStr(v, TIME_DATE|TIME_SECONDS));}

string ttsd(datetime v){return(TimeToStr(v, TIME_DATE));}

и вписал TimeToStr(v, TIME_DATE|TIME_SECONDS) непосредственно в код.

Может надо было заменить на TimeToString(v, TIME_DATE|TIME_SECONDS)... Я только сейчас об этом подумал.

Ну парни даете, Читайте хоть справку по нвомому билду:

Экспортирование функций

int Function() export
  {
  }

Данный модификатор указывает компилятору внести функцию в таблицу EX4-функций, экспортируемых данным исполняемым ex4-файлом. Только функции с таким модификатором становятся доступными ("видимыми") из других mql4-программ.

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

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




 
Zhunko:
Компилировать надо с ключом "/MT".


Поясни пожалуйста что значит компилировать с ключом
 

Хотел бы задать вопрос Ренату. Зачем в терминале имеется ограничение на цену лимитных ордеров? Т.е. я не могу отправить sell limit ниже bid, а buy limit выше ask. На ecn/stp счетах. Из-за этого большие сложности. Хотя сами брокеры очевидно умеют работать с такими заявками, ведь цена может измениться пока ордер дойдет до брокера, это ограничение вшито в терминал клиента.

Зачем мне это? У ecn/stp брокеров market execution, следовательно я не могу задавать стопы, для меня это не допустимо. Также не подходят buy stop и sell stop т.к. из-за отсутствия ask истории нельзя точно рассчитать цену для них (например, активировать buy stop при пробое экстремума в прошлом, я ведь не знаю какой там был аск). Если бы были лимитники с такой возможностью, то это было бы аналогом instant execution для брокеров имеющих market execution. Аналогом, который бы позволил выставить подобие проскальзывания.

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

Предлагаю отменить данное ограничение.
 
Pavlick:

Хотел бы задать вопрос Ренату. Зачем в терминале имеется ограничение на цену лимитных ордеров? Т.е. я не могу отправить sell limit ниже bid, а buy limit выше ask. На ecn/stp счетах. Из-за этого большие сложности. Хотя сами брокеры очевидно умеют работать с такими заявками, ведь цена может измениться пока ордер дойдет до брокера, это ограничение вшито в терминал клиента.

Зачем мне это? У ecn/stp брокеров market execution, следовательно я не могу задавать стопы, для меня это не допустимо. Также не подходят buy stop и sell stop т.к. из-за отсутствия ask истории нельзя точно рассчитать цену для них (например, активировать buy stop при пробое экстремума в прошлом, я ведь не знаю какой там был аск). Если бы были лимитники с такой возможностью, то это было бы аналогом instant execution для брокеров имеющих market execution.

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

Предлагаю отменить данное ограничение.
Ниже Бид надо СеллСтоп а выше Аск - БайСтоп, что в этом сложного? Лимитки на отскок во всех терминалах всегда были и будут и так не только в МТ.
 
evillive:
Ниже Бид надо СеллСтоп а выше Аск - БайСтоп, что в этом сложного? Лимитки на отскок во всех терминалах всегда были и будут и так не только в МТ.

У меня нет желания вступать в споры. Что бы понять что сложного, нужно попробовать повходить в рынок точно при пробое уровней на плавающем спреде, без аск истории и с заданным stop loss (а не модифицировать после открытия).
Причина обращения: