Пожелания к MQL5 - страница 4

 
drknn:
Integer:
drknn:
Ну, у меня скромное предложение. Предлагаю ввести в язык функцию, которая будет возвращать номер ячейки массива, в которой лежит заданная величина (или в случае неуспеха возвращать минус единицу). А то приходится каждый раз организовывать цикл. Функция ArrayBsearch() - не подходит - возвращает не то, что нужно.

Значение вернутое этой функцией всеравно будете проверять на равенство -1, поэтому можно проверирить значение с индексом вернутым ArrayBsearch на равенство искомому значению. Не большая разница

Цитирую справку.

int ArrayBsearch(...)
Возвращает индекс первого найденного элемента в первом измерении массива.
Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего элемента (по значению).

Ну так вот, когда ищешь в массиве индекс не просто числа, а тикета ордера, то эта функция не подходит совсем - ну зачем мне индекс ближайшего похожего тикета, когда мне нужен именно вот такой тикет, и если его нет, то и ордера уже среди рыночных нет - он закрыт и его надо искать в истории! Когда работаешь с синхронно сдвигаемыми массивами, индекс - штука весьма существенная, и он должен быть либо точным, либо отсутствовать.



Еще раз прочитайте что я вам написал

"Значение вернутое этой функцией всеравно будете проверять на равенство -1, поэтому можно проверирить значение с индексом вернутым ArrayBsearch на равенство искомому значению. Не большая разница"

Нашли ближайший тикет, сравнили его с тем тикетом который искали, если не равен, значит его нет в массиве.

 
Integer:

Еще раз прочитайте что я вам написал

 

"Значение вернутое этой функцией всеравно будете проверять на равенство -1, поэтому можно проверирить значение с индексом вернутым ArrayBsearch на равенство искомому значению. Не большая разница"

Нашли ближайший тикет, сравнили его с тем тикетом который искали, если не равен, значит его нет в массиве. 

Блин, ну зачем же ходить всё время в обход? Покажите мно нотрмальный язык программирования, в котором нет функции, возвращающей индекс требуемого элемента массива. Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.

Недостатков в языке MQL4 - масса. Гибкость у этого языка - ни какая. Давайте бдем прислушиваться к надобностям и экономить програмный код советника. А? Или разработчикам наплевать на всех кроме себя самих?

 
drknn:

Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.

В MQL4 массив легко передается в подпрограммы и также легко принимается.
Недостатков в языке MQL4 - масса. Гибкость у этого языка - ни какая. Давайте бдем прислушиваться к надобностям и экономить програмный код советника. А? Или разработчикам наплевать на всех кроме себя самих?
Да, недостатки известны. Вроде же из разработчиков ни слова против не сказал? Мы давно уже работаем над языком MQL5.
 
drknn, посмотри тут: https://docs.mql4.com/ru/basis/variables/formal . Там о передаче массивов как раз есть.
 
xenon13:

При всем уважении к MQL4 - пока лучшее что есть из МТС на рынке, очень не хватает следующих вещей:

1. API или возможноть вызова функций советника из DLL (господа разработчики - ОЧЕНЬ НАДО !!!! )

2. Обработчики событий - ну хотя бы один, системный (CallBack какой-нибудь с номером сообщения, например сообщение - торги по данному инструменту остановлены)

3. Структуры, присваивания в записи a = b = d = e, неявные преобразования типов.

Прошу остальных присоединиться и продолжить список пожеланий в этой ветке.

P.S. еще раз про первый пункт, можно оставить всё как есть - но сделайте вызов из DLL.


Хотелось бы увидеть объктноориентированный язык приближенный к C++

если ближе к трейдингу

хотелосб бы получить

1 Вызов указанной функции по настраиваемому таймеру ( очень хорошая была бы фитча )

2 срабатывание ТЕЙКА ЛОССА ( хотя понимаю что это и программно можно отслеживать - при использовании всяческих обработчиков )

3 очень неплохо получить какой нибудь визуальный отладчик ( хотя обхожусь контрольной печатью )

 
Mathemat:
drknn, посмотри тут: https://docs.mql4.com/ru/basis/variables/formal . Там о передаче массивов как раз есть.

Спасибо. Посмотрю.
 
Renat:
Да, недостатки известны. Вроде же из разработчиков ни слова против не сказал? Мы давно уже работаем над языком MQL5.

Извините, наверно я это погорячился. Беда вся в том, что нет нормального хелпа по языку. А то, что приведено в справке не всегда достаточно. При наличии нормального хелпа у пользователей было бы куда меньше вопросов.
 
Опубликовала бы MQ список новых свойств языка MQL5. Можно было бы заранее обсудить какие то пункты - новые свойства языка. Разработчики бы что-нибудь подкорректировали в своих планах. От чего-нибудь отказались, а новое что-нибудь добавили что интересует многих. Можно было бы даже голосование устроить по новым фичам или по тем которые например хотят упразднить.

Кстати в мета редакторе хорошо бы тоже добавить сортировку закладок с кодом. Часто хочеться сгруппировать какие то модули рядом чтобы не скролировать постоянно, чтобы найти нужную.
Была проблема в языке когда передавал в качестве параметра строковую переменную символа, которая была параметром другой функции.
Так не работало:

func(Symbol());

void func(string symbol) {
mql_func(symbol);
}

Зато работает вот так

void func() {
mql_func(Symbol());
}
 
drknn писал (а):


Блин, ну зачем же ходить всё время в обход? Покажите мно нотрмальный язык программирования, в котором нет функции, возвращающей индекс требуемого элемента массива. Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.


В Delphi такой функции нет. :) А может и есть где-то в отдельном модуле. Если есть, то ничего о ней не знаю, т.к. проще её самому написать, чем искать есть она или нет.

Кстати, реализовывать алгоритмы самому это как раз не "в обход". "В обход" это когда пользуетесь чужими компонентами, процедурами, библиотеками и кусками готового кода. Вот это в обход. По-научному называется - ламерство. :)
Разработчеги уже говорили, что езык делают для программистов, а не для ламеров. :)

Любые функции, которые многие желают, можно сделать самому за полчаса, а не ждать 3 года пока это за вас сделают разработчеки. Потом забить их в отдельную библиотеку и просто вставлять в каждый новый советник обычным инклюдом.  Неужели до этого так трудно додуматься? Детский сад какой-то. Язык офигенный, возможностей для творчества масса. Но если человек творческим началом не обладает, то ему такой язык противопоказан. Ему вообще много чего противопоказано, в том числе и торговля. Точнее, тем более торговля. :) Извините за возможную резкость,  не выдержал.



Я бы пожелал только оператор перехода добавить. Остальное меня устраивает.

И еще: очень хочу возможность модифицировать параметр OrderLots у отложенного ордера в реальных торгах, чтобы его не приходилось удалять и ставить новый, у меня все стейты отложками забиты. Думаю это не должно быть труднореализуемым. Renat, если читаете, ответье пожалуйста.
 
Bauleken:
drknn писал (а):


Блин, ну зачем же ходить всё время в обход? Покажите мно нотрмальный язык программирования, в котором нет функции, возвращающей индекс требуемого элемента массива. Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.


В Delphi такой функции нет. :) А может и есть где-то в отдельном модуле. Если есть, то ничего о ней не знаю, т.к. проще её самому написать, чем искать есть она или нет.

Кстати, реализовывать алгоритмы самому это как раз не "в обход". "В обход" это когда пользуетесь чужими компонентами, процедурами, библиотеками и кусками готового кода. Вот это в обход. По-научному называется - ламерство. :)
Разработчеги уже говорили, что езык делают для программистов, а не для ламеров. :)
Может тогда вообще программить в машинных кодах? Зачем эти все языки высокого уровня и даже тот же ассемблер? С такой уникальной вещью как машинный код можно вообще делать что хочешь :)


Любые функции, которые многие желают, можно сделать самому за полчаса, а не ждать 3 года пока это за вас сделают разработчеки. Потом забить их в отдельную библиотеку и просто вставлять в каждый новый советник обычным инклюдом.  Неужели до этого так трудно додуматься? Детский сад какой-то. Язык офигенный, возможностей для творчества масса. Но если человек творческим началом не обладает, то ему такой язык противопоказан. Ему вообще много чего противопоказано, в том числе и торговля. Точнее, тем более торговля. :) Извините за возможную резкость,  не выдержал.
:))))))))))) Развеселил меня - от души посмеялся :))))))))) спасибо. Нет, прада :)))))
Я бы пожелал только оператор перехода добавить. Остальное меня устраивает.

И еще: очень хочу возможность модифицировать параметр OrderLots у отложенного ордера в реальных торгах, чтобы его не приходилось удалять и ставить новый, у меня все стейты отложками забиты. Думаю это не должно быть труднореализуемым. Renat, если читаете, ответье пожалуйста.
А вот об этом можно поподробнее? Отложку же можно модифицировать. Или я что-то не понял?
Причина обращения: