Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1427

 
Aleksei Stepanenko:

Так я ничего другого не написал, просто повторил Ваш код.

Визуально расположил числа неправильно, и Вы подумали, что это то что нужно.

Скорее всего Вам нужно циклом присвоить 0.5555 вместо ArrayFill. Попробуйте.

Спасибо. Надеюсь быстро усвоить новую для меня информацию. 

 
не за что, главное чтобы заработало :)
 
Aleksei Stepanenko:
не за что, главное чтобы заработало :)
Хотел только уточнить такой момент.... возможно цикл вместо  ArrayFill() будет тормозить работу программы, особенно если данных в массиве много и если диапазон перебора будет большим, и если цикл будет работать не с одним массивом . Несколькими постами выше в этой ветке  Maxim Kuznetsov сказал ,что есть какой то оптимальный алгоритм преобразующий LoY[2][31] в LoY[31][2]. Может быть этот алгоритм не будет тормозить работу программы как цикл, или будет тормозить , но в меньшей степени. Если Вы знакомы с этим алгоритмом буду Вам признателен если выскажете свое отношение к нему с точки зрения того что мне нужно и может быть даже продемонстрируете его в моем коде.
Еше раз большое спасибо за информационную поддержку.
 
ANDREY:
возможно цикл вместо  ArrayFill() будет тормозить работу программы

На любой код расходуются ресурсы. Что ArrayFill, что заполнение циклом - затраты примерно одинаковые.

Но сортировка, или полное переписывание массива стоят времени. Поэтому лучше находить другие решения, например, продумать хранение и подготовку данных, делать предварительные расчёты ну и другие варианты.

 
Aleksei Stepanenko:

На любой код расходуются ресурсы. Что ArrayFill, что заполнение циклом - затраты примерно одинаковые.

Но сортировка, или полное переписывание массива стоят времени. Поэтому лучше находить другие решения, например, подготовка данных, предварительные расчёты ну и другие варианты.

Понял. Спасибо.

 
В Вашем случае, интересен ответ на главный вопрос: Почему необходимо делать сортировку каждую минуту? Как можно реализовать Вашу идею более экономичным способом?
 
ANDREY:

Понял. Спасибо.

Простите, что встреваю, может быть сортировка и не нужна? Может быть определять только максимальное (минимальное) значение?

 

В документации к одному из языков очень хорошо и детально всё расписано, трудозатратно конечно, но помогает программистам

---

Менее затратным будет правильно составить в начале заполнения и по возможности стараться не баловаться с массивом в пяти коленях: заполнил, сортировал, добавил, сортировал и снова дополнил.

По возможности избегать лишних действий.

---

В mql есть такая функция: StringConcatenate, она супер дорогая , но её по причине присутствия в языке используют, хотя её можно запросто избежать и писать "лёгкие" коды.

 
Luchezar Shalomaev:

Простите, что встреваю, может быть сортировка и не нужна? Может быть определять только максимальное (минимальное) значение?

Спасибо за участие. Нужна именно сортировка.... по крайней мере на данном этапе понимания мною моего замысла. Возможно позже у меня наступит переосмысление и я буду искать какие то альтернативы сортировки. По поводу минимума и максимума я уже знаю что есть функции которые их определяют и что это менее затратно.

 
Vitaly Muzichenko:

В документации к одному из языков очень хорошо и детально всё расписано, трудозатратно конечно, но помогает программистам

---

Менее затратным будет правильно составить в начале заполнения и по возможности стараться не баловаться с массивом в пяти коленях: заполнил, сортировал, добавил, сортировал и снова дополнил.

По возможности избегать лишних действий.

---

В mql есть такая функция: StringConcatenate, она супер дорогая , но её по причине присутствия в языке используют, хотя её можно запросто избежать и писать "лёгкие" коды.

Общую идею понял...как мне кажется. Спасибо за подсказку. Если не сложно подскажите что означает знак доллара перед названием массива $ array[]  и перед  значением   $var Мне почему то кажется, что это вообще  не из mql.

Причина обращения: