Обсуждение статьи "Создание и тестирование пользовательских символов в MetaTrader 5" - страница 3

 
fxsaber:

Берите 1653 (там существенные изменения по данной теме) и, если не получится, напишите здесь.


А где его взять? Даже с сайта metatrader5.com скачивается 1643?

 
bistreevseh:

А где его взять? Даже с сайта metatrader5.com скачивается 1643?

Открыть счет на Metaquotes-Demo и посмотреть логи.

 

Спасибо, установил!

2017.11.14 12:51:04.173 Ticks   old tick ARBINDEX (tick: 1970.01.01 00:00:25.934, last: 2017.11.14 11:50:09.000) 5.0000/6.0000
2017.11.14 12:51:05.198 Ticks   old tick ARBINDEX (tick: 1970.01.01 00:00:00.002, last: 2017.11.14 11:50:09.000) 5.0000/6.0000
2017.11.14 12:51:06.426 Ticks   future price ARBINDEX (tick: , last: 2017.11.14 11:49:46.000) 5.0000/6.0000/0.0000

Получилось создать пару тиков, но возникают, насколько я понял ошибки, не подскажите, что они значат? Благодарю!

 
bistreevseh:

Получилось создать пару тиков, но возникают, насколько я понял ошибки, не подскажите, что они значат? Благодарю!

Для тика нужно и время указать.

 
fxsaber:

Для тика нужно и время указать.


Об этом я тоже подумал, до того, как писать посл. сообщение.
Запускал такой код:

   MqlTick tick[];
   ArrayResize(tick, 1);
   tick[0].ask=6;
   tick[0].bid=5;
   tick[0].flags=TICK_FLAG_BID|TICK_FLAG_ASK;
   tick[0].time=TimeCurrent();
 
bistreevseh:

Об этом я тоже подумал, до того, как писать посл. сообщение.

У Вас несоответствие двух времен, делайте

tick[0].time_msc = 0;
 
Также стоит напомнить, что в 1653 есть баги с кастом-символами. Вот уже более месяца ждем билда с исправлениями. ;-/
 
Stanislav Korotky:
Также стоит напомнить, что в 1653 есть баги с кастом-символами. Вот уже более месяца ждем билда с исправлениями. ;-/
Какие баги?
 
Aidas Geguzis:
Какие баги?

Конкретно то, что находил я - не работало удаление кастом-баров и лог забивался гигами необъяснимых сообщений об ошибках.

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

 

Бесконечный рост tkc-файла при записи одних и тех же данных

void OnStart()
{
  MqlTick Ticks[];

  const string Name = "A1234";
  
  if (CustomSymbolCreate(Name) && CustomSymbolSetInteger(Name, SYMBOL_DIGITS, _Digits))
  {
    if (CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, 0, 100000) > 0)
      Print(CustomTicksReplace(Name, Ticks[0].time_msc, Ticks[ArraySize(Ticks) - 1].time_msc, Ticks));
  }
  else if (SymbolInfoInteger(Name, SYMBOL_CUSTOM) && (CopyTicksRange(Name, Ticks) > 0))
    Print(CustomTicksReplace(Name, Ticks[0].time_msc, Ticks[ArraySize(Ticks) - 1].time_msc, Ticks));
}

Каждый запуск увеличивает tkc-файл на 0.5 Mb.


CustomTicksDelete тики удаляет, но tkc-файл остается прежним. Интересно, что до и после перезагрузки чтение тиков из кастомного символа может давать разный результат.