Торговая платформа MetaTrader 5 стала доступна клиентам AMP Futures для торговли фьючерсами - страница 5

 
Aleksey Vyazmikin:

Такое разве возможно? Просто видел в одном потоке разноцветные кружки (зеленый, красный, синий), что противоречит как бы логики. Поэтому и не ясно, что это за неопределенные сделки.

А Вы откройте ФОРТС на MQ-Demo, там такое на каждом шагу. Сервер не обновлен.

 

Из-за размера тика невозможно открыть позицию на некоторых символах.

На скрине показано, что спред и цены не кратны TickSize


В результате на стороне Терминала (OrderCheck) происходит облом (включая ручной режим). Подправьте поведение OrderCheck на такие случаи!

 
fxsaber:

В результате на стороне Терминала (OrderCheck) происходит облом (включая ручной режим). Подправьте поведение OrderCheck на такие случаи!

Пример, когда невозможно сделать Маркет-ордер даже в том случае, когда Bid/Ask кратны TickSize

Здесь Last-цена не кратна TickSize. Она никакого отношения к маркет-ордерам не имеет, но OrderCheck все так же бажит - не дает провести маркет-ордер.

 
fxsaber:

Пример, когда невозможно сделать Маркет-ордер даже в том случае, когда Bid/Ask кратны TickSize

Здесь Last-цена не кратна TickSize. Она никакого отношения к маркет-ордерам не имеет, но OrderCheck все так же бажит - не дает провести маркет-ордер.

это AMP брокер ? может это только на демо счете так ?

 
Konstantin:

это AMP брокер ?

Да.

может это только на демо счете так ?

Баг в OrderCheck присутствует точно. Так что он общий.

 
fxsaber:

Да.

Баг в OrderCheck присутствует точно. Так что он общий.

т.е. если не проверять и отправить, то ордер примется системой?

я просто не проверяю ни когда т.к. цену прописываю согласно всех размеров по цене
 
Konstantin:

т.е. если не проверять и отправить, то ордер примется системой?

OrderCheck скрытно вызывается всегда, когда делаете OrderSend, включая случай ручного создания приказа.

 
fxsaber:

OrderCheck скрытно вызывается всегда, когда делаете OrderSend, включая случай ручного создания приказа.

ну так если программно прописывать цену по условиям всех размеров по цене, то эта функция и не нужна, я верно ведь вас понимаю? просто сколько пишу роботов, ни разу в их реализации не увидел необходимости в проверке через OrderCheck т.к. всегда своими методами привожу цену к нормальному виду

 
Konstantin:

ну так если программно прописывать цену по условиям всех размеров по цене, то эта функция и не нужна, я верно ведь вас понимаю? просто сколько пишу роботов, ни разу в их реализации не увидел необходимости в проверке через OrderCheck т.к. всегда своими методами привожу цену к нормальному виду

OrderCheck вызывается всегда, хотите Вы этого или нет!

 
fxsaber:

OrderCheck вызывается всегда, хотите Вы этого или нет!

а результат какой будет, если я ее не вызывал? вопрос не праздный, а исходя из опыта, когда не делал приведение к нормальной цене значения на отправку, то иногда получал ошибку, номер не помню, но смысл был, что цена не существует, после этого стал всегда приводить значение цены к ее нормальному состоянию, т.е. с учетом ее значения кратному размеру тика:

/*!
   \brief   Получение округления до размера тика
   \param   double a_value - значение для округления
   \param   double a_tick_size - минимальное изменение цены (шаг цены)
   \return  значение цены округленное до стоимости одного пункта
*/
double CCalcMarketValue::GetRoundTick(const double a_value,const double a_tick_size) {
   return NormalizeDouble(a_value / a_tick_size, 0) * a_tick_size;
}

после этого все ошибки связанные с неправильной ценой исчезли, вообще считаю нет смысла проверять через OrderCheck т.к. после данной проверки по любому придется если цена не соответствует, вышеуказанное делать приведение, а учитывая что вычисления мизерные то и делаю все сразу без всяких проверок

Причина обращения: