Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1010
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ребят,выдает 130 ошибку, подскажите если не трудно. Просьба не критиковать сильно, начинающий.
Привет всем) подскажите пожалуйста - не могу сообразить как код написать ( Пример; работает 2 робота - у каждого свой магик ) большая доля на покупку или продажу падает на историю ордеров, то есть если ордер был селл то следющая сделка будет бай - проблема заключается в том что не получается выбрать последний ордер и магик вместе и соответственно определить тип ордера для определенного робота(работает только часть кода - если выбирать только последний ордер из истории - отлично работает когда робот один ,а второй код записанный через for перечисляет все ордера с магик номером выводит его число порядковое и пишет его тип но почему то не возвращает значение последнего и я не могу понять почему ) помогите это соединить в одно целое вот 1 и 2 код ;
1) код для определения последнего ордера а точнее его типа
int orderBS;
int total1=OrdersHistoryTotal()-1;
if(OrderSelect(total1, SELECT_BY_POS, MODE_HISTORY) == true) // тип ордера
{ orderBS=OrderType();}
2) код считает все совершенные сделки смагиком записывает их порядковый номер и тип но не выводит последний ордер
int k ;
int orderBS;
if(OrdersHistoryTotal()>0)
{ for(int O=OrdersHistoryTotal()-1; O>=0; O--)
{ if(OrderSelect(O,SELECT_BY_POS,MODE_HISTORY))
{ if(OrderMagicNumber()!=136) continue;
if(OrderMagicNumber()==136)
k=OrderMagicNumber();
orderBS=OrderType();
Alert("последний ордер номера 136 = ","номер ордера в истории=",O,"магик номер=",k,"ордер сел бай=",orderBS); }}}
КАК ВЕРНУТЬ ПОСЛЕДНИЙ ОРДЕР ИЗ ИСТОРИИ С НУЖНЫМ МАГИК номером !!!
help me pliz!!!!!
Привет всем) подскажите пожалуйста - не могу сообразить как код написать ( Пример; работает 2 робота - у каждого свой магик ) большая доля на покупку или продажу падает на историю ордеров, то есть если ордер был селл то следющая сделка будет бай - проблема заключается в том что не получается выбрать последний ордер и магик вместе и соответственно определить тип ордера для определенного робота(работает только часть кода - если выбирать только последний ордер из истории - отлично работает когда робот один ,а второй код записанный через for перечисляет все ордера с магик номером выводит его число порядковое и пишет его тип но почему то не возвращает значение последнего и я не могу понять почему ) помогите это соединить в одно целое вот 1 и 2 код ;
1) Чтобы правильно вставить исходный код на форуме, нажмите на SRC и в появившееся окно вставьте ваш код.
2) Попробуйте такой скрипт, быстро его набросал, не проверял т.к. у меня нет ордеров в истории.
3) Помните, если после if идет только одна инструкция, то фигурные скобки { } можно не ставить, НО если идет 2 и более инструкций зависящие от этого if, то их обязательно надо записать внутри { }. В вашем примере выше было так, что после условия if(OrderMagicNumber()==136) идет 3 инструкции к=...; orderBS=...; и Alert(); но они не помещены внутри { }.
"Один в поле - не воин!"
Здравствуйте всем!
Есть ли здесь кто-нибудь из ЛИТМО (Санкт-Петербургский Государственный университет Информационных Технологий Механики и Оптики), живущий в Питере, с кем можно встречаться очно и обсуждать вопросы программирования?Откликнитесь в личку или на E-mail: leonid.belskiy@gmail.com !!!!!
1) Чтобы правильно вставить исходный код на форуме, нажмите на SRC и в появившееся окно вставьте ваш код.
2) Попробуйте такой скрипт, быстро его набросал, не проверял т.к. у меня нет ордеров в истории.
3) Помните, если после if идет только одна инструкция, то фигурные скобки { } можно не ставить, НО если идет 2 и более инструкций зависящие от этого if, то их обязательно надо записать внутри { }. В вашем примере выше было так, что после условия if(OrderMagicNumber()==136) идет 3 инструкции к=...; orderBS=...; и Alert(); но они не помещены внутри { }.
- все так же делает как и 2 код - последний не выбирает ((((((((((((
может как нибудь через время закрытия сделать ????? или там тоже не выбрать?
Всем привет. Кто знает , какое время жизни одномерного статического массива? Оно такое же как у локальной переменной или нет?
После выполнения функции , в которой объявлен массив , его надо удалять или что то с ним делать для высвобождения памяти или он сам удалится?
Пока работает программа - он (массив) существует