Таймфрэймы при тестировании

 
Приветсвую всех трэйдеров.

Собственно я простой инженер-радиотехник, торгую на Форексе с переменным успехом уже достаточно давно, но в основном не с целью прибыли, а с целью автоматизации этого процесса. Понаписал кучу всего, но сейчас столкнулся с одной очень интересной проблемой.

Недавно написал индикатор. Отличные показания, почти 100 вероятность попадания, но он нехатит тестироваться на истории... Выдаёт такую чушь, что хоть плачь. Советника из-за этого тоже написать немогу. .. В реале, гонял его неделю - работает гад без сбоев.. Причём за это время по продуктивности вытеснил половину индикаторов которыми я пользовался раньше. А на тестинге нехатит...

Сам индикатор использует таймфрэймы более высокого периода чем тот, на котором установлен. Прорисовка идёт с более поздних баров к теперешним. Изменяются графики только для изменённых баров. Подскажите что не так? Грешу на неправильный пересчёт более высоких баров при тестировании... Может они просто незагружаются в историю для прогона? Причём ещё такая штука, если кидать его на график через какой то промежуток времени с одинаковыми параметрами, то и графики будут разные. ??? ваабще первый раз такое вижу. :-(

Подскажите что к чему, может кто-то сталкивался?
 
Существует несколько способов написания индикаторов использующиз данные с других таймфреймов не все они корректно работают в тестере. Могу подшаманить за так, если хотите.
 
Опубликуйте полный код индикатора в форуме - наверняка помогут.
 
Expelled писал (а):
Подскажите что к чему, может кто-то сталкивался?
А со старшего ТФ поди нулевой бар используете? И пытаетесь брать хай, лоу и клоуз? Если так, то и к бабке не ходи. Грааль на заглядывании в будущее.
 
Renat:
Опубликуйте полный код индикатора в форуме - наверняка помогут.

Мы уже и не рассчитываем на это. Осваиваем телепатические методы работы.
 
ДА, стормозил я чёт... На форумах бываю крайне редко.
выкладываю что осталось. (если неполучится я невиноватый попробую ещё раз)

Идея взята со стохастика, просто в качестве максимума-минимума используются значения фракталов с больших периодов. Значение периодов и сглаживаение выставляются в свойствах.
Файлы:
signal.mq4  6 kb
 
   for (k=i*Period()/BIG; k<=Bars; k++)
   {
Из-за таких мест проблема. Для определения номера бара другого таймфрейма, надо использовать функцию iBarShift(), с указанием в качестве времени
Time[i], тогда будет и в тестере работать.

Посомтрите здесь мой пример 'SpearmanRankCorrelation со старших ТФ'
 
KimIV:
Expelled писал (а):
Подскажите что к чему, может кто-то сталкивался?
А со старшего ТФ поди нулевой бар используете? И пытаетесь брать хай, лоу и клоуз? Если так, то и к бабке не ходи. Грааль на заглядывании в будущее.
Нулевой бар всех таймфреймов формируется абсолютно точно и никак не может позволить заглянуть в будущее.
 
Integer:
   for (k=i*Period()/BIG; k<=Bars; k++)
   {
Из-за таких мест проблема. Для определения номера бара другого таймфрейма, надо использовать функцию iBarShift(), с указанием в качестве времени
Time[i], тогда будет и в тестере работать.

Посомтрите здесь мой пример 'SpearmanRankCorrelation со старших ТФ'

Тоесть конструкция будет такая:

for (k=iBarShift(0,BIG,Time[i]); k<=Bars; k++)
{
}

И обратный переход от неё:

for (j=i; j<=iBarShift(0,Period,Time[k]); j++)
{
}

Правильно???
А какое время передаёт старший бар? Начальное?

 
А это нормально что компиляция такого варианта занимает несколько секунд?
 
for (k=iBarShift(NULL,BIG,Time[i],false);k<=iBars(NULL,BIG); k++)
   {
   }
Лучше так.

На время компиляции это не должно влиять.

Старший бар передает начальное время