Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
до сюда посмотрел и поправил , неиспользуемые переменные закомментировал
Highest(NULL,0,MODE_HIGH,NBars,0)];
В МТ4 изменили порядок аргументов.
Каким образом изменен? В словаре вроде также.
МТ3:
Highest(type,beginbar,periods)
МТ4:
int Highest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)
Обратите внимание на два последних аргумента.
sum+=MathAbs(Open[pos]-Close[pos]);
вы ведь используете Close нулевого бара - в реале, у вас его не будет
В реале будет текущая цена - она и будет Close.
Это гарантирует проблемы при тестировании, точнее, это значит,что при тестировании вам придется все проверять гораздо тщательнее...
не достигается, если раньше выход по return
Здесь можно поподробнее, выход по какому return?
Перед этой (последней) строчкой есть несколько if, которые, если удовлетворены, завершаются return'ом. И соответственно, последняя строка не достигается.
Спасибо, все исправлю на английский.
Если можно в качестве примера приведи что нибудь, не совсем понимаю что выполняют скрипты.
И за это спасибо, если не закоментированные переменные не используются, что в этом страшного?
Highest(NULL,0,MODE_HIGH,NBars,0)];
В МТ4 изменили порядок аргументов.
Каким образом изменен? В словаре вроде также.
МТ3:
Highest(type,beginbar,periods)
МТ4:
int Highest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY , int start=0)
Обратите внимание на два последних аргумента.
Я понимаю так: находит максимальный из int type(MODE_HIGH, MODE_LOW,...) за int count=WHOLE_ARRAY периодов, начиная с int start=0.
sum+=MathAbs(Open[pos]-Close[pos]);
вы ведь используете Close нулевого бара - в реале, у вас его не будет
В реале будет текущая цена - она и будет Close.
Это гарантирует проблемы при тестировании, точнее, это значит,что при тестировании вам придется все проверять гораздо тщательнее...
Исправил на Close[1]. Так верно будет?
не достигается, если раньше выход по return
Здесь можно поподробнее, выход по какому return?
Перед этой (последней) строчкой есть несколько if, которые, если удовлетворены, завершаются return'ом. И соответственно, последняя строка не достигается.
Перетащил prevtime = Time[0]; в начало кода получилось
Так правильно будет?
Скопировал код, удалил индюк с кирилицей в названии, создал новый пользовательский индикатор с английским названием, вставил текст. Индикатор вроде работает, но в Экперте при тестировании пишет Cannot open file. Что не так, не пойму, обьясните, пожалуйста кто знает.
Исправил везде, ошибка в коде индикатора. Опять рисует замечательно, но стоит вывести через коммент, получается что считает с 1 бара, на нулевом баре равно 0, хотя и нарисовано в окне индикатора, и в окне данных информация тоже есть.
1. Будем использовать наименования переменных "общепринятые" (всем будет легче разбираться, не надо изобретать велосипед)
жмем Ctrl+H и делаем в индикаторе соответствующие изменения,
теперь алгоритм расчета твоего индикатора, я внес комментарии чтобы было более понятно что делает твой код на каждом шагу, посмотри и ответь ты этого хотел?
если да, то зачем пересчитывать и менять значения для предпоследнего бара (первый проход цикла while применительно указанного по умолчанию Range?).
Ошибка в этом была, благодарен за помощь, спасибо.