Новая версия платформы MetaTrader 5 build 1870: Добавление символов в Обзор рынка по ISIN - страница 7

 

Проблема с заменой по "Ctrl"+"H":

При попытке повторного вызова по "Ctrl"+"H" выпадающий список предыдущих замен пустой.

 
Dimitar Petkov:

Я тоже потверждаю. Быстрое переключение М5 -> Н1 -> М5  получается на VPS. У меня:

Windows Server 2012 R2 (build 9600) on Hyper-V x64, IE 11, RDP, UAC, Intel Xeon  E5-2620 v3 @ 2.40GHz, Memory: 11242 / 12287 Mb, Disk: 218 / 299 Gb, GMT+1

На лаптоп проблеми не увидел.


У меня на кастомном символе была такая проблема в апреле 2018. График моргал, переключался с М5 на Н1 на мгновение. Тогда мне удалось разобраться с такой проблемой. Дело в том что данные кастомного символа могут быть не готовы для вывода. В таком случае у меня на графике М5 выводились бары Н1. График выводился каждые 50 мсек по таймеру. Данные могут быть не готовы, например, из-за того что отсутствует история за этот период. Запрос этих данных вызывает подгрузку, кастомный символ формируется и в следующие 50 мсек выводится уже по нормальному. Из-за этого возникало такое моргание.
 Для решения проблемы во первых загрузил всю историю необходимую для расчета кастомного символа, чтоб она хранилась локально, во вторых перед выводом кастомного графика поставил условие - график выводится только если данные кастомного символа готовы для вывода.
Думаю сейчас проблема схожая - график моргает когда данные котировок не готовы для вывода и выскакивает Н1, через мгновение они уже готовы и вы снова видите свой таймфрейм. Это проблема терминала плюс особенности некоторых советников.

Хотя сейчас у меня другая проблема, я вообще не могу увидеть свой кастомный символ. После выхода 1870 билда -
ChartSetSymbolPeriod - функция не работает никак. Хотя возвращает true-выполнение успешно, но кастомного графика нет.
 
alex2andr:
Начал разбираться с этой ошибкой. Она возникает только когда запускаешь советник на кастомном чарте. У меня "EURUSD"-базовый график, "CustomSymbol"-кастомный, формируется из истории EURUSD. При запуске на кастомном возникает ошибка 4401 - история "EURUSD" не найдена. И соответственно отсутствует история CustomSymbol.

При запуске на обычном графике EURUSD советник запускается, создается кастомный символ, но график "CustomSymbol" не отображается.

ChartSetSymbolPeriod(0,SYMBOL1,PERIOD1);  //SYMBOL1="CustomSymbol"  
 - не работает.

Хотя кастомный символ появляется в списке символов и открыть его график вручную можно. Но програмно - нет.
Я вырезал из своей программы кусок кода где содержаться ошибки и сделал маленькую програмку. Ошибки воспроизводятся.
Итого две ошибки:
1. При запуске советника на графике кастомного символа котировки базового EURUSD почему-то недоступны.
2. Не работает ChartSetSymbolPeriod для кастомного символа.

Что означает строчка в функции OnInit

   SYMBOL1=_Symbol;

Вы специально перезаписываете "CustomSymbol" значением текущего символа?

 
alex2andr:
У меня на кастомном символе была такая проблема в апреле 2018. График моргал, переключался с М5 на Н1 на мгновение. Тогда мне удалось разобраться с такой проблемой. Дело в том что данные кастомного символа могут быть не готовы для вывода. В таком случае у меня на графике М5 выводились бары Н1. График выводился каждые 50 мсек по таймеру. Данные могут быть не готовы, например, из-за того что отсутствует история за этот период. Запрос этих данных вызывает подгрузку, кастомный символ формируется и в следующие 50 мсек выводится уже по нормальному. Из-за этого возникало такое моргание.
 Для решения проблемы во первых загрузил всю историю необходимую для расчета кастомного символа, чтоб она хранилась локально, во вторых перед выводом кастомного графика поставил условие - график выводится только если данные кастомного символа готовы для вывода.
Думаю сейчас проблема схожая - график моргает когда данные котировок не готовы для вывода и выскакивает Н1, через мгновение они уже готовы и вы снова видите свой таймфрейм. Это проблема терминала плюс особенности некоторых советников.

Хотя сейчас у меня другая проблема, я вообще не могу увидеть свой кастомный символ. После выхода 1870 билда -
ChartSetSymbolPeriod - функция не работает никак. Хотя возвращает true-выполнение успешно, но кастомного графика нет.

речь не о кастомных символах, переключение идёт на стандартных символах, при чём в терминале изначально работает только один советник, установлен стандартно(не портабл). На работу советника видимо не влияет, но я боюсь что переключения могут замедлить реакцию на происходящее на рынке. Надеюсь разработчики терминала не будут тянуть с исправлением.

 
Tetyana Shcherba:

речь не о кастомных символах, переключение идёт на стандартных символах, при чём в терминале изначально работает только один советник, установлен стандартно(не портабл). На работу советника видимо не влияет, но я боюсь что переключения могут замедлить реакцию на происходящее на рынке. Надеюсь разработчики терминала не будут тянуть с исправлением.

Похоже здесь дело именно в отрисовке.

Вот на этом Вашем компьютере

Terminal Windows Server 2012 R2 (build 9600) x64, IE 11, RDP, UAC, QEMU Virtual  version (cpu64-rhel6), Memory: 1306 / 2047 Mb, Disk: 16 / 28 Gb, GMT+2

какие лимиты у графиков? Сколько графиков открыто?

 
Slava:

Похоже здесь дело именно в отрисовке.

Вот на этом Вашем компьютере

Terminal Windows Server 2012 R2 (build 9600) x64, IE 11, RDP, UAC, QEMU Virtual  version (cpu64-rhel6), Memory: 1306 / 2047 Mb, Disk: 16 / 28 Gb, GMT+2

какие лимиты у графиков? Сколько графиков открыто?

открыто 5 графиков М30, а на счёт лимитов не поняла, где их смотреть?

З.Ы. Если речь о кол-ве свечей - то 5000. Я изменила на 25000 и мигания прекратились. Неужели терминалу 5000 М30 было мало?

Ах нет,прошу прощения, мигает и дальше, проблема осталась. И дело не в отрисовке, потому что если убрать с графика эксперта, то мигания прекращаются. В эксперте существует проверка появления новой минутной свечи, вот оно и переключается на М1 в момент проверки, но так ведь не должно быть.

 
Vladimir Karputov:

Проблема с заменой по "Ctrl"+"H":

При попытке повторного вызова по "Ctrl"+"H" выпадающий список предыдущих замен пустой.

Добрый день!

Спасибо за Ваше сообщение, проверим.

 
Slava:

Что означает строчка в функции OnInit

Вы специально перезаписываете "CustomSymbol" значением текущего символа?

Да, сначала кастомный символ получает все свойства базового символа, историю тоже, хотя потом, каждый тик котировки кастомного символа модифицируются, моделируется движение графика. На основе М1 базового символа.
 

Добрый день!

Нет ли данных, когда ожидается новый билд? (после 1870)
Там должен быть апдейт для функции WebRequest()

От этого зависит, ждать или менять свои советники/скрипты

 

Возникает ошибка в простейшем алгоритме когда советник отслеживает появление позиции(тоесть удачный её выбор) и тут же пытается удалить все отложенные ордера.

Так вот,после появления позиции какое-то время отложенный ордер (который сработал и открыл позицию) ещё существует и тоже выбирается..В результате данного бага советник пробует удалить несуществующий ордер,что приводит к ошибке 4756

Уже кто-то писал про фантомные ордера, это просто ещё один пример.Возможно это у меня так неудачно совпало,потому что в логах пишит что пытается удалить обычный ордер,а не отложенный, хотя в коде перед удалением

проверяется тип ордера ORDER_TYPE_BUY_STOP или ORDER_TYPE_SELL_STOP и почему в логе buy 0.00  at market   если у нас sell?  Кстати это был единственный выставленный сел-стоп ордер.

JM 0 18:33:47.190 Trades '8401418': deal #255176431 sell 32.75 USDJPY at 110.551 done (based on order #273398628)

RO 0 18:33:47.205 Trades '8401418': cancel order #273398628 buy 0.00  at market

EE 2 18:33:47.395 Trades '8401418': failed cancel order #273398628 buy 0.00  at market [Invalid request]

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