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

 
Dmitry Fedoseev #:

О да! Свинозавр был таким офигено адекватным))

буйным - да, конструктивным - да, позволяющим себе оскорблять и унижать собеседников - нет.

 
Dmitry Fedoseev #:

Либо обеспечиваешь полную способность эксперта к перезапуску, в том числе и к перезапуску терминала. Либо нафик вообще этим заморачиваться.

А полная способность эксперта к перезапуску обеспечивается вообще не этими глобальными переменными.

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

либо язык MQL5 станет стандартом для решения торговых/экономических/исследовательских задач, либо так и останется узким специализированным языком. Много ли предложений работы на HH для программистов MQL5? - ну то то же.

было сложно продвигать, но мои предложения реализованы разработчиками и активно используются программистами, тот же Семко активно использует и профи в том, что когда то было немыслимым, канвас, OpenCL, DirectX....

 
Andrey Dik #:

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

И платформа и MQL5 язык постоянно развиваются. Мы каждый рабочий день по бета версии выпускаем.

Изменения в языке идут огромные:

  • добавили матрицы, вектора, комплексные числа
  • добавили массу математических операций над матрицами и векторами (не все еще в документации, доступно в интеллисенсе)
  • расширили работу с матрицами и векторами в OpenCL
  • разрешили поддержку OpenCL устройств с float (без поддержки double), чтобы машинное обучение с float
  • готовим к запуску функционала машинного обучения и нейросетей прямо в MQL5


Функционал терминала тоже меняется:

  • готовим расширенные финансовые отчеты
  • готовим новые графические интерфейсы для торговли
  • скоро запустим подписки на рыночные данные (готов NASDAQ)
  • далее более продвинутый новый тестер стратегий
Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
  • www.mql5.com
Матрицы и векторы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Renat Fatkhullin #:

Функционал терминала тоже меняется:

  • далее более продвинутый новый тестер стратегий

Здравствуйте! 

Большая просьба - обратите внимание на ветку при улучшении тестера стратегий. Описанные в ветке проблемы значительно затрудняют тестирование фьючерсов MOEX.

Добавлено:

И вот этот глюк

Неприятно огорчен: тестер MetaTrader оказывается не выдает реальное ГО на дату тестирования.
Неприятно огорчен: тестер MetaTrader оказывается не выдает реальное ГО на дату тестирования.
  • 2022.06.28
  • www.mql5.com
Собственно, вся боль написана в названии топика. Тестер МТ5 вместо реального ГО на дату тестирования, подставляет последнее известное значение. Т.е...
 
Renat Fatkhullin #:

И платформа и MQL5 язык постоянно развиваются. Мы каждый рабочий день по бета версии выпускаем.

Изменения в языке идут огромные:

  • добавили матрицы, вектора, комплексные числа
  • добавили массу математических операций над матрицами и векторами (не все еще в документации, доступно в интеллисенсе)
  • расширили работу с матрицами и векторами в OpenCL
  • разрешили поддержку OpenCL устройств с float (без поддержки double), чтобы машинное обучение с float
  • готовим к запуску функционала машинного обучения и нейросетей прямо в MQL5


Функционал терминала тоже меняется:

  • готовим расширенные финансовые отчеты
  • готовим новые графические интерфейсы для торговли
  • скоро запустим подписки на рыночные данные (готов NASDAQ)
  • далее более продвинутый новый тестер стратегий
Все это должно быть окружением в виде подключаемых модулей/библиотек.
 
Andrey Dik #:

Да уж... Прошли те времена, когда сообщество активно способствовало развитию платформы вообще и языка в частности... Костыльные решения применялись как исключительные и временные меры.

Прошли те времена. Нынче костыльными решениями гордятся и кичатся, а всех, кто предлагает исправлять и улучшать платформу, закидывают тапками. 

Плохо это, и для сообщества (людей) и для платформы в целом, что говорит о застое. Застойные процессы начались не вчера, нормальные адекватные люди уходят с форума (Математ, Винин, Гранит, Свинозавр и многие другие интересные личности, с которыми мне выпала честь общаться лично и дружить), а тем, кто всё же остаётся, становится всё меньше и меньше хотеть что либо писать и предлагать на форме.

Очень жаль. Но ведь ладно если бы не мешали, мешают! Держаться за уродства платформы (сброс глобальных переменных) как за нечто полезное и нужное - вот это точно клиника.

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

Да, были времена, когда на форуме MQ жизнь била ключом. Но форум тогда был MQL4.
 

Копируем в отладчике длиииинную строку:

Получаем это:

Куда всё остальное делось?

 

Проблема при использовании    CTrade  trade;

Когда Ask/Bid получается внутри OnTick(), то всё нормально: например  Ask=SymbolInfoDouble(symb,SYMBOL_ASK);


А когда Ask определяется из  CopyTicks(), и выбирается из массива(MqlTick tick[]) с помощью цикла (for), то ордер открывается не по той цене. В обоих случаях(и при OnTick() и при цикле) даты открытия ордера совпадают.

Возникает вопрос: как использовать функцию trade.Buy() , в цикле ?


                   Ask = tick[itick].ask;   timetick = tick[itick].time; 
                   Print("=================================================================================================================");
                   Print("itick=",itick, "    Ask=",Ask, "    timetick=",timetick);
                   
              if ( trade.Buy(minlot, symb, Ask, 0, 0, "Robot") )
              {
                if(opt) timeopen=timetick; else timeopen=TimeCurrent(); 
               
                Print ("opt=",opt, " ------------------------------  B U Y  with Robot  ",minlot,"  ",equity,"  ",KLOT," Ask=",Ask, "  ", timeopen);


2022.07.04 09:10:32.277 2022.06.11 00:00:00   =================================================================================================================

2022.07.04 09:10:32.277 2022.06.11 00:00:00   itick=1241124    Ask=29631.43    timetick=2022.06.04 06:32:31

2022.07.04 09:11:24.049 2022.06.11 00:00:00   market buy 0.25 BTCUSD (29262.01 / 29288.98)

2022.07.04 09:11:24.049 2022.06.11 00:00:00   deal #2 buy 0.25 BTCUSD at 29288.98 done (based on order #2)

2022.07.04 09:11:24.050 2022.06.11 00:00:00   deal performed [#2 buy 0.25 BTCUSD at 29288.98]

2022.07.04 09:11:24.050 2022.06.11 00:00:00   order performed buy 0.25 at 29288.98 [#2 buy 0.25 BTCUSD at 29288.98]    ? ? ? ? 

2022.07.04 09:11:24.052 2022.06.11 00:00:00   CTrade::OrderSend: market buy 0.25 BTCUSD [done at 29288.98]

2022.07.04 09:11:24.052 2022.06.11 00:00:00   opt=true ------------------------------  B U Y  with Robot  0.25  5000.0  20000 Ask=29631.43  2022.06.04 06:32:31
 
Petros Shatakhtsyan #:

Проблема при использовании    CTrade  trade;

Когда Ask/Bid получается внутри OnTick(), то всё нормально: например  Ask=SymbolInfoDouble(symb,SYMBOL_ASK);

А когда Ask определяется из  CopyTicks(), и выбирается из массива(MqlTick tick[]) с помощью цикла (for), то ордер открывается не по той цене. В обоих случаях(и при OnTick() и при цикле) даты открытия ордера совпадают.

Возникает вопрос: как использовать функцию trade.Buy() , в цикле ?

...

Предоставьте пожалуйста код для воспроизведения ошибки

 
Aliaksandr Hryshyn #:

Копируем в отладчике длиииинную строку:

Получаем это:

Куда всё остальное делось?

Увеличил внутренний буфер копирования в Clipboard с 256 до 4096 символов