Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 852
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не открывает сделку, где косяк?
Не открывает сделку, где косяк?
Косяк номер 1: НА каждом тике Вы создаёте НОВЫЙ ХЕНДЛ индикатора
Косяк номер 2: (вероятно) переменная Lot имеет некорректный объём.
Косяк номер 3: (вероятно) не заполнено тип заливки ордеров для класса CTrade.
В общем, что в журнале терминала (или тестера)?
сумму умножаете на убыток в валюте от 1 СЛ
А если убыток равен 1, в БО например.
Подставляю в формулу значения, даже близко не тот результат.
Что не так?
Косяк номер 1: НА каждом тике Вы создаёте НОВЫЙ ХЕНДЛ индикатора
Косяк номер 2: (вероятно) переменная Lot имеет некорректный объём.
Косяк номер 3: (вероятно) не заполнено тип заливки ордеров для класса CTrade.
В общем, что в журнале терминала (или тестера)?
Вот этот код да был в онтике
Перенёс в онинит. Просто я читал тут статьи - а из них я понял что разницы для работы нет но лучше в онтикет. Но с точки зрения наглядности для себя мне было удобнее сразу всё 1 блоком сделать, я чисто для себя пока решаю задачки которые сам себе ставлю(обучаюсь.)
Проблёма была с лотом-там нужно было ставить не переменную лот- а функцию возвраталот( т.к. была функция для расчёта лота).
Сейчас вот обнаружил и в функции лота недочёт- идёт расчёт вида с кучей знаков после запятой и по итогу сделка не может открыться. Нужно сделать сокращение ненужных символов и оставить только 2.
NormalizeDouble и DoubleToStr пока не получается-пишет что нельзя вкладывать функцию в функцию.-а ниже когда вставляю их работу с функцией пишет ошибки- которые исправитьне могу.
Вот этот код да был в онтике
Перенёс в онинит. Просто я читал тут статьи - а из них я понял что разницы для работы нет но лучше в онтикет. Но с точки зрения наглядности для себя мне было удобнее сразу всё 1 блоком сделать, я чисто для себя пока решаю задачки которые сам себе ставлю(обучаюсь.)
Проблёма была с лотом-там нужно было ставить не переменную лот- а функцию возвраталот( т.к. была функция для расчёта лота).
Сейчас вот обнаружил и в функции лота недочёт- идёт расчёт вида с кучей знаков после запятой и по итогу сделка не может открыться. Нужно сделать сокращение ненужных символов и оставить только 2.
NormalizeDouble и DoubleToStr пока не получается-пишет что нельзя вкладывать функцию в функцию.-а ниже когда вставляю их работу с функцией пишет ошибки- которые исправитьне могу.
В MQL5 создавать хендл индикатора НУЖНО ОДИН РАЗ и ТОЛЬКО В OnInit. Это аксиома. Нельзя создавать хендл индикатора в OnTick на каждом тике - это НЕПРАВИЛЬНО.
Правильная нормализация лота есть в торговом классе CSymbolInfo::NormalizePrice
В MQL5 создавать хендл индикатора НУЖНО ОДИН РАЗ и ТОЛЬКО В OnInit. Это аксиома. Нельзя создавать хендл индикатора в OnTick на каждом тике - это НЕПРАВИЛЬНО.
Правильная нормализация лота есть в торговом классе CSymbolInfo::NormalizePrice
Неправильно, с этим не спорю. НО!!! А что изменится если создавать на каждом тике??? Даже значение не изменится.
Неправильно, с этим не спорю. НО!!! А что изменится если создавать на каждом тике??? Даже значение не изменится.
А смысл? Только лишнюю работу делать скрипту и все.
Неправильно, с этим не спорю. НО!!! А что изменится если создавать на каждом тике??? Даже значение не изменится.
В одной своей недавней статье я показал, что MQL5 эффективно борется с перижитками кодирования в стиле MQL4 - с созданием хендлов на каждом тике: память уже не отжирается, но как минимум падает скорость работы. Но, повторюсь: создание индикаторов на языке MQL5 в стиле MQL4 - это неправильный метод. Если перешли на MQL5 значит нужно перестраивать стилистику программирования.
А смысл? Только лишнюю работу делать скрипту и все.
Конечно никакого смысла. Это был такой скрытый вопрос барабашке: Зачем уподобляться неврастеникам, коих тут и так достаточно, и включать Caps Lock?
То есть результат один и тот же, но естественно по исполнению это бессмысленно и намного загруженнее как я понял из написанного.
Хоть бы в статье додумывались об этом писать-хотя в целом и так понятно что зачем делать одно и то же несколько раз.
Но у меня была цель написать чтобы самому понять и работало а не оптимизировать-это после считал.