1.Прежде ,чем советник начнет исполнять основной код необходимо проверить состояние Последней позиции,существовавщей
до того(открыта или закрыта и.т.д) С помощью какой функции MQL4 это можно сделать?
//+----------------------------------------------------------------------------+ //| Возвращает флаг существования позиций | //| Параметры: | //| sy - наименование инструмента ("" - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ bool ExistPositions(string sy="", int op=-1, int mn=-1) { int i, k=OrdersTotal(); if (sy=="") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) return(True); } } } } } return(False); }
2.Я не очень понимаю зачем функции init() и deinit().То есть я нашел в каких случаях они работают,но не понял,что распологать
в теле этих функций?Я предпологаю ,что в теле фукции start() распологается код,который исполняется с каждым тиком,а в теле init() и
deinit() код который выполняется только один раз в начале и в конце соответственно.Прав ли я?Хотелось бы знать точно
Понимаю,что отвлекать Вас такими вопросами неприлично,поэтому если проигнорируете я пойму
Функция init() выполняется при установке советника на график.
Функция deinit() выполняется при удалении советника с графика.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Изучением програмирования я занимаюсь несколько дней.И у меня возникло два вопроса при написании советника на которые я не нашел ответа:
1.Прежде ,чем советник начнет исполнять основной код необходимо проверить состояние Последней позиции,существовавщей
до того(открыта или закрыта и.т.д) С помощью какой функции MQL4 это можно сделать?
2.Я не очень понимаю зачем функции init() и deinit().То есть я нашел в каких случаях они работают,но не понял,что распологать
в теле этих функций?Я предпологаю ,что в теле фукции start() распологается код,который исполняется с каждым тиком,а в теле init() и
deinit() код который выполняется только один раз в начале и в конце соответственно.Прав ли я?Хотелось бы знать точно
Понимаю,что отвлекать Вас такими вопросами неприлично,поэтому если проигнорируете я пойму