Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1536
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вызывать PositionGetDouble нужно после PositionSelect иначе в вашем Price окажется скорее всего мусор или ноль, потом вы будете сравнивать этот ноль с асками бидами, где нибудь да сработает условие.
Что делает этот код?
Хренову тучу раз он делает одно и то же.
Полагаю, что индексом массива mqlTick должен быть не ноль, а i.
Ну и про не правильные биды аски в открытиях позиций, я написал в предыдущем сообщении.
Вам лучше вообще не указывать цену для открытия позиции, пусть это делает класс CTrade
Так у вас будет меньше шансов ошибиться.
При наступлении условия bid0 > ask0 вы хотите открывать позицию.
По мне так при наступлении этого условия, нужно закрывать все открытые позиции, закрывать терминал и выключать компьютер)))
PositionSelect - надо будет потратить кусочек времени, чтобы понять, почему не открываются позиции, когда я его использую. Так что временно пользую !PositionSelect(Symbol()), чтобы в любой момент времени работала только одна позиция на инструменте. Поэтому, я думаю, и
работает правильно. Проверял. Или это не всегда?
Этот код по таймеру, каждые 300 миллисекунд призван находить самую первую цену за период. Поэтому и индекс 0. Как еще я первую цену за период найду?
Цена открытия бай должна быть аск, на сколько я понял. А селл - бид. Видимо, я неправильно прописал открытие позиции. Там наоборот. Имя инструмента, получается, тоже из-за класса нет смысла писать при открытии? Только лотажность и все?
Касаемо условия открытия, читал, что спред бывает отрицательным. Вот и попытался это предусмотреть, но неправильно прописал логику. На самом деле не бывает спред отрицательным?
В общем, сердечно благодарю. Я бы и не обратил внимания, если бы Вы не показали.
Здравствуйте, ребята, подскажите, пожалуйста, какой язык мне стоит изучать в программировании для MetaTrader 5?
Смотрим вверху этого сайта, щёлкаем по ссылке и начинаем изучать:
По какой формуле расчитывается SYMBOL_PRICE_VOLATILITY?
Это не устроит?
С уважением, Владимир.
Это не устроит?
С уважением, Владимир.
Благодарю. Коэфициент изменения цены за день. Я понял. Но для скальпирования хочется иметь гибкий инструмент определения волатильности, чтобы сравнивать его, например, со спредом.
SYMBOL_PRICE_VOLATILITY добавили в 2020 году. А формула не известна? Поисковик не показывает...Ну, и про не правильные биды аски в открытиях позиций, я написал в предыдущем сообщении.
Поправил условия открытия, а решилась проблема закрытия позиций. :)) Не понял, почему так. Но таки ваш совет решил проблему. Еще раз благодарю.
... Но для скальпирования хочется иметь гибкий инструмент определения волатильности, чтобы сравнивать его, например, со спредом.
SYMBOL_PRICE_VOLATILITY добавили в 2020 году. А формула не известна? Поисковик не показывает...А что мешает вместо цены открытия сессии вставить спред? Его легко получить при помощи SymbolInfoInteger(_Symbol, SYMBOL_SPREAD) и умножить на SymbolInfoDouble(_Symbol, SYMBOL_POINT).
С уважением, Владимир.
А что мешает вместо цены открытия сессии вставить спред? Его легко получить при помощи SymbolInfoInteger(_Symbol, SYMBOL_SPREAD) и умножить на SymbolInfoDouble(_Symbol, SYMBOL_POINT).
С уважением, Владимир.
Спасибо за ответ. Возможно, я просто не понимаю, что должно тогда получиться. Коэфициент спреда? Спред и так есть. Текущее значение. Волатильность проблемная. Попробовал расписать код для получения волатильности, получилось очень растянуто. Так что не довел до конца. А если бы заработала функция для волатильности, о которой я спрашиваю, было бы на много проще.
Пока что не открывает позиции.
Спасибо за ответ. Возможно, я просто не понимаю, что должно тогда получиться. Коэфициент спреда? Спред и так есть. Текущее значение. Волатильность проблемная. Попробовал расписать код для получения волатильности, получилось очень растянуто. Так что не довел до конца. А если бы заработала функция для волатильности, о которой я спрашиваю, было бы на много проще.
Пока что не открывает позиции.
Предположу, что этот советник при таких заданных условиях никогда не откроет позиции. Похоже, что переменная PerVolatiliti всегда равна нулю.
С уважением, Владимир.