Библиотеки: TicksShort - страница 4

 
Добрый день. Ваш скрипт ТиксШорт выдает фальсе при тестировании на тиксториевских котировках. Это возможно связано с тем что они стартуют по воскресеньям с 9 часов вечера в связи со сдвигом по часовому поясу. Также хотелось бы пример советника. Это увеличит ценность
 
Sergey Seriy #:
Ваш скрипт ТиксШорт выдает фальсе при тестировании на тиксториевских котировках.
Не понял.
 
fxsaber #:
Не понял.
Высылаю скриншот, со сработкой Фалсе на котировках Тикстори.
Файлы:
Screen1.png  110 kb
 
Sergey Seriy #:
Высылаю скриншот, со сработкой Фалсе на котировках Тикстори.

При создании кастомного символа вы не нормализовали цены. Пересоздайте с нормализацией.

 
fxsaber #:

При создании кастомного символа вы не нормализовали цены. Пересоздайте с нормализацией.

Что имеется в виду под нормализацией. Дело в том что Тикстори это лучшие котировки, дают отличные результаты в торговле в мт5 и мт4(вернее у меня это ручной перенос ордеров в Квик на ММВБ). Не ухудшит ли результат нормализация? И главный вопрос  - как ее делать, подскажите примерное направление.
 
Sergey Seriy #:
Что имеется в виду под нормализацией. Дело в том что Тикстори это лучшие котировки, дают отличные результаты в торговле в мт5 и мт4(вернее у меня это ручной перенос ордеров в Квик на ММВБ). Не ухудшит ли результат нормализация? И главный вопрос  - как ее делать, подскажите примерное направление.

Одиночный проход такого советника покажет (OnTester) количество ненормализованных тиков.

int Count = 0;

bool IsNorm( const double &Price )
{
  return(Price == NormalizeDouble(Price, 7));
}

void OnTick()
{
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick) && (!IsNorm(Tick.bid) || !IsNorm(Tick.ask)))
    Count++;
}

double OnTester() { return(Count); }

На оригинальных символах должен будет показывать ноль.


Нормализация тиков делается так.

void Normalize( double &Price )
{
  Price = NormalizeDouble(Price, 7);
}

void Normalize( MqlTick &Tick )
{
  Normalize(Tick.bid);
  Normalize(Tick.ask);  
}

void Normalize( MqlTick &Ticks[] )
{
  for (uint i = ArraySize(Ticks); (bool)i--;)
    Normalize(Ticks[i]);
}


Перед CustomTicksReplace (заполняет кастомный символ тиковыми данными) сделайте такой вызов.

Normalize(Ticks);
CustomTicksReplace(symbol, from, to, Ticks);
 
fxsaber #:

Одиночный проход такого советника покажет (OnTester) количество ненормализованных тиков.

На оригинальных символах должен будет показывать ноль.


Нормализация тиков делается так.


Перед CustomTicksReplace (заполняет кастомный символ тиковыми данными) сделайте такой вызов.

Спасибо.
 
Какова функция обновленного файла `Table.mqh`?
 
hini #:
Какова функция обновленного файла `Table.mqh`?

Здесь обсуждалось.

 
fxsaber # :

Здесь обсуждалось.

Спасибо