Ошибки, баги, вопросы - страница 1794
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
почему?
Там есть стринги (два штука).
Разработчики еще могли бы сделать подобное рабочим решением для MqlTradeResult, если бы
{
uint retcode; // Код результата операции
ulong deal; // Тикет сделки, если она совершена
ulong order; // Тикет ордера, если он выставлен
double volume; // Объем сделки, подтверждённый брокером
double price; // Цена в сделке, подтверждённая брокером
double bid; // Текущая рыночная цена предложения (цены реквота)
double ask; // Текущая рыночная цена спроса (цены реквота)
string comment; // Комментарий брокера к операции (по умолчанию заполняется расшифровкой кода возврата торгового сервера)
uint request_id; // Идентификатор запроса, устанавливается терминалом при отправке
uint retcode_external; // Код ответа внешней торговой системы
};
поле-строку сделали бы последним. Но для MqlTradeRequest даже такое не помогло бы.
Там есть стринги (два штука).
fxsaber:
Результат
STRUCT::~STRUCT
STRUCT::~STRUCT
Почти всегда один вызов будет лишним ... здесь подробности https://www.mql5.com/ru/forum/1111/page1657#comment_2729876
Т.е. это не баг, а результат ключа C++ компилятора, который разработчики используют?
Это стандартное поведение, которое в подавляющем большинстве случаев можно оптимизировать без ущерба и еще не оптимизировано
//оптимизация: сразу присвоить 3
Это стандартное поведение, которое в подавляющем большинстве случаев можно оптимизировать без ущерба и еще не оптимизировано
//оптимизация: сразу присвоить 3
Оптимизация - это хорошо, спасибо. Но если все честно выполнять, то откуда берутся три шага?
Сообщите в СервисДеск
S() { Print( __FUNCTION__ ); }
~S() { Print( __FUNCTION__ ); }
};
S f()
{
S s;
return s;
}
void OnStart() //2 раза
{
f();
}
так 2 раза вызов (а что поменялось? - появился конструктор),
я предположил, что компилятор в том Вашем примере дополняет код так
void OnStart() //3 раза
{
S s = f(); //s при этом - не используется
}
Сообщите в СервисДеск
Написал.
так 2 раза вызов (а что поменялось? - появился конструктор),
Нужно ли писать в СД, если на одном из серверов при успешном открытии позиции маркет-ордером каждый раз получается нулевой Result.deal?
Не уверен, что это ошибка, т.к., возможно, это так сам сервер настроен. Тем более, все равно из Result.order всегда можно получить Result.deal.