Недавно обнаружил в интернете индикатор,который раньше мне не встречался.С оригинальным обозначением TTTT.mq4 поставил его на графики некоторых пар и обнаружил, что он в принципе достаточно точно описывает ситуацию,например по паре EUR/USD за последние 10 месяцев и вроде бы дает процентов на 80 верные сигналы на покупку-продажу(по стрелкам или по возврату в канал),особенно на таймфрейме D1 , если конечно не перерисовывается.Набросал для него несложный советник.
Но индикатор оказался не так прост.как казалось на первый взгляд.И если советник,получающий от него данные с помощью iCustom() например по строке: double Ind_MD_1 = iCustom(NULL,0,"TTTTT",0,1); и установленный на текущий график пары, дает точные значения верхней,нижней,средней кривых и ординат стрелок на любом указанном в iCustom() баре, хоть первом, хоть 101-м (это видно в окошке Алерта на первом скрине), то при попытке прогона советника в тестере начинается черте что.На первых двух барах указанного в тестере периода еще извлекаются какие-то значения но только для средней кривой , а на следующих барах у нее нули. Данные же по значениям верхней и нижней кривых получить невозможно .В журнале тестера(второй скрин) по каждому бару вместо ценового значения кривой пишется десятизначная цифра (не помню что это то-ли количество баров,то-ли просто время прошедшее с какой-то даты какого-то 1970 что-ли года). В журнале при загрузке советника появляется запись-предупреждение:" TTTTT EURUSD,Daily: array out of range in 'TTTTT.mq4' (137,15)".Может в этом причина? Два скрина ,иллюстрирующих ситуацию,прилагаю. В них Ind_MD_1,Ind_UP_1,Ind_DN_1 - значения средней,верхней и нижней кривой соответственно на первом баре, AR_UP_1 и AR_DN_1 - ординаты верхней и нижней стрелок так же на первом баре(если они там есть). В принципе интуитивно понятно,что данные ценовых значений кривых в истории есть и где то хранятся, ведь во-первых индикатор чертит канал на графике,во-вторых iCustom() без проблем получает данные кривых на текущем графике на любом баре. Понятно,что индикатор перерисовывается ,но какие-то значения должны же быть в истории,чтобы можно было прогнать советник в тестере, что бы просто проверить правильность действия критериев и команд на куплю-продажу ,заложенных в советнике.
Помогите пожалуйста разобраться в чем дело и какие нужны изменения в коде индикатора,чтобы можно было получать данные не только на текущем графике но и в тестере. Исходник индикатора нашел в интернете и прилагаю.
Недавно обнаружил в интернете индикатор,который раньше мне не встречался.С оригинальным обозначением TTTT.mq4 поставил его на графики некоторых пар и обнаружил, что он в принципе достаточно точно описывает ситуацию,например по паре EUR/USD за последние 10 месяцев и вроде бы дает процентов на 80 верные сигналы на покупку-продажу(по стрелкам или по возврату в канал),особенно на таймфрейме D1 , если конечно не перерисовывается.Набросал для него несложный советник.
[attachment=3]eurusd-d1.png[/attachment]
Но индикатор оказался не так прост.как казалось на первый взгляд.И если советник,получающий от него данные с помощью iCustom() например по строке: double Ind_MD_1 = iCustom(NULL,0,"TTTTT",0,1); и установленный на текущий график пары, дает точные значения верхней,нижней,средней кривых и ординат стрелок на любом указанном в iCustom() баре, хоть первом, хоть 101-м (это видно в окошке Алерта на первом скрине), то при попытке прогона советника в тестере начинается черте что.На первых двух барах указанного в тестере периода еще извлекаются какие-то значения но только для средней кривой , а на следующих барах у нее нули. Данные же по значениям верхней и нижней кривых получить невозможно .В журнале тестера(второй скрин) по каждому бару вместо ценового значения кривой пишется десятизначная цифра (не помню что это то-ли количество баров,то-ли просто время прошедшее с какой-то даты какого-то 1970 что-ли года). В журнале при загрузке советника появляется запись-предупреждение:" TTTTT EURUSD,Daily: array out of range in 'TTTTT.mq4' (137,15)".Может в этом причина? Два скрина ,иллюстрирующих ситуацию,прилагаю. В них Ind_MD_1,Ind_UP_1,Ind_DN_1 - значения средней,верхней и нижней кривой соответственно на первом баре, AR_UP_1 и AR_DN_1 - ординаты верхней и нижней стрелок так же на первом баре(если они там есть). В принципе интуитивно понятно,что данные ценовых значений кривых в истории есть и где то хранятся, ведь во-первых индикатор чертит канал на графике,во-вторых iCustom() без проблем получает данные кривых на текущем графике на любом баре. Понятно,что индикатор перерисовывается ,но какие-то значения должны же быть в истории,чтобы можно было прогнать советник в тестере, что бы просто проверить правильность действия критериев и команд на куплю-продажу ,заложенных в советнике.
Помогите пожалуйста разобраться в чем дело и какие нужны изменения в коде индикатора,чтобы можно было получать данные не только на текущем графике но и в тестере. Исходник индикатора нашел в интернете и прилагаю.
[attachment=2]eurusd-d1-3.png[/attachment]
[attachment=1]eurusd-d1-5.png[/attachment]
[attachment=0]TTTTT.mq4[/attachment]