Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 695
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет)помогите пожалуйста с проблемой.Разбирался я с функцией написанной в этой статье https://www.mql5.com/ru/articles/1357 .Решил проверить как открываются ордера по сигналам от этой функции, и написал простой код:
А метатрейдер выдает вот что:
Вот и не знаю что делать,то ли с котировками что- то не так ,то ли с кодом функции.
Код функции прикрепил.
Всем привет)помогите пожалуйста с проблемой.Разбирался я с функцией написанной в этой статье https://www.mql5.com/ru/articles/1357 .Решил проверить как открываются ордера по сигналам от этой функции, и написал простой код:
А метатрейдер выдает вот что:
Вот и не знаю что делать,то ли с котировками что- то не так ,то ли с кодом функции.
Код функции прикрепил.
наверное всё же не та функция в прицепе, в этой на строке 59 нет ничего с массивами, а ошибка явно выход за пределы массива, на строке 59, по второму скриншоту.
наверное всё же не та функция в прицепе, в этой на строке 59 нет ничего с массивами, а ошибка явно выход за пределы массива, на строке 59, по второму скриншоту.
неее,я там коментил просто,вот и строки сдвинулись.
Вот та что компилировал.
неее,я там коментил просто,вот и строки сдвинулись.
Вот та что компилировал.
попробуйте
попробуйте
ха!теперь одну сделку открывает и на этом тестирование заканчивается,не понимаю почему вычитаем 2?
ха!теперь одну сделку открывает и на этом тестирование заканчивается,не понимаю почему вычитаем 2?
Дальше в инклюднике ещё есть массивы, на них наверное спотыкается уже. Или всё ещё на строку 59 жалуется?
А вычитание - арифметика простая - если элементов 100, то их нумерация 0..99 (так как nBars=100, то 99 и есть тот самый ваш nBars-1), а значит вы можете в вашем алгоритме считать от 1 (сравнение с 0 и 2 барами) до 98 (сравнение с 97 и 99 барами), на 99 уже будет вылет за пределы массива.
Дальше в инклюднике ещё есть массивы, на них наверное спотыкается уже. Или всё ещё на строку 59 жалуется?
А вычитание - арифметика простая - если элементов 100, то их нумерация 0..99 (99 и есть тот самый ваш nBars-1), а значит вы можете в вашем алгоритме считать от 1 (сравнение с 0 и 2 барами) до 98 (сравнение с 97 и 99 барами), на 99 уже будет вылет за пределы массива.
так там же меньше либо равно ,т.е 99 включается.Разве не так?Во время открытия ордеров выскакивает ошибка 130.
так там же меньше либо равно ,т.е 99 включается.Разве не так?Во время открытия ордеров выскакивает ошибка 130.
вот дошли мы до i=99, это край, последний элемент. в цикле сравнение идёт
и где у нас [i+1]?
вот дошли мы до i=99, это край, последний элемент. в цикле сравнение идёт
и где у нас [i+1]?
ааа,понятно)Спасибо.
Вот теперь осталась проблема 130.
То что в справке пишут.
Цены StopLoss и TakeProfit не могут располагаться слишком близко к рынку. Минимальное расстояние стопов в пунктах можно получить, используя функцию MarketInfo() с параметром MODE_STOPLEVEL. В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS).
вот код.Разве мне нужно нормализовать стопы?
ааа,понятно)Спасибо.
Вот теперь осталась проблема 130.
То что в справке пишут.
Цены StopLoss и TakeProfit не могут располагаться слишком близко к рынку. Минимальное расстояние стопов в пунктах можно получить, используя функцию MarketInfo() с параметром MODE_STOPLEVEL. В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS).
вот код.Разве мне нужно нормализовать стопы?
в альпари стоплевел=0 но стопы на цене не принимаются, вот такие они аферисты, в лом им передавать стоплевел по нормальному. приходится расстояние 2 спреда брать вместо стоплевела.
но вобще, такие узкие стопы - пустая трата средств, слишком часто срабатывать будут.