Ошибки, баги, вопросы - страница 1800
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Искусственного моделирования нет! Есть факт тормозов MT5, который бросает тень на озвученные разработчиками HFT-возможности в статьях.
Раньше разработчики пиняли на третьих лиц, когда им показывали тормоза на ФОРТС. Теперь же можно сторонние причины точно отбросить - тормозит сам Metaquotes-Demo.
Просто безнравственно предъявлять претензию к демо-серверам, тем более к тем, за которыми не стоит брокер :-)
В СД поблагодарили за найденные тормоза платформы, т.к. смогли выявить слабые места и устранить их.
Именно Metaquotes-Demo обязан работать, как часы. И разработчики видят все внутренние его логи.
Думаю, что для целей формирования Обзора рынка неэффективны все проверки кроме SYMBOL_TRADE_MODE_DISABLED
На Metaquotes-Demo полно символов с отсутствием цен, но на них можно выставлять лимитники!
Демонстрация для символа "KRKO"
{
MqlTradeRequest Request = {0};
Request.action = TRADE_ACTION_PENDING;
Request.symbol = "KRKO";
Request.volume = 1;
Request.price = 1;
Request.type = ORDER_TYPE_BUY_LIMIT;
Request.type_time = ORDER_TIME_DAY;
MqlTradeResult Result = {0};
OrderSend(Request, Result);
}
Результат
Даже маржа взимается. OrderCheck возвращает true и для маркет-запросов (OrderSend - requote).
Это баг?
OrderCheck возвращает true и для маркет-запросов (OrderSend - requote).
На EURRUB OrderCheck возвращает true при закрытом рынке.
Именно Metaquotes-Demo обязан работать, как часы. И разработчики видят все внутренние его логи.
Просто безнравственно предъявлять претензию к демо-серверам, тем более к тем, за которыми не стоит брокер :-)
А MQ сервер должен быть неким "эталоном", на котором как раз можно было бы и нужно обкатывать свои технологии разработчикам алго.
Множественный вызов SymbolSelect вызывает зависание терминала.
{
bool Res = false;
for (int i = SymbolsTotal(MarketWatch) - 1; (i >= 0) && (!Res); i--)
Res = (Symb == SymbolName(i, MarketWatch));
return(Res);
}
bool SymbolOnOff( const string Symb )
{
return(SymbolSelect(Symb, !SymbolExist(Symb)));
}
void OnStart()
{
for (int i = SymbolsTotal(false) - 1; i >= 0; i--)
{
const string Symb = SymbolName(i, false);
if (SymbolOnOff(Symb))
SymbolOnOff(Symb);
}
}