![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
array = [
0 => [ //порядковый номер order
0 => int, //ticket id ордера
1 => double, //размер лота
2 => double, //stoploss
3 => double, //take profit
]
]
Пока что явная ошибка, то что вы пытаетесь в один массив залить данные разного типа. в mql 1 массив имеет только 1 тип. Далее, массив нужно явно объявить с явным типом и явной размерностью, либо явно размерность задать после объявления, и это касается всех его измерений. (если измерений несколько, то у всех должен быть явно задан размер, кроме последнего, так как последний можно изменить уже после). Ну и соблюдайте синтаксис
Задать размерность последнего или единственного измерения можно функцией
Сперва все задать, а потом уже только можно начинать работать с массивом
Глядя на ваш пример, один из возможных вариантов объявления массива должен выглядеть так.
Запас на 100 ордеров. И нужно учитывать что тип double и могут быть проблемы после неявных преобразований при записи туда других типов
Я всю жизнь пишу на php, там с массивами все очень хорошо. Но тут...
Короче, задача такая, написать функцию перебора всех ордеров, которая бы формироала глобальны массив с параметрами рыночных ордеров такого вида
array = [
0 => [ //порядковый номер order
0 => int, //ticket id ордера
1 => double, //размер лота
2 => double, //stoploss
3 => double, //take profit
]
]
Делаю так:
Мне компилятор выдает это:
'[' - wrong dimension ***.mq4 201 22
Первый совет, который приходит в голову - это вот:
https://www.mql5.com/ru/code
Здесь куча примеров.
Тут пишут программы даже школьники, и зарабатывают потом во фрилансе.
РНР, как и любой другой язык не сильно отличаются друг от друга, задачи просто разные.
Это Русская речь.
Что Вам не понравилось?
И не Вам следить за моей речью.
зы Это угроза?
Это бан. Для начала на недельку.
Автора топика это тоже касается, если продолжит в том же духе.
Читал, поэтому не стал обливать дерьмом это убожество и воздержался от комментариев и спросил более знающих людей, как мне это сделать. Мне нужная функция, которая будет проверять все открытые ордера и делать какую-то глобальную переменную, в которой будет вся инфа об этих ордерах. Не знаю там, может тип данных свой здесь можно определить.
Можно поподробнее?
P.S.
Блин, 3 коммента оставили и хоть бы один по делу, вот она, помощь дружного и сплоченного сообщества. Хоть на stackoverflow вопрос пиши, англоговорящая публика куда более внятная в этом плане.
Достаточно подробно описано тут.
О том, что массив не может содержать данные разных типов уже было сказано. А вот структура позволяет это сделать.
Выглядит примерно так
Я всю жизнь пишу на php, там с массивами все очень хорошо. Но тут...
...
Видать совсем короткая у тебя жизнь была, раз до сих пор даже чуть-чуть думать кодить не научился. Ладно, вот держи и изучай:
Я всю жизнь пишу на php, там с массивами все очень хорошо. Но тут...
Короче, задача такая, написать функцию перебора всех ордеров, которая бы формироала глобальны массив с параметрами рыночных ордеров такого вида
array = [
0 => [ //порядковый номер order
0 => int, //ticket id ордера
1 => double, //размер лота
2 => double, //stoploss
3 => double, //take profit
]
]
Делаю так:
Мне компилятор выдает это:
'[' - wrong dimension ***.mq4 201 22
Видать совсем короткая у тебя жизнь была, раз до сих пор даже чуть-чуть думать кодить не научился. Ладно, вот держи и изучай:
Большое спасибо. Не знал что в mql можно работать с объектами. Теперь все пойдет куда более продуктивно!
P.S.
Всем спасибо за ответы. Я смотрю тут даже некий холиварчик образовался по поводу фундаментального mql. Но я несколько по иному организовал работу с ордерами.
Приведение типов никто не отменял. Массив типа double может содержать все другие базовые типы кроме строки.