Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2378
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Т.е. ' ChartGetDouble(chart_ID,CHART_PRICE_MIN ..)' вернет минимальное значение цены на шкале графика, его нужно будет прибавить к минимальному значению объемов, в данном случае к нулю. Но все объемы придется перерисовывать по мере изменения значения ' ChartGetDouble(chart_ID,CHART_PRICE_MIN,..) '. Соответственно, если вручную изменять масштаб графика, то также объемы должны будут перерисовываться. Все верно?
На каждом тике будет выравнивать, если масштаб изменился
Спасибо!
4 числа я понимаю как - использовать 4-мерный массив. Допустим, на графике фигура 4 2 7 9, тогда array[4, 5, 7, 9] = N (какой-то статистический результат).
И в конце там смотришь, что вышло.
Но, 5-мерных массивов не существует. А нужно собрать статистику 5-числовых, 6-числовых и так далее.
Я понимаю, можно их вручную прописать "if (x1 == 4 && x2 == 2 &&......) array[4, 5, 7, 9] = N;,
Но так у меня выйдёт 1500 строк кода одних только описаний.
Хотелось бы узнать, можно ли что-то подобное провернуть, как с массивами, упрощающими подсчёт и описание.
Подскажите, пожалуйста, как закодировать фигуру, состоящую из 5 чисел (множество их комбинаций), чтобы собрать статистику её срабатывания?
4 числа я понимаю как - использовать 4-мерный массив. Допустим, на графике фигура 4 2 7 9, тогда array[4, 5, 7, 9] = N (какой-то статистический результат).
Но, 5-мерных массивов не существует. А нужно собрать статистику 5-числовых, 6-числовых и так далее.
Я понимаю, можно их вручную прописать "if (x1 == 4 && x2 == 2 &&......) array[4, 5, 7, 9] = N;,
Но так у меня выйдёт 1500 строк кода одних только описаний.
Хотелось бы узнать, можно ли что-то подобное провернуть, как с массивами, упрощающими подсчёт и описание.
Подскажите, пожалуйста, как закодировать фигуру, состоящую из 5 чисел (множество их комбинаций), чтобы собрать статистику её срабатывания?
Посмотрите в сторону ассоциативных массивов (словарей). В качестве ключа можно использовать строку, полученную из ваших пяти чисел, разделённых пробелом или любым нецифровым символом. В MQL5 есть реализация этого контейнера, но работать с ней не так удобно, как в других языках, к сожалению.
Код может быть примерно таким:
Код не компилировал, возможны неточности.
Битовая маска
Если Вас не затруднит, приведите, пожалуйста, простейший пример.
Гуглю - и не соображу, как применить. Чат тоже не понимает.
Например, график показывает фигуру 5 3 9 6 1 и какой-то результат.
Как мне обратиться в коде к этой фигуре и задать ей результат?
Посмотрите в сторону ассоциативных массивов (словарей). В качестве ключа можно использовать строку, полученную из ваших пяти чисел, разделённых пробелом или любым нецифровым символом. В MQL5 есть реализация этого контейнера, но работать с ней не так удобно, как в других языках, к сожалению.
Код может быть примерно таким:
Код не компилировал, возможны неточности.
Вот только ответил Артёму, чат мне тоже что-то про хеши пишет, но не понимаю, что.
Попробую сообразить Ваш код, благодарю за ответ.
Подскажите, пожалуйста, как закодировать фигуру, состоящую из 5 чисел (множество их комбинаций), чтобы собрать статистику её срабатывания?
4 числа я понимаю как - использовать 4-мерный массив. Допустим, на графике фигура 4 2 7 9, тогда array[4, 5, 7, 9] = N (какой-то статистический результат).
И в конце там смотришь, что вышло.
Но, 5-мерных массивов не существует. А нужно собрать статистику 5-числовых, 6-числовых и так далее.
Я понимаю, можно их вручную прописать "if (x1 == 4 && x2 == 2 &&......) array[4, 5, 7, 9] = N;,
Но так у меня выйдёт 1500 строк кода одних только описаний.
Хотелось бы узнать, можно ли что-то подобное провернуть, как с массивами, упрощающими подсчёт и описание.
нравятся массивы, сделайте плоский массив : DIM[x][y][z][q]:=:FLAT[x*Y*Z*Q+y*Z*Q+z*Q+q] где большими буквами X Y Z Q величины размерностей (x принимает значения 0..X-1 всего X вариантов, y 0..Y-1 и так далее), полный размер массива X*Y*Z*Q
с индексами вроде-бы ненапутал :-)
нравятся массивы, сделайте плоский массив : DIM[x][y][z][q]:=:FLAT[x*Y*Z*Q+y*Z*Q+z*Q+q] где большими буквами X Y Z Q величины размерностей (x принимает значения 0..X-1 всего X вариантов, y 0..Y-1 и так далее), полный размер массива X*Y*Z*Q
с индексами вроде-бы ненапутал :-)
Благодарю Вас за ответ, но я к сожалению, не понимаю подобную конструкцию. Как это применить к следующему "плохому коду":
Если описать то, что выше, то получится 99999 строк кода(
UPD
Если моя задача лежит в области фриланса - ничего страшного, пойму.
Если же нет, прошу подсказать