#define f(x) x //пробел вначале строки и перед конечным выражением#define f(x) x //стилизатор удалил пробел в начале строки. Пробел перед конечным выражением остался#define f(x) (x) //пробел вначале строки и перед конечным выражением, ЗАКЛЮЧЕННЫМ В СКОБКИ#define f(x)(x) //стилизатор удаляет не только пробел в начале строки, но и разделяющий пробел между аргументом и конечным выражением. //В итоге компилятор выдает ошибку во втором случае//'(' - unexpected in macro definition
Реальные тики М1. При отрицательном спреде в окне данных тестера (виз. режим) спред становится неправильным. Ваш сервер, 2017.10.23 01:00 и 01:01 минуты
Сделал эксперт который проверяет спред. При отрицательном спреде эксперт видит неправильный спред, - увеличенный на 1. На скриншоте -1 в эксперте, -2 на графике. При положительном спреде - в эксперте все правильно.
Спред на реальных тиках может сильно отличаться от спреда по ценам открытия. Вот пример с разницей в 39 пт. 2017.10.23 00:53 По ценам открытия:
Сделал эксперт который проверяет спред. При отрицательном спреде эксперт видит неправильный спред, - увеличенный на 1. На скриншоте -1 в эксперте, -2 на графике. При положительном спреде - в эксперте все правильно.
Уверен, что Вами допущена ошибка в коде при вычислении спреда. Если не найдете, покажите код.
а что случилось с функциями Copy... ? раньше они возвращали тайм-серию, а сейчас нет:
в принципе не сложно самому развернуть индексацию массива, но прежний код где использовал функции разворачивающие тайм-серии после Copy... наверное теперь работать не будут
а что случилось с функциями Copy... ? раньше они возвращали тайм-серию, а сейчас нет:
в принципе не сложно самому развернуть индексацию массива, но прежний код где использовал функции разворачивающие тайм-серии после Copy... наверное теперь работать не будут
Изначально так и было и в справке об этом написано.
Так кто Вам сказал, что spread-поле текущего бара равно текущему спреду или, например, минимальному?
Используйте SymbolInfoTick, бары - исторический рудимент.
CopySpread - запоминает минимальное - сказала практика, которая в большинстве случаев оказывается критерием истины. Из нее установлено, что бару 2017.10.23 01:00 CopySprea=-3, т.к. меньше при проверке по тикам не было.
Я бары назвал бы - очень нужным инструментом, позволяющим анализировать прошлое.
SymbolInfoTick - показывает правильно, но неужели из за этого нужно оставить CopySpread неправильным? Я понимаю, то 1 пт. - это мелочь, думаю, что и исправить это элементарно s=s-1. И всё )
SymbolInfoTick - показывает правильно, но неужели из за этого нужно оставить CopySpread неправильным? Я понимаю, то 1 пт. - это мелочь, думаю, что и исправить это элементарно s=s-1. И всё )
До запуска тестера посмотрите баровую историю на предмет наличия в ней отрицательного спреда. Это кривое поле ни о чем.
Если бы разработчики сегодня придумывали бы MqlRates, то там были бы нормальные поля, а не эта гадость. Но им слабо пересмотреть данную структуру, наворотили уже на ее основе всякого замечательного. Так что вот такой исторический рудимент получился. И будут лямку эту тянуть теперь все время.
CopySpread - запоминает минимальное - сказала практика, которая в большинстве случаев оказывается критерием истины. Из нее установлено, что бару 2017.10.23 01:00 CopySprea=-3, т.к. меньше при проверке по тикам не было.
Я бары назвал бы - очень нужным инструментом, позволяющим анализировать прошлое.
SymbolInfoTick - показывает правильно, но неужели из за этого нужно оставить CopySpread неправильным? Я понимаю, то 1 пт. - это мелочь, думаю, что и исправить это элементарно s=s-1. И всё )
Если быть внимательным, то можно понаблюдав за минутками увидеть, что запоминается последнее значение спреда при появлении нового бара.
Баг Стилизатора ME МТ4/МТ5
Реальные тики М1. При отрицательном спреде в окне данных тестера (виз. режим) спред становится неправильным. Ваш сервер, 2017.10.23 01:00 и 01:01 минуты
Сделал эксперт который проверяет спред. При отрицательном спреде эксперт видит неправильный спред, - увеличенный на 1. На скриншоте -1 в эксперте, -2 на графике. При положительном спреде - в эксперте все правильно.

Спред на реальных тиках может сильно отличаться от спреда по ценам открытия. Вот пример с разницей в 39 пт. 2017.10.23 00:53


По ценам открытия:
По реальным тикам:
Что то мне казалось, что должно соответствовать в обоих режимах...
Сделал эксперт который проверяет спред. При отрицательном спреде эксперт видит неправильный спред, - увеличенный на 1. На скриншоте -1 в эксперте, -2 на графике. При положительном спреде - в эксперте все правильно.
Уверен, что Вами допущена ошибка в коде при вычислении спреда. Если не найдете, покажите код.
а что случилось с функциями Copy... ? раньше они возвращали тайм-серию, а сейчас нет:

в принципе не сложно самому развернуть индексацию массива, но прежний код где использовал функции разворачивающие тайм-серии после Copy... наверное теперь работать не будута что случилось с функциями Copy... ? раньше они возвращали тайм-серию, а сейчас нет:
в принципе не сложно самому развернуть индексацию массива, но прежний код где использовал функции разворачивающие тайм-серии после Copy... наверное теперь работать не будутИзначально так и было и в справке об этом написано.
Уверен, что Вами допущена ошибка в коде при вычислении спреда. Если не найдете, покажите код.
Хм. Ну найдите )))
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnTick()
{
int s[];
CopySpread(_Symbol,_Period,0,1,s);
Print(s[0]);
}
Хм. Ну найдите )))
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnTick()
{
int s[];
CopySpread(_Symbol,_Period,0,1,s);
Print(s[0]);
}
Так кто Вам сказал, что spread-поле текущего бара равно текущему спреду или, например, минимальному?
Используйте SymbolInfoTick, бары - исторический рудимент.
Так кто Вам сказал, что spread-поле текущего бара равно текущему спреду или, например, минимальному?
Используйте SymbolInfoTick, бары - исторический рудимент.
CopySpread - запоминает минимальное - сказала практика, которая в большинстве случаев оказывается критерием истины. Из нее установлено, что бару 2017.10.23 01:00 CopySprea=-3, т.к. меньше при проверке по тикам не было.
Я бары назвал бы - очень нужным инструментом, позволяющим анализировать прошлое.
SymbolInfoTick - показывает правильно, но неужели из за этого нужно оставить CopySpread неправильным? Я понимаю, то 1 пт. - это мелочь, думаю, что и исправить это элементарно s=s-1. И всё )
SymbolInfoTick - показывает правильно, но неужели из за этого нужно оставить CopySpread неправильным? Я понимаю, то 1 пт. - это мелочь, думаю, что и исправить это элементарно s=s-1. И всё )
До запуска тестера посмотрите баровую историю на предмет наличия в ней отрицательного спреда. Это кривое поле ни о чем.
Если бы разработчики сегодня придумывали бы MqlRates, то там были бы нормальные поля, а не эта гадость. Но им слабо пересмотреть данную структуру, наворотили уже на ее основе всякого замечательного. Так что вот такой исторический рудимент получился. И будут лямку эту тянуть теперь все время.
CopySpread - запоминает минимальное - сказала практика, которая в большинстве случаев оказывается критерием истины. Из нее установлено, что бару 2017.10.23 01:00 CopySprea=-3, т.к. меньше при проверке по тикам не было.
Я бары назвал бы - очень нужным инструментом, позволяющим анализировать прошлое.
SymbolInfoTick - показывает правильно, но неужели из за этого нужно оставить CopySpread неправильным? Я понимаю, то 1 пт. - это мелочь, думаю, что и исправить это элементарно s=s-1. И всё )
Если быть внимательным, то можно понаблюдав за минутками увидеть, что запоминается последнее значение спреда при появлении нового бара.