Ошибки, баги, вопросы - страница 2068

 

Достаточно интересный обзор новой технологии WebAssembly на https://habrahabr.ru/post/342180/

WebAssembly (WASM) — новый бинарный формат, позволяющий запускать код в браузере...

Применение WebAssembly:

-Уменьшить время загрузки
-Поднять скорость вычислений
-Использовать готовый код на C/C++


Учитывая средней давности слухи о возможном веб сервисе для компиляции MQL кода,
возникает резонный вопрос о принципиальной возможности реализации проекта по запуску пользовательских советников на прямую из браузера на основе WebAssembly.
Знакомство с WebAssembly
Знакомство с WebAssembly
  • 2012.11.17
  • habrahabr.ru
Эта статья основана на моём выступлении на ITSubbotnik, прошедшем в Рязани 14 октября 2017 года. На русском пока что довольно мало материала на эту тему, надеюсь что статья будет вам полезна. Disclaimer: Автор не является экспертом ни в WebAssembly, ни в JavaScript. Данная статья есть компиляция мыслей и идей, полученных из выступлений других...
 
Andrey Khatimlianskii:

Логи выложите, станет понятнее. И эксперта и терминала.

Вкладка Терминал

2017.11.10 16:29:01.266 '8615385': order was opened : #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000
2017.11.10 20:37:38.949 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.277 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 closed at price 1.68356
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD closing at 0.00000 failed [Invalid parameters]

Вкладка Эксперт

        Line 8103: 2    16:29:01.266    Forex V2 EURNZD,M1: open #4448742 sell 0.02 EURNZD at 1.68131 ok
        Line 8104: 0    16:29:01.266    Forex V2 EURNZD,M1: Order #4448742 open

        Line 10145: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 1 закрытия/удаления ордера #4448742 Ошибка: 3
        Line 10146: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10147: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 2 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10148: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10149: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 3 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10150: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10151: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 4 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10152: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10153: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 5 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10154: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10155: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 6 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10156: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10157: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 7 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10158: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10159: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 8 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10160: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10161: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 9 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10162: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10163: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 10 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10164: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10165: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 11 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10166: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10167: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 12 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10168: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10169: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 13 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10170: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10171: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 14 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10172: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10173: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 15 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10174: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10175: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 16 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10176: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10177: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 17 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10178: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10179: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 18 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10180: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10181: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 19 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10182: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10183: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 20 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10184: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10185: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 21 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10186: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10187: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 22 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10188: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10189: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 23 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10190: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10191: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 24 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10192: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10193: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 25 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10194: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10195: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 26 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10196: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10197: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 27 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10198: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10199: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 28 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10200: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10201: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 29 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10202: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10203: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 30 закрытия/удаления ордера #4448742 Ошибка: 4108
        Line 10204: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        
        Line 10243: 2   20:37:39.760    ExpertName EURNZD,H1: close #4448742 sell 0.02 EURNZD at 1.68131 at price 1.68356

После Ошибки 3 действительно не происходит закрытие. С этим разобрался.

У эксперта №1 идет закрытие, а второй одновременно тоже пытался закрыть эту же позицию.

Логику работы исправил и теперь ошибок конечно нет.


НО: Изменение номера ошибки с №3 на №4108 при неизменности передаваемых параметров в OrderClose() внутри цикла.

Почему сначала выдается Ошибка 3, а потом 4108 ? - вот такой вот вопрос остался

{Если смотреть по таймингам, то по идее мы имеем попытку закрытия заблокированного ордера (при этом сама ошибка 139 не выдается), а после его закрытия (и соответственно разблокировки ордера) мы получаем ошибку 3.}


Почему терминал не дает конкретную ошибку о том, что ордер заблокирован и вместо этого выдается слишком общая ошибка 3 ?

 
Kirill Belousov:

НО: Изменение номера ошибки с №3 на №4108 при неизменности передаваемых параметров в OrderClose() внутри цикла.

Почему сначала выдается Ошибка 3, а потом 4108 ? - вот такой вот вопрос остался

Это же та версия кода, где был 1 OrderSelect, не правда ли? Тогда 4108 обоснована.

3 - в момент, когда другой советник закрывает позицию, 4108 - при попытке закрыть уже закрытую позицию.

 
Andrey Khatimlianskii:

Это же та версия кода, где был 1 OrderSelect, не правда ли? Тогда 4108 обоснована.

3 - в момент, когда другой советник закрывает позицию, 4108 - при попытке закрыть уже закрытую позицию.

Верно.

Но почему не выдается шибка 139 при попытке закрывать ордер, по которому уже был отправлен приказ на закрытие?

Ведь мы скорее имеем ситуацию 139-й ошибки. Разве не так?

 

Неверный текст ошибки

void f( int &[] ) {}

class A
{
public:
  int Array[];
  
  void f2() const
  {
    f(this.Array); // 'Array' - constant variable cannot be passed as reference
  }
};
 
Вроде, не должен ругаться
Print(NULL); // 'NULL' - expression of 'void' type is illegal
 
Kirill Belousov:

Верно.

Но почему не выдается шибка 139 при попытке закрывать ордер, по которому уже был отправлен приказ на закрытие?

Ведь мы скорее имеем ситуацию 139-й ошибки. Разве не так?

Не знаю. Но это и багом сложно назвать.

 
Andrey Khatimlianskii:

Не знаю. Но это и багом сложно назвать.

2017.11.10 16:29:01.266 '8615385': order was opened : #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000
2017.11.10 20:37:38.949 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.277 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 closed at price 1.68356
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD closing at 0.00000 failed [Invalid parameters]

Если смотреть на журнал терминала, то сообщение об ошибке 3 выдается после закрытия позиции, а не в момент когда блокировка на сервере должна была обнаружиться.

Сообщение об ошибке 139 можно было выдать почти на 0,5 сек раньше. Все это время советник "висит", чтобы получить ошибку 3 после закрытия ордера.

И, кстати, ошибка 3 Invalid Parameters есть в журнале терминала, а 4108 только благодаря выводу его и только во вкладке эксперта. Похоже, что 4108 - это обработка на стороне клиента.

Просто хочется знать/понять логику, чтобы закладывать ее в код, а не нащупывать методом научного тыка.. )

В какой же еще ситуации получать ошибку 139 как не в данной...?

 
Kirill Belousov:

В какой же еще ситуации получать ошибку 139 как не в данной...?

В момент срабатывания отложенного ордера/СЛ/ТП или закрытия позиции по стоп-ауту (тоже на сервере).

По 4108 не подскажу.
Но, повторюсь, не вижу смысла разбираться — если 2 советника одновременно отдают приказ на закрытие, у одного из них точно будет ошибка (какая разница - какая?).
Обрабатывать очень просто — делаем OrderSelect и проверяем OrderCloseTime.

 
Ilnur Khasanov:

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

Это не просто неудобство, это парить мозг несколько раз (каждый раз - это ожидание в 10 суток), а потом удалить и сказать: ой, извини, мы стерли, сам там как нить восстанови, потом подожди еще 10 суток. - и при попытке сделать это еще падает сайт..

Что это за лажа? Какой такой сбой должен произойти, чтобы это потерялось? что нет истории для восстановления? Сообщение описания находилось на хранении несколько суток.
Почему сообщение от модератора не всплыло на этот раз?

Я точно знаю, что это проблема со стиранием данных происходит не разово. Этот якобы сбой, на самом деле это не сбой (Возможно затягивание сроков), потому что такое происходит не только у меня и не в одно и то же время (проблема существует более полугода)! - прошу прокомментировать..

И прошу починить. Если не способны, наймите меня. Сделаю за неделю, за 2000 евро.

Как так то.. фиаско прям..

Вообще, восстановят ли стертое? Пропала половина переписки с модератором. Пропали сообщения с форума. А еще модераторы в догонку поудаляли ставшие пустыми сообщения.
Почему нет режима - проводятся тех работы? - вернее порядок такой- сначала включается режим - потом проводятся работы, потом режим восстанавливается.

Как только запостил - сайт упал. Решил обновить - сайт лежит...

wtf во второй раз. замечание выше писал 4 дня назад. теперь опять вернули с замечанием, которое я уже исправлял. я выкладывал новую версию продукта. теперь ее нет. куда делась новая версия?
так работать нельзя - ну несерьезно..
в новом комментарии к модератору я продублировал описание которое пропало, чтобы не терял больше.
а как быть с продуктом? высылать на емейл? прикреплять в комментарии? или попробовать еще раз и ждать сутками?
Причина обращения: