Здравствуйте! Начал изучать MQL5 с https://www.mql5.com/ru/articles/100. Запустил код, получил ошибку 4756, посмотрел в документации - легче не стало. Ладно, подумал, что начну с простого (Alert/Print...). Одна из важнейших функций это OrderSend. Начал искать по форуму\документации как использовать OrderSend. Наткнулся на эту статью https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions, там увидел код на открытие позиции Buy. Получил ошибку 4756 и retcode 10030. 10030 - понял, что это свойство OrderSend, но не понял как нужно использовать это свойство (смотрел чужой код), а самое главное для чего нужно. Тогда открыл https://www.mql5.com/ru/docs/trading/ordersend, скопировал код, запустил, все отлично, заработало. Но так и не понял, почему появляется ошибка 4756 и как от нее нужно избавляться, а также 10030.
Посмотрел код между
и этим
Они по-моему практически идентичны, не вижу тех мест, в которых появляются эти ошибки (4756 и 10030). Ткните пальцем и объясните пожалуйста
Используйте торговый класс CTrade - так Вы гарантированно сможете допустить минимум ошибок.
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
Здравствуйте! Начал изучать MQL5 с https://www.mql5.com/ru/articles/100. Запустил код, получил ошибку 4756, посмотрел в документации - легче не стало. Ладно, подумал, что начну с простого (Alert/Print...). Одна из важнейших функций это OrderSend. Начал искать по форуму\документации как использовать OrderSend. Наткнулся на эту статью https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions, там увидел код на открытие позиции Buy. Получил ошибку 4756 и retcode 10030. 10030 - понял, что это свойство OrderSend, но не понял как нужно использовать это свойство (смотрел чужой код), а самое главное для чего нужно. Тогда открыл https://www.mql5.com/ru/docs/trading/ordersend, скопировал код, запустил, все отлично, заработало. Но так и не понял, почему появляется ошибка 4756 и как от нее нужно избавляться, а также 10030.
Посмотрел код между
и этим
Они по-моему практически идентичны, не вижу тех мест, в которых появляются эти ошибки (4756 и 10030). Ткните пальцем и объясните пожалуйста
Не заполнено одно поле структуры. И deviation маловато будет, но это не такая-уж и ошибка.
Instant Execution
Торговый ордер на открытие позиции в режиме Instant Execution (режим торговли по потоковым ценам). Требуется указание 9 полей:
action
symbol
volume
price
sl
tp
deviation
type
type_filling
Можно также задать значения полей magic и comment.
Market Execution
Торговый ордер на открытие позиции в режиме Market Execution (режим исполнения торговых приказов по рынку). Требуется указание 5 полей:
action
symbol
volume
type
type_filling
Можно также задать значения полей magic и comment.
Предлагаю дать возможность определять программно какой буфер индикатора рисует на графике.
Предположим трейдер запустил свои индикаторы, мы не знаем сколько используется буферов для расчета а сколько для отрисовки индикатора на графике.
Обратившись к индикатору через
int ChartIndicatorGet( longchart_id, // идентификатор графика intsub_window // номер подокна const stringindicator_shortname // короткое имя индикатора );
Мы так же могли бы запросить масси рисующих буферов
int ChartIndicatorGet( longchart_id, // идентификатор графика intsub_window // номер подокна const stringindicator_shortname // короткое имя индикатора
int & IndicatorVisualBuffer[] // номера рисующих буферов... );
Это расширит возможность по работе с неизвестными индикаторами установленными на графике..
А что возвращает
intChartIndicatorGet(
long chart_id, // идентификатор графикаint sub_window // номер подокнаconststring indicator_shortname // короткое имя индикатора
);
и какой прок будет от добавления? Вы предлагаете добавить входящий параметр и получить в ответ тот-же самый хендл индикатора...
И если не затруднит, для каких целей появилась такая необходимость? Вопрос без иронии. Ведь если что-то предлагается, то надо, на мой взгляд, привести убедительные доводы в необходимости предложенного.
Здравствуйте! Начал изучать MQL5 с https://www.mql5.com/ru/articles/100. Запустил код, получил ошибку 4756, посмотрел в документации - легче не стало. Ладно, подумал, что начну с простого (Alert/Print...). Одна из важнейших функций это OrderSend. Начал искать по форуму\документации как использовать OrderSend. Наткнулся на эту статью https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions, там увидел код на открытие позиции Buy. Получил ошибку 4756 и retcode 10030. 10030 - понял, что это свойство OrderSend, но не понял как нужно использовать это свойство (смотрел чужой код), а самое главное для чего нужно. Тогда открыл https://www.mql5.com/ru/docs/trading/ordersend, скопировал код, запустил, все отлично, заработало.
Но так и не понял, почему появляется ошибка 4756 и как от нее нужно избавляться, а также 10030.
Посмотрел код между
и этим
Они по-моему практически идентичны, не вижу тех мест, в которых появляются эти ошибки (4756 и 10030). Ткните пальцем и объясните пожалуйста
Используйте торговый класс CTrade - так Вы гарантированно сможете допустить минимум ошибок.
Пример отсылки торгового приказа на открытие Buy:
Используйте торговый класс CTrade - так Вы гарантированно сможете допустить минимум ошибок.
Пример отсылки торгового приказа на открытие Buy:
CTrade - является универсальным классом? То есть им возможно заменить другой любой код?
CTrade - является универсальным классом? То есть им возможно заменить другой любой код?
CTrade поставляется вместе с терминалом в Стандартная библиотека -> Торговые классы -> CTrade.
Они по-моему практически идентичны, не вижу тех мест, в которых появляются эти ошибки (4756 и 10030). Ткните пальцем и объясните пожалуйста
https://www.mql5.com/ru/search#!keyword=Unsupported%20filling%20mode
Пример из кодобазы
Есть несколько способов получить код в ME
В тестере МТ5 объект "Поле ввода" OBJ_EDIT не позволяет редактировать значение в нём находящееся. Это так задумано или это баг?
В терминалах и тестере МТ4 редактируется, а вот в тестере МТ5 не хочет, вообще пропадает значение введённое в него программно при создании объекта.
Здравствуйте! Начал изучать MQL5 с https://www.mql5.com/ru/articles/100. Запустил код, получил ошибку 4756, посмотрел в документации - легче не стало. Ладно, подумал, что начну с простого (Alert/Print...). Одна из важнейших функций это OrderSend. Начал искать по форуму\документации как использовать OrderSend. Наткнулся на эту статью https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions, там увидел код на открытие позиции Buy. Получил ошибку 4756 и retcode 10030. 10030 - понял, что это свойство OrderSend, но не понял как нужно использовать это свойство (смотрел чужой код), а самое главное для чего нужно. Тогда открыл https://www.mql5.com/ru/docs/trading/ordersend, скопировал код, запустил, все отлично, заработало.
Но так и не понял, почему появляется ошибка 4756 и как от нее нужно избавляться, а также 10030.
Посмотрел код между
и этим
Они по-моему практически идентичны, не вижу тех мест, в которых появляются эти ошибки (4756 и 10030). Ткните пальцем и объясните пожалуйста
Instant Execution
Торговый ордер на открытие позиции в режиме Instant Execution (режим торговли по потоковым ценам). Требуется указание 9 полей:
Можно также задать значения полей magic и comment.
Market Execution
Торговый ордер на открытие позиции в режиме Market Execution (режим исполнения торговых приказов по рынку). Требуется указание 5 полей:
Можно также задать значения полей magic и comment.
что за обновление прилетело, 1736, что в нем есть, где почитать?
Предлагаю дать возможность определять программно какой буфер индикатора рисует на графике.
Предположим трейдер запустил свои индикаторы, мы не знаем сколько используется буферов для расчета а сколько для отрисовки индикатора на графике.
Обратившись к пользовательским индикаторам через
int ChartIndicatorGet(
long chart_id, // идентификатор графика
int sub_window // номер подокна
const string indicator_shortname // короткое имя индикатора
);
Мы так же могли бы запросить массив рисующих буферов
int ChartIndicatorGet(
long chart_id, // идентификатор графика
int sub_window // номер подокна
const string indicator_shortname // короткое имя индикатора
int & IndicatorVisualBuffer[] // номера рисующих буферов... );
Это расширит возможность по работе с неизвестными индикаторами установленными на графике..
Предлагаю дать возможность определять программно какой буфер индикатора рисует на графике.
Предположим трейдер запустил свои индикаторы, мы не знаем сколько используется буферов для расчета а сколько для отрисовки индикатора на графике.
Обратившись к индикатору через
int ChartIndicatorGet(
long chart_id, // идентификатор графика
int sub_window // номер подокна
const string indicator_shortname // короткое имя индикатора
);
Мы так же могли бы запросить масси рисующих буферов
int ChartIndicatorGet(
long chart_id, // идентификатор графика
int sub_window // номер подокна
const string indicator_shortname // короткое имя индикатора
int & IndicatorVisualBuffer[] // номера рисующих буферов... );
Это расширит возможность по работе с неизвестными индикаторами установленными на графике..
А что возвращает
и какой прок будет от добавления? Вы предлагаете добавить входящий параметр и получить в ответ тот-же самый хендл индикатора...
И если не затруднит, для каких целей появилась такая необходимость? Вопрос без иронии. Ведь если что-то предлагается, то надо, на мой взгляд, привести убедительные доводы в необходимости предложенного.