Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2379
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Благодарю Вас за ответ, но я к сожалению, не понимаю подобную конструкцию. Как это применить к следующему "плохому коду":
Если описать то, что выше, то получится 99999 строк кода(
UPD
Если моя задача лежит в области фриланса - ничего страшного, пойму.
Если же нет, прошу подсказать
// размеры по 4-м осям
#define X 5
#define Y 5
#define Z 5
#define Q 5
// плоский массив вместо 4-х мерного
int STAT[X*Y*Z*Q];
// обращение к элементу
#define ST(x,y,x,q) STAT[(x)*Y*Z*Q+(y)*Z*Q+(z)*Q+(q)]
// инкрементируем
ST(x1,x2,x3,x4)++;
ВСЁ
Если Вас не затруднит, приведите, пожалуйста, простейший пример.
Гуглю - и не соображу, как применить. Чат тоже не понимает.
Например, график показывает фигуру 5 3 9 6 1 и какой-то результат.
Как мне обратиться в коде к этой фигуре и задать ей результат?
Это если записывать в long-значение 8 чисел со значениями от 0 до 255.
Если значения чисел меньше, и самих чисел тоже меньше, то можно записывать в переменную меньшего типа.
Если значения чисел от 0 до 15, то можно записывать их в четыре бита, а не в 8. Тогда переменная может быть ещё меньшего типа.
// размеры по 4-м осям
#define X 5
#define Y 5
#define Z 5
#define Q 5
// плоский массив вместо 4-х мерного
int STAT[X*Y*Z*Q];
// обращение к элементу
#define ST(x,y,x,q) STAT[(x)*Y*Z*Q+(y)*Z*Q+(z)*Q+(q)]
// инкрементируем
ST(x1,x2,x3,x4)++;
ВСЁ
Это если записывать в long-значение 8 чисел со значениями от 0 до 255.
Если значения чисел меньше, и самих чисел тоже меньше, то можно записывать в переменную меньшего типа.
Если значения чисел от 0 до 15, то можно записывать их в четыре бита, а не в 8. Тогда переменная может быть ещё меньшего типа.
Большое спасибо за ответы
Например, график показывает фигуру 5 3 9 6 1 и какой-то результат.
Большое спасибо за ответы
только учтите что в любом случае, как-бы вы не оптимизировали статистику,
с ростом числа измеряемых величин и их ёмкости (числу вариантов), В ЛЮБОМ СЛУЧАЕ катастрофически растёт общая размерность и потребление памяти. А потом для хеш-массивов ещё и тормоза начинаются.
постарайтесь свести задачу к 2-х или 3-х мерной.
только учтите что в любом случае, как-бы вы не оптимизировали статистику,
с ростом числа измеряемых величин и их ёмкости (числу вариантов), В ЛЮБОМ СЛУЧАЕ катастрофически растёт общая размерность и потребление памяти. А потом для хеш-массивов ещё и тормоза начинаются.
постарайтесь свести задачу к 2-х или 3-х мерной.
Спасибо
if(Ma1Buffer[i] > Ma2Buffer[i]) { }
Что нужно указать между скобками, чтобы если МА1 больше MA2, то отображался значок при пересечение на самой МА1?
Большое спасибо за ответы
Подскажите, пожалуйста, как закодировать фигуру, состоящую из 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 строк кода одних только описаний.
Хотелось бы узнать, можно ли что-то подобное провернуть, как с массивами, упрощающими подсчёт и описание.
По иксам находить фигуру. В Statist накапливать статистику.
коллеги - код во вложении. Вроде все правильно сделал на МТ 4: индикатор в доп окне в виде гистограммы - не рисуется.
Изначально беру приведение двух символов - ко второму через коэфф, потом из 1-го котировки вычитаю котировку 2-го символа.
Спс за помощь.