Существует несколько способов написания индикаторов использующиз данные с других таймфреймов не все они корректно работают в тестере. Могу подшаманить за так, если хотите.
Опубликуйте полный код индикатора в форуме - наверняка помогут.
Renat:
Опубликуйте полный код индикатора в форуме - наверняка помогут.
Опубликуйте полный код индикатора в форуме - наверняка помогут.
Мы уже и не рассчитываем на это. Осваиваем телепатические методы работы.
ДА, стормозил я чёт... На форумах бываю крайне редко.
выкладываю что осталось. (если неполучится я невиноватый попробую ещё раз)
Идея взята со стохастика, просто в качестве максимума-минимума используются значения фракталов с больших периодов. Значение периодов и сглаживаение выставляются в свойствах.
выкладываю что осталось. (если неполучится я невиноватый попробую ещё раз)
Идея взята со стохастика, просто в качестве максимума-минимума используются значения фракталов с больших периодов. Значение периодов и сглаживаение выставляются в свойствах.
Файлы:
signal.mq4
6 kb
for (k=i*Period()/BIG; k<=Bars; k++) {Из-за таких мест проблема. Для определения номера бара другого таймфрейма, надо использовать функцию iBarShift(), с указанием в качестве времени
Time[i], тогда будет и в тестере работать.
Посомтрите здесь мой пример 'SpearmanRankCorrelation со старших ТФ'
Нулевой бар всех таймфреймов формируется абсолютно точно и
никак не может позволить заглянуть в будущее.
Integer:
Time[i], тогда будет и в тестере работать.
Посомтрите здесь мой пример 'SpearmanRankCorrelation со старших ТФ'
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++) { }Лучше так.
На время компиляции это не должно влиять.
Старший бар передает начальное время
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Собственно я простой инженер-радиотехник, торгую на Форексе с переменным успехом уже достаточно давно, но в основном не с целью прибыли, а с целью автоматизации этого процесса. Понаписал кучу всего, но сейчас столкнулся с одной очень интересной проблемой.
Недавно написал индикатор. Отличные показания, почти 100 вероятность попадания, но он нехатит тестироваться на истории... Выдаёт такую чушь, что хоть плачь. Советника из-за этого тоже написать немогу. .. В реале, гонял его неделю - работает гад без сбоев.. Причём за это время по продуктивности вытеснил половину индикаторов которыми я пользовался раньше. А на тестинге нехатит...
Сам индикатор использует таймфрэймы более высокого периода чем тот, на котором установлен. Прорисовка идёт с более поздних баров к теперешним. Изменяются графики только для изменённых баров. Подскажите что не так? Грешу на неправильный пересчёт более высоких баров при тестировании... Может они просто незагружаются в историю для прогона? Причём ещё такая штука, если кидать его на график через какой то промежуток времени с одинаковыми параметрами, то и графики будут разные. ??? ваабще первый раз такое вижу. :-(
Подскажите что к чему, может кто-то сталкивался?