Здравствуйте. Пишу мультитаймфреймный эксперт. Нужна помощь в написании одной интересной функции, а то я совсем запутался. В-общем есть массив с дневными данными ForLastSignalType_D1[] и массив с часовыми данными ForLastSignalType_H1[] в них содержатся значения 0 1 2 3 4 5 6 соответственно в разнобой (что то вроде типа свечи). Каждая ячейка массива соответствует номеру свечи на графике. Нужно выполнить непростое условие. Проверяем дневной массив от 0 до количества баров на дневном графике, и как только находим ячейку со значением 6(например 25-ая ячейка), тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка), если есть то в часовом массиве от ячейки с номером (22*24) ищем есть ли ячейка со значением 6, и есть ли от этой ячейки до 0 ячейка со значением 3. Если есть присваем номер ячейки в часовом массиве со значением 3 переменной Checker_D1_Bear и прекращаем поиск. Если хотя бы одно условие из серии не выполняется, то начинаем в дневном массиве дальше искать значение 6 и заново проверять младшие условия. Буду рад любой помощи, заранее благодарю.. Пробовал вот так, но не то пальто.. Уже сломал весь мозг..
Магия с тремя шестерками ... Уже и это в ход пошло ...
Магия с тремя шестерками ... Уже и это в ход пошло ...
за этими 6-ками кроется другая магия :)
Здравствуйте. Пишу мультитаймфреймный эксперт. Нужна помощь в написании одной интересной функции, а то я совсем запутался. В-общем есть массив с дневными данными ForLastSignalType_D1[] и массив с часовыми данными ForLastSignalType_H1[] в них содержатся значения 0 1 2 3 4 5 6 соответственно в разнобой (что то вроде типа свечи). Каждая ячейка массива соответствует номеру свечи на графике. Нужно выполнить непростое условие. Проверяем дневной массив от 0 до количества баров на дневном графике, и как только находим ячейку со значением 6(например 25-ая ячейка), тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка), если есть то в часовом массиве от ячейки с номером (22*24) ищем есть ли ячейка со значением 6, и есть ли от этой ячейки до 0 ячейка со значением 3. Если есть присваем номер ячейки в часовом массиве со значением 3 переменной Checker_D1_Bear и прекращаем поиск. Если хотя бы одно условие из серии не выполняется, то начинаем в дневном массиве дальше искать значение 6 и заново проверять младшие условия. Буду рад любой помощи, заранее благодарю.. Пробовал вот так, но не то пальто.. Уже сломал весь мозг..
Я бы помог но думаю Ты мудришь слишком ... если бы конкретно сказал про условия страты... Я помог бы его сделать...
Во первых : "...тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка), ..." это в ком.. в нем?? в дневном баре "внутри" то есть на часовом ТМ или как??
Во вторых "... дневном графике, и как только находим ячейку со значением 6(например 25-ая ячейка), тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка) ..." - не проще ли сразу искать 3 а потом уже 6?? и почему только эти два числа??
многообразие на рынках стремится к бесконечности.. т.е. каждый бар почти уникален...
Я бы сделал все гораздо проще если бы вообще понимал чего Ты хочешь)))
Я бы помог но думаю Ты мудришь слишком ... если бы конкретно сказал про условия страты... Я помог бы его сделать...
Во первых : "...тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка), ..." это в ком.. в нем?? в дневном баре "внутри" то есть на часовом ТМ или как??
Во вторых "... дневном графике, и как только находим ячейку со значением 6(например 25-ая ячейка), тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка) ..." - не проще ли сразу искать 3 а потом уже 6?? и почему только эти два числа??
многообразие на рынках стремится к бесконечности.. т.е. каждый бар почти уникален...
Я бы сделал все гораздо проще если бы вообще понимал чего Ты хочешь)))
спасибо за ответ :) тайна стратегии за 7 печатями ) я уже придумал, все прекрасно работает.. просто немного кипнул вчера :) вопрос снимается
Столько однотипных вложенных циклов, проще вынести поиск по массиву в отдельную функцию.
template <typename T> int SearchByArray(const T value, const T &arr[]) { //--- for(int i=0;i<ArraySize(arr);i++) if(arr[i]==value)return(i); //--- return(-1); }
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Пишу мультитаймфреймный эксперт. Нужна помощь в написании одной интересной функции, а то я совсем запутался. В-общем есть массив с дневными данными ForLastSignalType_D1[] и массив с часовыми данными ForLastSignalType_H1[] в них содержатся значения 0 1 2 3 4 5 6 соответственно в разнобой (что то вроде типа свечи). Каждая ячейка массива соответствует номеру свечи на графике. Нужно выполнить непростое условие. Проверяем дневной массив от 0 до количества баров на дневном графике, и как только находим ячейку со значением 6(например 25-ая ячейка), тут же в нем проверяем есть ли после него ближе к 0 ячейка со значением 3 (например 22-ая ячейка), если есть то в часовом массиве от ячейки с номером (22*24) ищем есть ли ячейка со значением 6, и есть ли от этой ячейки до 0 ячейка со значением 3. Если есть присваем номер ячейки в часовом массиве со значением 3 переменной Checker_D1_Bear и прекращаем поиск. Если хотя бы одно условие из серии не выполняется, то начинаем в дневном массиве дальше искать значение 6 и заново проверять младшие условия. Буду рад любой помощи, заранее благодарю.. Пробовал вот так, но не то пальто.. Уже сломал весь мозг..