Пользовательские символы. Ошибки, баги, вопросы, предложения. - страница 24

 
Пожалуйста, кто-нибудь может мне помочь с этим: https://www.mql5.com/ru/forum/328061
 

Баг 26.


Создал пользовательский символ с тиковой и баровой историей.

Через CTRL+U поменял значение свойства "Цена тика".

Тиковая и баровая история у символа пропала. При этом bases\Custom\ все содержит. Перезагрузка Терминала не помогает.

 
Через CTRL+U поменял значение свойства "Цена тика".

Примечание

Минутная и тиковая история пользовательского символа полностью удаляется, если в спецификации символа изменить любое из этих свойств:

  • SYMBOL_POINT – значение одного пункта
  • SYMBOL_TRADE_TICK_SIZE – значение одного тика, которое задает минимальное допустимое изменение цены
  • SYMBOL_TRADE_TICK_VALUE – стоимость изменения цены в один тик для прибыльной позиции
Документация по MQL5: Пользовательские символы / CustomSymbolSetDouble
Документация по MQL5: Пользовательские символы / CustomSymbolSetDouble
  • www.mql5.com
После удаления истории пользовательского символа терминал попытается создать новую историю с использованием обновленных свойств. То же самое происходит и при ручном изменении свойств пользовательского символа.
 
Пожалуйста, кто-нибудь поделится своим мнением по этому вопросу: https://www.mql5.com/ru/forum/329680
Как установить комиссию для пользовательского символа?
Как установить комиссию для пользовательского символа?
  • 2020.01.03
  • www.mql5.com
Это спецификация символа EURUSD ICMarket, в которой указаны сборы: Когда я пытаюсь использовать Custom Symbol и копировать все из исходного символ...
 

При использовании пользовательского символа диаграмма не обновляется должным образом. И из-за этого я не могу поймать отметки на графике.

Чтобы обновить график, я должен написать индикатор с помощью OnTimer (), а внутри него - сдвинуть и переместить график.

Но это не очень хороший подход.

Пожалуйста, сделайте то, что обновит график автоматически

 
jaffer wilson :

При использовании пользовательского символа диаграмма не обновляется должным образом. И из-за этого я не могу поймать отметки на графике.

Чтобы обновить график, я должен написать индикатор с помощью OnTimer (), а внутри него - сдвинуть и переместить график.

Но это не очень хороший подход.

Пожалуйста, сделайте то, что обновит график автоматически

Любые обновления, пожалуйста, поделитесь чем-нибудь?

 
jaffer wilson:

При использовании пользовательского символа диаграмма не обновляется должным образом. И из-за этого я не могу поймать отметки на графике.

Чтобы обновить график, я должен написать индикатор с помощью OnTimer (), а внутри него - сдвинуть и переместить график.

Но это не очень хороший подход.

Пожалуйста, сделайте то, что обновит график автоматически

Принимайте и обрабатывайте тики в OnTimer ()

 
Roman :

Принимайте и обрабатывайте тики в OnTimer ()

Я попробовал это. Но это что-то связанное с самим OnTimer (). Вы знаете, что есть другие требования, которые я пытаюсь обработать OnTimer (). Даже обычный OnTimer () работает как OnTick (). Вы можете убедиться сами.

 
jaffer wilson:

Я попробовал это. Но это что-то связанное с самим OnTimer ().
Вы знаете, что есть другие требования, которые я пытаюсь обработать OnTimer ().
Даже обычный OnTimer () работает как OnTick ().
Вы можете убедиться сами.

OnTimer() не работает как OnTick()
Но проверил, подтверждаю, что есть задержка на несколько миллисекунд.  
Это можно увидеть в комменте, как приостанавливается счётчик, вероятно в момент пришедшего тика.
т.е. когда срабатывает обработчик OnTick() иногда блокируется обработчик OnTimer()

Добавлено.
Если закомментировать обработчик OnTick(), задержка OnTimer() не исчезает.

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   //create timer
   EventSetMillisecondTimer(20);

   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   //destroy timer
   EventKillTimer();
   
   Comment("");
}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{


}

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
{
   Comment(GetTickCount());

}
//+------------------------------------------------------------------+
 
Roman :

OnTimer() не работает как OnTick()
Но проверил, подтверждаю, что есть задержка на несколько миллисекунд.  
Это можно увидеть в комменте, как приостанавливается счётчик, вероятно в момент пришедшего тика.
т.е. когда срабатывает обработчик OnTick() иногда блокируется обработчик OnTimer()

Добавлено.
Если закомментировать обработчик OnTick(), задержка OnTimer() не исчезает.

Это не работает на моей стороне.

Это мои подробности версии MT5.

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