Ошибки, баги, вопросы - страница 1820
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...
void OnTick(){
Comment(Somevalue);
}
Программа MQL5 выводит комментарий:"1487811600"
Почему так происходит? Как вывести правильное строковое значение?
Ищите ошибку. Или выкладывайте полный воспроизводимый код. Проверочный код
//| Test.mql5 |
//| Copyright 2017, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link "http://wmua.ru/slesar/"
#property version "1.00"
#property script_show_inputs
//--- input parameters
input string Somevalue="Maxim";
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
Comment(Somevalue);
}
//+------------------------------------------------------------------+
ошибку не воспроизводит.
Также рекомендую заменить Comment на Print - ибо есть вероятность, что другая программа банально затирает комментарий на графике.
перезапустил советника на другом графике, заработа всё правильно. Странно. Но спасибо за помощь.
Кто понял ответ, поясните. Так и не понял, почему для OrderSend считается нормальной ситуация
Насколько я понимаю, OrderSend ждет только до постановки ордера в очередь на обработку на сервере, но не до результата обработки.
В приложении воспроизводящий OrderSend-баг скрипт. Он бежит по Обзору рынка и на каждом символе открывает BuyLimit. После чего сразу пытается его модицифировать (устанавливает TP) и затем удалить. Если модификация или удаление ордера невозможны, скрипт останавливается с соответствующим сообщением.
Все делается через синхронный OrderSend. И почти сразу нарываемся на ситуацию, когда после успешного OrderSend (выставление BuyLimit) невозможно ничего (модифицировать или удалить) сделать с отложенным ордером.
Результат работы
2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1) DeleteError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED
Уважаемые разработчики, это баг OrderSend или нет?
ЗЫ Однако, OrderSend при TRADE_ACTION_DEAL не заканчивает работу, пока соответствующий ордер имеет статус STARTED.
Все веселье скрипта можно неторопясь прочувствовать на сервере FXOpen-MT5.
при успешном открытии позиции маркет-ордером каждый раз получается нулевой Result.deal?
Error in OpenCL initialization. Error code=5101