Ошибки, баги, вопросы - страница 1815
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
class A { public:
A( const T * ) {} //Error: 'T' - unexpected token
};
class B {};
void OnStart()
{
A<const B> a( new B );
}
Здравствуйте у меня на демо-счете Открытия
происходит следующее: при удачной модификации и удаления ордера
типа ORDER_FILLING_RETURN (обычный лимитный ордер)
переменная volume из структуры MqlTradeResult стабильно равняется изначальному размеру ордера (при этом ордер нисколько не исполнен).
Вроде бы она должна выдавать исполненный объём (в моём случае 0 ) или я ошибаюсь?
Вроде бы она должна выдавать исполненный объём (в моём случае 0 ) или я ошибаюсь?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2017.02.10 12:01
Результат работы скриптаRequest.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = EURUSD
Request.volume = 1.0
Request.price = 1.06356
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_IOC (1)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 57777
Result.volume = 1.0
Result.price = 1.06356
Result.bid = 0.0
Result.ask = 0.0
Result.comment = My Order
Result.request_id = 592
Result.retcode_external = 0
Так было изначально
Во время выполнения OrderSend невозможно выйти из дебаг-режима или удалить советник/скрипт.
Бывает, что OrderSend выполняется 180 секунд, с выходом Request timeout. Три минуты приходится ждать, чтобы мочь компилировать в редакторе, если был запущен скрипт в дебаг-режиме.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.02.16 07:55
2017.02.16 08:53:03.285 MQL5 wrong type, loading of Test failed
2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)
Что это?
На единственном чарте ничего не запущено. При любом переключении счетов выскакивает это сообщение.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бешенный кеш агентов тестирования
Renat Fatkhullin, 2017.02.21 04:04
Попробуйте новый пятничный билд МТ5 1545 - кое-что улучшили.Еще обратите внимание, что у нас на MetaQuotes-Demo МТ5 больше 230 000 постоянно активных счетов и там реально трейдерская вакханалия.
Думаю, на бирже вакханалия еще мощнее, но справляются.
1545 - вроде, стало лучше. Но все проскакивают моменты
Запрос/ответ
Request.magic = 0
Request.order = 0
Request.symbol = EURCAD
Request.volume = 0.01
Request.price = 1.39016
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_SELL (1)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 134821044
Request.position_by = 0
Result.retcode = 10009
Result.deal = 118450870
Result.order = 134821045
Result.volume = 0.01
Result.price = 1.39016
Result.bid = 1.39016
Result.ask = 1.39043
Result.comment = Request executed 57.225 + 18.108 ms
Result.request_id = 4096
Result.retcode_external = 0
Выделенное - столько времени появлялась запись в истории ордеров и сделок после успешного OrderSend. Очень много!
Журнал
MM 0 08:51:22.480 Trades '5245006': accepted instant sell 0.01 EURCAD at 1.39016, close #134821044 buy 0.01 EURCAD 1.39043 (deviation: 100)
LH 0 08:51:22.480 Trades '5245006': deal #118450870 sell 0.01 EURCAD at 1.39016 done (based on order #134821045)
EQ 0 08:51:22.480 Trades '5245006': order #134821045 sell 0.01 / 0.01 EURCAD at 1.39016 done in 57.165 ms
И еще случай того же запуска скрипта.
Запрос/ответ
Request.magic = 0
Request.order = 0
Request.symbol = EURCZK
Request.volume = 0.01
Request.price = 27.043
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = Benchmark_Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134821281
Result.volume = 0.01
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 392.585 + 0.299 ms
Result.request_id = 4457
Result.retcode_external = 0
Журнал
RE 0 08:51:44.133 Trades '5245006': accepted buy limit 0.01 EURCZK at 27.04300
JS 0 08:51:44.133 Trades '5245006': order #134821281 buy limit 0.01 / 0.01 EURCZK at market done in 392.533 ms
Пинг ~54 ms.
Из окна Алертов невозможно ничего скопировать.
Прошу добавить в окно Алерта возможность выделения нескольких строк, по правой кнопке меню "Копировать" и "Переход в Журнал" - показать в Журнале эксперта соответствующую алерту строку.
Добрый день.
Столкнулся с некорректным (на мой взгляд) поведением указателей на объекты. Актуально и в MT5, и в MT4. Просветите, пожалуйста, это баг или всё-таки фича. Вот код:
class CDescObject:public CBaseObject { };
void OnStart()
{
CDescObject *obj1 = new CDescObject(), *obj2;
CBaseObject *baseObj1 = obj1;
obj2 = baseObj1;//Пока не грохнули объект - no problem
delete(obj1);
//Если добавить эти строки, ошибки в последней строке не будет
//if(CheckPointer(baseObj1)==POINTER_INVALID)
//baseObj1 = NULL;
obj2 = obj1;//Указатели одного типа - no problem
obj2 = baseObj1;//здесь ошибка "Invalid pointer access"
}
Я понимаю, что здешние указатели - не такие, как в C, а с богатым внутренним миром. Но всё-таки было бы логичней, если б присваивание в последней строчке прошло мирно. В моём случае проверка на POINTER_INVALID была после присваивания, так что не сразу понял, откуда берется "Invalid pointer access" при том, что никакого access'a никто не делает.
P. S.: На всякий случай - Metatrader 5 build 1545, Win 7 SP1 x86