Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 575
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот мой вариант решения задачи по поиску повторений:
Для работы скрипта необходимо скопировать файл Dictionary в MQL5\Include
Непосредственный поиск выполняется в однопроходном цикле for, выделенном желтым цветом. Итоговый список не содержит повторов (если А повторяет В, а В повторяет А, то будет выведено одно множество {А, В} вместо двух {А, В} и {В, А} ).
Вывод этого скрипта показал следующее:
Из справки:
Вот мой вариант решения задачи по поиску повторений:
Прошу помощи в поиске функции по расчету стандартного RSI, требования к ней простые:
1. Возвращать значение RSI на заданном баре
2. Производить расчет показателя только для тех баров(по необходимости), которые запрошены (желательно)
3. Уметь считать по заданному ТФ
4. Работает за счет пункта 2 быстрей индикатора
Хочу интегрировать в советник функцию, если есть у кого готовая, то прошу Вас поделится.
Спрашиваю, так как индикатор очень распространен и не является тайной.
Прошу помощи в поиске функции по расчету стандартного RSI, требования к ней простые:
1. Возвращать значение RSI на заданном баре
2. Производить расчет показателя только для тех баров(по необходимости), которые запрошены (желательно)
3. Уметь считать по заданному ТФ
4. Работает за счет пункта 2 быстрей индикатора
Хочу интегрировать в советник функцию, если есть у кого готовая, то прошу Вас поделится.
Спрашиваю, так как индикатор очень распространен и не является тайной.
А чем Вас стандартная iRSI не устраивает? Недостаточно секретная?
Есть мои изменения, которые мне надо внести будет в функцию...
Возьмите тогда готовую и измените ее согласно Вашим требованиям:
Возьмите тогда готовую и измените ее согласно Вашим требованиям:
Вот мой вариант решения задачи по поиску повторений:
Василий, у меня при открытии #include <Dictionary.mqh>, открывается тоже самое, что и в теле советника. Так и должно быть? или там внутри должен быть другой еще какой-то код?
Потому что в том, коде, что я вижу, не ясно как он ищет повторы ((
Правильно я понял, что тут опечатка? должен быть 0 вместо 1.
вот так: int searchPeriod=(Search_Period<1)?0:Search_Period;
и еще дальше уже в исполняемом скрипте:
int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period())); // количество копируемых свечей
тут же по идее мы уже должны использовать переменную: searchPeriod. так?
------
Еще вопрос, что делает эта строчка? для чего нужна? Нашел, что каждый элемент структуры обнуляет. И тут я не могу понять зачем и что мы обнуляем, если мы по-идее эти данные только что записали и дальше должны использовать.
ZeroMemory(dataCandle); // Обнуляем данные в структуре
Правильно я понял, что тут опечатка? должен быть 0 вместо 1.
вот так: int searchPeriod=(Search_Period<1)?0:Search_Period;
и еще дальше уже в исполняемом скрипте:
int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period())); // количество копируемых свечей
тут же по идее мы уже должны использовать переменную: searchPeriod. так?
------
Еще вопрос, что делает эта строчка? для чего нужна? Нашел, что каждый элемент структуры обнуляет. И тут я не могу понять зачем и что мы обнуляем, если мы по-идее эти данные только что записали и дальше должны использовать.
ZeroMemory(dataCandle); // Обнуляем данные в структуре
"вот так: int searchPeriod=(Search_Period<1)?0:Search_Period;"
Нет, не так. Так у вас (дословно): если Search_Period задан пользователем в настройках меньше единицы, то searchPeriod будет равен нолю, иначе searchPeriod будет равен заданному пользователем в настройках значению Search_Period. Это же не верно. Диапазон поиска, равный нолю нам не нужен. Так вот, если этот диапазон задан пользователем 0 или меньше ноля (меньше единицы), то зададим этот диапазон, равным минимальному - единице.
"int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period())); // количество копируемых свечей
тут же по идее мы уже должны использовать переменную: searchPeriod. так? "
Да, так, опечатка вышла.
"Еще вопрос, что делает эта строчка? для чего нужна? Нашел, что каждый элемент структуры обнуляет. И тут я не могу понять зачем и что мы обнуляем, если мы по-идее эти данные только что записали и дальше должны использовать. ZeroMemory(dataCandle); // Обнуляем данные в структуре"
Мы это делаем перед заполнением структуры данными. Сначала обнуляем, а уже потом заполняем. Посмотрите - мы обнуляем перед циклом. А далее в цикле заполняем структуру данными.