Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1246
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Чем вы набираете столько строк кода? Вот один из последних моих советников, работает с набором бумаг на ФОРТС
Сколько бумаг будет перечислено в этом списке, столько и будет торговать. И в этом советнике с контролем двух торговых периодов времени, с трейлингом и естественно с анализом всего 326 строк.
Если вам нестерпимо хочется попользовать switch то ведь не обязательно в каждый вариант вписывать открытие позиций. Ведь достаточно определить имя символа, тип торговой операции и
Но всё-же лучше, на мой взгляд, всё это завернуть в пользовательскую функцию.
Спасибо. Но не то чтобы нетерпимо, просто это был мой первый вариант написания и на мой взгляд более универсальный. Можно было бы добавлять самые различные методы анализа и не писать в каждом открытие ордера, просто потому что это было бы не нужно и сосредоточиться на анализе и новых функциях, вместо писанины одного и того же. Ну не знаю как у вас влезло в 300+ строк, я не на столько продвинут в данном языке. Прописал в итоге все в каждой отдельной функции и вышло 1050 строк без учёта всего остального, типа расчета лота, трейлинга и т.п. Советник может только открывать сделки по 7 парам одновременно с учётом условий открытия и все в принципе. Потом захочу писать новую функцию и мне снова прописывать открытие ордеров, и снова и снова и снова, вместо того чтобы один раз написать и использовать. Трейлинг стоп работает постоянно и модифицирует все открытые ордера, но он написан один раз, так почему бы не написать один раз функцию для открытия ордеров и использовать ее для любого типа анализа. Мне пока не понятно.
Если у вас в работе несколько символов, то самый эффективный вариант, это работать с пользовательской функцией. По каждому символу, в моём варианте из массива проводится анализ открытия и если функция анализа вернула true то вызывается функция открытия ордера. Одна функция анализирует ситуацию по всем символам поочерёдно, одна открывает ордера по символу по которому есть сигнал. И не важно сколько символов засунуто в массив. Получили сигнал, открыли ордер — вернулись к массиву символов, проверяем следующий. И так далее…
Если у вас в работе несколько символов, то самый эффективный вариант, это работать с пользовательской функцией. По каждому символу, в моём варианте из массива проводится анализ открытия и если функция анализа вернула true то вызывается функция открытия ордера. Одна функция анализирует ситуацию по всем символам поочерёдно, одна открывает ордера по символу по которому есть сигнал. И не важно сколько символов засунуто в массив. Получили сигнал, открыли ордер — вернулись к массиву символов, проверяем следующий. И так далее…
Вот это хороший вариант.
Алексей вам стандартные вещи рассказывает...
Алексей вам стандартные вещи рассказывает...
Стандартные, это когда на каждый день отдельный код.)))))
Алексей вам стандартные вещи рассказывает...
Ну я третью неделю с этим языком знаком\
Вообще с 2008 но только сейчас начал пробовать что-то писать
Здравствуйте @Artyom Trishkin ,
У меня проблема с решением логики. Пожалуйста, помогите мне с этим? Вот ссылка на мою ветку: https://www.mql5.com/ru/forum/350570.
Надеюсь услышать тебя позже.
Рассчитать медиану цены на заданном интервале с заданным количеством приближений.
Здравствуйте есть массив значений.
Задача написать функцию.
Параметры входа:
- массив содержит номера нужных элементов для расчета медианы - bufInBar[]
- размер массива bufInBar[] - count
- Количество приближений в медиан - fokus
То есть есть класс
bufInBar[i] - используется для загрузки нужного элемента при расчете медианы BP[bufInBar[i]].CenaPerioda; - по этому значению рассчитывается медиана BP[bufInBar[i]].Period;
На выходе :
Заполняется в порядке возрастания например с 0 до 10.
То есть, если в условии fokus=10, то на интервале i<count десять значений
будут равны от 1 до 10
Например
Готов перевести со счета 12$
Рассчитать медиану цены на заданном интервале с заданным количеством приближений.
Готов перевести со счета 12$
вы же знаете, что для такого https://www.mql5.com/ru/job
а тут - если сами начали делать, но что-то не вышло или не понятно