MetaEditor build 1468

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MetaEditor build 1467

Alexey Kozitsyn, 2016.11.11 11:21

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

Билд 1468 х64.


 
Vladimir Karputov:

Благодарю.
 
Vladimir Karputov:

А в 67-м нормально все было?
 
Alexey Kozitsyn:
А в 67-м нормально все было?

Это изменение, вместе с моноширным шрифтом появилось в 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MetaEditor build 1463

Renat Fatkhullin, 2016.11.10 09:27

Вчера на MetaQuotes-Demo выпустили бета-версию build 1467:

  • Исправление Old Tick в тестере
  • Апгрейд ArrayPrint - теперь может печатать и структуры
  • Прямая сортировка вывода в окне Журнал + возможность отключения колонок даты и источника, что дает больше места для данных
  • Апгрейд математической библиотеки
  • Апгрейд канваса с новыми функциями сглаженного вывода
  • Добавлена новая графическая библиотека /include/graphics с классом CGraphic, который является аналогом графических возможностей языка R. Теперь можно легко визуализировать массивы данных.
  • еще много мелочей

Обновитесь и протестируйте эту версию, пожалуйста.


 
Vladimir Karputov:

Это изменение, вместе с моноширным шрифтом появилось в 

А зачем навязывать то? Сделали бы на выбор пользователя... 

И, как по мне, эта "прямая сортировка" - очень косая! 

 
Alexey Kozitsyn:

А зачем навязывать то? Сделали бы на выбор пользователя... 

И, как по мне, эта "прямая сортировка" - очень косая! 

Слово "Косая" на техническом форуме не аргумент.
 
Vladimir Karputov:
Слово "Косая" на техническом форуме не аргумент.
Ну Вы же поняли. Хорошо, разработчики ее назвали прямой, а как по мне - это обратная, а была прямая.
 

Наше исходное решение по обратному выводу было реально дурным.

Через 16 лет исправили, наконец.

Все привыкнем обязательно.

 
Renat Fatkhullin:

Наше исходное решение по обратному выводу было реально дурным.

Через 16 лет исправили, наконец.

Все привыкнем обязательно.

Тогда лучше быстрее обновляйте реальные сервера, потому что сейчас в 1455 так смотришь, а в 1468 - иначе.

Но лучше было бы, конечно, если бы был выбор. 

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MetaEditor build 1467

fxsaber, 2016.11.11 02:15

Скрипт несколько десятков раз делает одно и то же через OrderSend (не Async)

  1. Ставит отложенник.
  2. Модифицирует.
  3. Удаляет.
Во время выполнения скрипта шаги 2 и 3 для некоторых ордеров не проходят - ERR_TRADE_SEND_FAILED.

Например, скрипт делает 50 раз одно и то же. Из них для 26-го и 37-го раза отложенник выставляется, но модификация и удаление его не происходит - "Invalid request". 

Это из-за какого-то внутреннего переполнения?

Вот лог

2016.11.11 03:04:53.304 Trades  '8500457': buy limit 1.00 AUDCAD at 1.02387
2016.11.11 03:04:53.364 Trades  '8500457': accepted buy limit 1.00 AUDCAD at 1.02387
2016.11.11 03:04:53.364 Trades  '8500457': order #40316582 buy limit 1.00 / 1.00 AUDCAD at market done in 60.046 ms
2016.11.11 03:04:53.365 Trades  '8500457': modify order #40316582 buy limit 1.00 AUDCAD at 1.02387 sl: 0.00000 tp: 0.00000 -> 1.02387, sl: 1.02287 tp: 0.00000
2016.11.11 03:04:53.423 Trades  '8500457': accepted modify order #40316582 buy limit 1.00 AUDCAD at 1.02387 sl: 0.00000 tp: 0.00000 -> 1.02387, sl: 1.02287 tp: 0.00000
2016.11.11 03:04:53.423 Trades  '8500457': modify #40316582 buy limit 1.00 AUDCAD -> price: 1.02387, sl: 1.02287, tp: 0.00000) done in 58.551 ms
2016.11.11 03:04:53.424 Trades  '8500457': cancel order #40316582 buy limit 1.00 AUDCAD at 1.02387 sl: 1.02287
2016.11.11 03:04:53.483 Trades  '8500457': accepted cancel order #40316582 buy limit 1.00 AUDCAD at 1.02387 sl: 1.02287
2016.11.11 03:04:53.484 Trades  '8500457': cancel #40316582 buy limit 1.00 AUDCAD at market done in 59.999 ms
2016.11.11 03:04:53.485 Trades  '8500457': buy limit 1.00 AUDCAD at 1.02387
2016.11.11 03:04:53.542 Trades  '8500457': accepted buy limit 1.00 AUDCAD at 1.02387
2016.11.11 03:04:53.542 Trades  '8500457': order #40316583 buy limit 1.00 / 1.00 AUDCAD at market done in 57.727 ms
2016.11.11 03:04:53.543 Trades  '8500457': failed modify order #40316583 buy limit 1.00 AUDCAD at 1.02387 sl: 0.00000 tp: 0.00000 -> 1.02387, sl: 1.02287 tp: 0.00000 [Invalid request]
2016.11.11 03:04:53.543 Trades  '8500457': failed cancel order #40316583 buy limit 1.00 AUDCAD at 1.02387 [Invalid request]

2016.11.11 03:04:53.543 Trades  '8500457': buy limit 1.00 AUDCAD at 1.02387
2016.11.11 03:04:53.601 Trades  '8500457': accepted buy limit 1.00 AUDCAD at 1.02387
2016.11.11 03:04:53.602 Trades  '8500457': order #40316584 buy limit 1.00 / 1.00 AUDCAD at market done in 59.059 ms
2016.11.11 03:04:53.603 Trades  '8500457': modify order #40316584 buy limit 1.00 AUDCAD at 1.02387 sl: 0.00000 tp: 0.00000 -> 1.02387, sl: 1.02287 tp: 0.00000
2016.11.11 03:04:53.662 Trades  '8500457': accepted modify order #40316584 buy limit 1.00 AUDCAD at 1.02387 sl: 0.00000 tp: 0.00000 -> 1.02387, sl: 1.02287 tp: 0.00000
2016.11.11 03:04:53.662 Trades  '8500457': modify #40316584 buy limit 1.00 AUDCAD -> price: 1.02387, sl: 1.02287, tp: 0.00000) done in 59.187 ms
2016.11.11 03:04:53.663 Trades  '8500457': cancel order #40316584 buy limit 1.00 AUDCAD at 1.02387 sl: 1.02287
2016.11.11 03:04:53.720 Trades  '8500457': accepted cancel order #40316584 buy limit 1.00 AUDCAD at 1.02387 sl: 1.02287
2016.11.11 03:04:53.721 Trades  '8500457': cancel #40316584 buy limit 1.00 AUDCAD at market done in 58.285 ms

Выделил жирным проблемное место. До и после  этого скрипт с теми же запросами все выполняет (видно по логу). Стоп-уровни точно не участвуют тут - далеко устанавливаю.

Распечатка полученного (от OrderSend) MqlTradeResult-результата

10013 0 0 0.0 0.0 0.0 0.0 Invalid request 0 0

Код 10013.

 

Воспроизводится легко на Hedge и Netto-счетах, включая Metaquotes-Demo. Есть мысли по багу?

 

fxsaber:

Воспроизводится легко на Hedge и Netto-счетах, включая Metaquotes-Demo.

#include <Trade\Trade.mqh>

#define OFFSET (100 * _Point)

void OnStart()
{
  for (int i = 0; i < 10; i++)
  {
    CTrade Trade;
    
    const double Price = NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK) - OFFSET, _Digits);
    const double SL = NormalizeDouble(Price - OFFSET, _Digits);

    Trade.OrderOpen(_Symbol, ORDER_TYPE_BUY_LIMIT, 1, 0, Price, 0, 0);
    
    MqlTradeResult Result;    
    Trade.Result(Result);
    
    Trade.OrderModify(Result.order, Price, SL, 0, ORDER_TIME_GTC, 0);
    
    Trade.OrderDelete(Result.order);
  }
}
Результат полностью
CTrade::OrderSend: modify #109575273 at 1.34975 (sl: 1.34875 tp: 0.00000) [invalid request]
CTrade::OrderSend: cancel #109575273 [invalid request]
CTrade::OrderSend: modify #109575278 at 1.34976 (sl: 1.34876 tp: 0.00000) [invalid request]
CTrade::OrderSend: cancel #109575278 [invalid request]
CTrade::OrderSend: modify #109575595 at 1.34949 (sl: 1.34849 tp: 0.00000) [invalid request]
CTrade::OrderSend: modify #109575598 at 1.34949 (sl: 1.34849 tp: 0.00000) [invalid request]
CTrade::OrderSend: cancel #109575598 [invalid request]
CTrade::OrderSend: modify #109575599 at 1.34949 (sl: 1.34849 tp: 0.00000) [invalid request]
CTrade::OrderSend: cancel #109575599 [invalid request]
Воспроизводится?
Причина обращения: