Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну, у меня скромное предложение. Предлагаю ввести в язык функцию, которая будет возвращать номер ячейки массива, в которой лежит заданная величина (или в случае неуспеха возвращать минус единицу). А то приходится каждый раз организовывать цикл. Функция ArrayBsearch() - не подходит - возвращает не то, что нужно.
Значение вернутое этой функцией всеравно будете проверять на равенство -1, поэтому можно проверирить значение с индексом вернутым ArrayBsearch на равенство искомому значению. Не большая разница
Цитирую справку.
int ArrayBsearch(...)
Возвращает индекс первого найденного элемента в первом измерении массива.
Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего элемента (по значению).
Ну так вот, когда ищешь в массиве индекс не просто числа, а тикета ордера, то эта функция не подходит совсем - ну зачем мне индекс ближайшего похожего тикета, когда мне нужен именно вот такой тикет, и если его нет, то и ордера уже среди рыночных нет - он закрыт и его надо искать в истории! Когда работаешь с синхронно сдвигаемыми массивами, индекс - штука весьма существенная, и он должен быть либо точным, либо отсутствовать.
Еще раз прочитайте что я вам написал
"Значение вернутое этой функцией всеравно будете проверять на равенство -1, поэтому можно проверирить значение с индексом вернутым ArrayBsearch на равенство искомому значению. Не большая разница"
Нашли ближайший тикет, сравнили его с тем тикетом который искали, если не равен, значит его нет в массиве.
Еще раз прочитайте что я вам написал
"Значение вернутое этой функцией всеравно будете проверять на равенство -1, поэтому можно проверирить значение с индексом вернутым ArrayBsearch на равенство искомому значению. Не большая разница"
Нашли ближайший тикет, сравнили его с тем тикетом который искали, если не равен, значит его нет в массиве.
Блин, ну зачем же ходить всё время в обход? Покажите мно нотрмальный язык программирования, в котором нет функции, возвращающей индекс требуемого элемента массива. Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.
Недостатков в языке MQL4 - масса. Гибкость у этого языка - ни какая. Давайте бдем прислушиваться к надобностям и экономить програмный код советника. А? Или разработчикам наплевать на всех кроме себя самих?
Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.
При всем уважении к MQL4 - пока лучшее что есть из МТС на рынке, очень не хватает следующих вещей:
1. API или возможноть вызова функций советника из DLL (господа разработчики - ОЧЕНЬ НАДО !!!! )
2. Обработчики событий - ну хотя бы один, системный (CallBack какой-нибудь с номером сообщения, например сообщение - торги по данному инструменту остановлены)
3. Структуры, присваивания в записи a = b = d = e, неявные преобразования типов.
Прошу остальных присоединиться и продолжить список пожеланий в этой ветке.
P.S. еще раз про первый пункт, можно оставить всё как есть - но сделайте вызов из DLL.
Хотелось бы увидеть объктноориентированный язык приближенный к C++
если ближе к трейдингу
хотелосб бы получить
1 Вызов указанной функции по настраиваемому таймеру ( очень хорошая была бы фитча )
2 срабатывание ТЕЙКА ЛОССА ( хотя понимаю что это и программно можно отслеживать - при использовании всяческих обработчиков )
3 очень неплохо получить какой нибудь визуальный отладчик ( хотя обхожусь контрольной печатью )
drknn, посмотри тут: https://docs.mql4.com/ru/basis/variables/formal . Там о передаче массивов как раз есть.
Спасибо. Посмотрю.
Кстати в мета редакторе хорошо бы тоже добавить сортировку закладок с кодом. Часто хочеться сгруппировать какие то модули рядом чтобы не скролировать постоянно, чтобы найти нужную.
Была проблема в языке когда передавал в качестве параметра строковую переменную символа, которая была параметром другой функции.
Так не работало:
func(Symbol());
void func(string symbol) {
mql_func(symbol);
}
Зато работает вот так
void func() {
mql_func(Symbol());
}
Блин, ну зачем же ходить всё время в обход? Покажите мно нотрмальный язык программирования, в котором нет функции, возвращающей индекс требуемого элемента массива. Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.
Кстати, реализовывать алгоритмы самому это как раз не "в обход". "В обход" это когда пользуетесь чужими компонентами, процедурами, библиотеками и кусками готового кода. Вот это в обход. По-научному называется - ламерство. :)
Разработчеги уже говорили, что езык делают для программистов, а не для ламеров. :)
Любые функции, которые многие желают, можно сделать самому за полчаса, а не ждать 3 года пока это за вас сделают разработчеки. Потом забить их в отдельную библиотеку и просто вставлять в каждый новый советник обычным инклюдом. Неужели до этого так трудно додуматься? Детский сад какой-то. Язык офигенный, возможностей для творчества масса. Но если человек творческим началом не обладает, то ему такой язык противопоказан. Ему вообще много чего противопоказано, в том числе и торговля. Точнее, тем более торговля. :) Извините за возможную резкость, не выдержал.
Я бы пожелал только оператор перехода добавить. Остальное меня устраивает.
И еще: очень хочу возможность модифицировать параметр OrderLots у отложенного ордера в реальных торгах, чтобы его не приходилось удалять и ставить новый, у меня все стейты отложками забиты. Думаю это не должно быть труднореализуемым. Renat, если читаете, ответье пожалуйста.
Блин, ну зачем же ходить всё время в обход? Покажите мно нотрмальный язык программирования, в котором нет функции, возвращающей индекс требуемого элемента массива. Да ладно Бог с ним, я сам напишу эту функцию, тогда позвольте хотя бы передавать массив в подпрограмму в качестве параметра.
Кстати, реализовывать алгоритмы самому это как раз не "в обход". "В обход" это когда пользуетесь чужими компонентами, процедурами, библиотеками и кусками готового кода. Вот это в обход. По-научному называется - ламерство. :)
Разработчеги уже говорили, что езык делают для программистов, а не для ламеров. :)
Любые функции, которые многие желают, можно сделать самому за полчаса, а не ждать 3 года пока это за вас сделают разработчеки. Потом забить их в отдельную библиотеку и просто вставлять в каждый новый советник обычным инклюдом. Неужели до этого так трудно додуматься? Детский сад какой-то. Язык офигенный, возможностей для творчества масса. Но если человек творческим началом не обладает, то ему такой язык противопоказан. Ему вообще много чего противопоказано, в том числе и торговля. Точнее, тем более торговля. :) Извините за возможную резкость, не выдержал.
И еще: очень хочу возможность модифицировать параметр OrderLots у отложенного ордера в реальных торгах, чтобы его не приходилось удалять и ставить новый, у меня все стейты отложками забиты. Думаю это не должно быть труднореализуемым. Renat, если читаете, ответье пожалуйста.