Проблеммы при тестировании - страница 4

 
Вот я утверждаю, что индикатор некорректен. Давай опровергнем меня - для этого дай определение корректного индикатора (любого, а не именно этого). Каким требованиям он должен отвечать?


Их величествам - фактам, расчетным данным.
Я смотрю у тебя философское настоение никак?
 
ANG3110, к сожалению, Вы слабо восприимчивы к доводам тех, кто долгое время занимается MQL4 и Метатрейдером. Явное указание на проблемы с Вашим индикатором Вы игнорируете. Но при этом упорно требуете чтобы кто-то другой проверял Ваш код, а Вам оставил время на написание претензий и выдачу советов.
 
Что есть факты, расчетные данные?
 
ANG3110, индикатор, который рисует на истории и в реале разные картинки - это неправильный индикатор! Совпадение должно быть 100%, а у вас все новые бары отрисовываются НЕПРАВИЛЬНО. И тестер рисует их НЕПРАВИЛЬНО. И не в тестере дело, а в индикаторе.
Удачи ;)
 
ANG3110, индикатор, который рисует на истории и в реале разные картинки - это неправильный индикатор! Совпадение должно быть 100%, а у вас все новые бары отрисовываются НЕПРАВИЛЬНО. И тестер рисует их НЕПРАВИЛЬНО. И не в тестере дело, а в индикаторе.
Удачи ;)


Ага! Спасибо друг! Это очень по делу. Посмотрел,- вижу что так. Предполагаю аз-за 2-х массивов, что смещают данные на каждом баре. Как сделать, чтобы данные массивов, тоже передвигались? Кажется из - за этого да?

А разработчики - поймите меня правильно, если у человека, что-то не получается и он застрял, то начинает ругаться. Я простой обычный человек в этом смысле. Ладно, как данные массивов передвигать? В Омеге-то они передвигаются автоматически.

С уважением - Александр.
 
Дело не в массивах, обрати внимание, что я в твой код добавил несколько строк:
Print("i=",i);
for (n=0; n<=p-1; n++) //7
{
sx=sx+i+n;
sy=sy+Close[i+n];
sxy=sxy+(i+n)*Close[i+n];
sx2=sx2+MathPow(i+n,2);
}//7
Print("n=",n);
aa=(sx*sy-p*sxy)/(MathPow(sx,2)-p*sx2);
bb=(sy-aa*sx)/p;
lr[i]=bb+aa*i;
}//8
if (i<Bars-p-pma-1) //6
{
sum=0.0;
for (n=0; n<=pma-1; n++) //5
{
Print("n2=",n);
sum+=lr[i+n];
}//5


Вставь мою версию Print() или добавь у себя, откомпилируй и повесь у себя в онлайн. Понаблюдай. Ты должен сделать некоторые выводы, лучше, если сам дойдешь.
PS. Когда я ковырял МТ4, хелпа практически не было, до всего доходил сам, ленивый я мануал читать :)
 

Вставь мою версию Print() или добавь у себя, откомпилируй и повесь у себя в онлайн. Понаблюдай. Ты должен сделать некоторые выводы, лучше, если сам дойдешь.


Вставил, понаблюдал, - данные переменных вроде правильные.
 
Уточню. Из моего опыта и понимания (не претендую на абсолютную точность).
Бывают индикаторы неоптимизированные. Эти гады жрут все ресурсы процессора на каждом тике. Засовывать такие в тестер - вредно для нервов того, кто тестирует.
Частный случай таких индикаторов - расчет на конкретном количестве баров - этотоже плохо.
Бывают индикаторы пережатые - эти работают только на первом тике каждого нового бара. Их заосвывать в тестер можно, но бесполезно, по причины их лживости.
И бывают индикаторы корректные (читай валидные).
К какому типу относится твой?
 
Я пас. Сожалею.

Что такое? Да будь проще. Что ты там увидел?
Мне кажется все-таки что из-за массивов, - думаю сейчас как проверить.
 
Уточню. Из моего опята и понимания (не претендую на абсолютную точность).
Бывают индикаторы неоптимизированные. Эти гады друт все ресурсы процессора на каждом тике. Засовывать такие в тестер - вредно для нервов того, кто тестирует.
Частный случай таких индикаторов - расчет на конкретном количестве баров - этотоже плохо.
Бывают индикаторы пережатые - эти работают только на первом тике каждого нового бара. Их заосвывать в тестер можно, но бесполезно, по причины их лживости.
И бывают индикаторы корректные (читай валидные).
К какому типу относится твой?


Когда он не выдал правильных данных при тестировании, я специально для проверки, сделал, чтобы он работал только на первом тике cbi=Bars-IndicatorCounted()-2; а до этого было cbi=Bars-IndicatorCounted()-1;
и он должен работать на каждом тике, - изменить - это 2 сек. Да я уже менял. Нет мне кажется - массивы.
Причина обращения: