..Дело в том что при тестировании стратегии значения iHigh, iLow, iClose (учитывающиеся при выставлении Лося и Профита) - вроде бы стандартных функций считаются неправильно.
Они не считаются, а просто берутся из исторических данных.... А высчитываете вы похоже индекс бара.
А вообще мне кажется Вы пытаетесь сделать сложным, то проще простого. Суть несколько строчной функции и смысл ее использования уловить даже за 5 минут ниасилил).. Может с iBarShift было бы проще? Или опишите стоящую перед Вами задачу, постараюсь хотя бы алгоритмически помочь.
Незнай...ту функцию можно в других использовать...просто задавать нужное время.
Или описать переменные в названии функции и вызывать с теми.
А есть разница? Может тут собака зарыта?
Распечатайте получаемое время, -увидите.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Парадокс!
Дело в том что при тестировании стратегии значения iHigh, iLow, iClose (учитывающиеся при выставлении Лося и Профита) - вроде бы стандартных функций считаются неправильно.
Причем начинают считаться неправильно при изменении совершенно другой функции:
int WhatBar() // Функция проверяющая является ли текущим бар с указанным временем.
// Возвращает: Да - 1, Нет - 0.
{int First=0;
int tDay=0; //День - текущий -0, Предыдущий -1...
int eHour=1; //Час формирования бара (!!!!!!!!ВО ВСЕЙ ПРОГРАММЕ МЕНЯЕТСЯ ТОЛЬКО ЭТОТ ПАРАМЕТР - 0 на 1!!!!!!!!!)
int Days=iTime(NULL,PERIOD_D1,tDay);
int Hours=eHour*3600;
int time=Days+Hours;
if (Time[0] == time)
First=1;
return(First);
}
Стоит только изменить значение определяющее бар с открытием в 01:00 на бар с открытием в 00:00 тут же значения лося и профита считаются верно.
Функции вышеописанная и использующая значение iHigh, iLow, iClose никак друг с другом не контактируют! Ни-как. Одна исполняющая, другая информационная и не используют глобальных переменных и т.п.
Да пусть функции...значение которое берется тупо из индикатора функцией iCustom при изменении вышеописанной функции,так же меняется!
Ей богу! Ставил после каждого вычисления Alert с значением и выдается не то что показывает индикатор при визуализации (правда сначала индюк показывает не совсем то что нужно а если его удалить и поставить на место показывается нормально...но если вычислять те же значения по тем же формулам в советнике с использованием iHigh, iLow, iClose (Pivot Point) - результат тоже съезжает)
Помогите! Может у кого то было такое расхождение при тестировании!!!