Ошибки, баги, вопросы - страница 1820

 
Maksym Mudrakov:

input string Somevalue = "Maxim";
...
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 - ибо есть  вероятность, что другая программа банально  затирает комментарий на графике

Файлы:
test.mq5  2 kb
 
перезапустил советника на другом графике, заработа всё правильно. Странно. Но спасибо за помощь.
 
Maksym Mudrakov:
перезапустил советника на другом графике, заработа всё правильно. Странно. Но спасибо за помощь.
Тем более у Вас переменная input - переменную такого типа в коде нельзя переназначить - остаётся вариант со второй программой (советником или индикатором) который тайно шкодит и выводит свой комментарий.
 
fxsaber:

Кто понял ответ, поясните. Так и не понял, почему для OrderSend считается нормальной ситуация

Насколько я понимаю, OrderSend ждет только до постановки ордера в очередь на обработку на сервере, но не до результата обработки.
 
Агенты тестирования постоянно отваливаются при оптимизации. Локальный агент не может подключиться к 127.0.0.1:3000 и прерывает тестирование.
 
Комбинатор:
Насколько я понимаю, OrderSend ждет только до постановки ордера в очередь на обработку на сервере, но не до результата обработки.
Вот с этим неясность.
 
OrderSend возвращает true, при этом в логе появляется строка
2017.02.23 14:18:58.013 Trades  '5245006': failed buy limit 0.01 USDCNH at 6.85199 [Request rejected due to absence of network connection]
 

В приложении воспроизводящий OrderSend-баг скрипт. Он бежит по Обзору рынка и на каждом символе открывает BuyLimit. После чего сразу пытается его модицифировать (устанавливает TP) и затем удалить. Если модификация или удаление ордера невозможны, скрипт останавливается с соответствующим сообщением.

Все делается через синхронный OrderSend. И почти сразу нарываемся на ситуацию, когда после успешного OrderSend (выставление BuyLimit) невозможно ничего (модифицировать или удалить) сделать с отложенным ордером.

Результат работы

2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       ModifyError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED
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. 

Файлы:
 
fxsaber:

при успешном открытии позиции маркет-ордером каждый раз получается нулевой Result.deal?

Из СД
Заполнение тикета результирующей сделки не гарантировано. Заполнение или не заполнение зависит от режима исполнения инструмента и настроек конкретного сервера.
Кто закладывался на ненулевой Result.deal - примите меры.
 
OpenCL not found. Error code=5101
Error in OpenCL initialization. Error code=5101
Встроенная в CPU графика не поддерживает OpenCL? Вроде же, и GPU для OpenCL не обязателен был.
Причина обращения: