Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Торговыми событиями считаются следующие изменения на счете:
В перечне отсутствует такое торговое событие, как "модификация уровней StopLoss и/или TakeProfit" у открытой позиции (SL & TP Modification). Или оно рассматривается как частный случай "совершения сделок на основании ордеров"?
В перечне отсутствует такое торговое событие, как "модификация уровней StopLoss и/или TakeProfit" у открытой позиции (SL & TP Modification). Или оно рассматривается как частный случай "совершения сделок на основании ордеров"?
"Модификация уровней StopLoss и/или TakeProfit" у открытой позиции (SL & TP Modification)" ближе к
Я думал над этим вопросом. Но, фактически, говоря об "установке, удалении и модификации ордеров", речь идёт об установке, удалении и модификации отложенных ордеров. Модификация же уровней SL и/или TP у открытой позиции имеет несколько иную природу, поскольку соответствующие запросы относятся к категории "ордеров немедленного исполнения". Или я ошибаюсь в части "немедленного исполнения"?
В статье дается пример загрузки торговой истории за один день (в одном коде есть пример загрузки истории за 3 дня). Да, это есть ограничение и пример не является универсальным. Но если читатель понимает при прочтении статьи эту особенность, то он сможет самостоятельно решить для себя вопрос - за какой интервал и с какого момента ему нужно подгружать в кэш торговую историю.
Читатель получил простейшие примеры и алгоритмы и может теперь самостоятельно применить их в нужных функциях обработки событий. Может самостоятельно создать собственную базу торговой истории и делать ее инициализацию и синхронизацию, и так далее.
Попытка дать конкретные рецепты и функции по оптимальной работе с торговой историей на все случаи жизни потребует как минимум еще одной статьи. Точнее, не сами примеры, а подходы к решению тех или иных задач. Эта статья была призвана понимание того, как работают торговые функции и на какие нюансы необходимо обратить внимание, чтобы не тратить собственное время на исследования.
Я уверен, что после прочтения статьи дальше все будет уже просто.
Рашид, я не умаляю полезность статьи.
Просто без жизненных примеров (тех, которые можно применить в написании советника) она кажется совсем уж справочной.
Да, в ней есть полезная информация, и понимающий человек сможет ей воспользоваться. Но неискушенный пользователь не сможет организовать нормальную работу с историей, прочитав только эту статью, т.е. она ему будет бесполезной.
В статье есть такая часть:
"Для примера приведен скрипт, который ищет последний ордер за последний день и выводит по нему информацию.
В описании скрипта говорится, что ищется последний ордер, а в самом коде речь идёт о получении тикета, имеющего последний индекс в списке исторических ордеров:
Т.е. подразумевается, что именно тикет с максимальным индексом относится к последнему ордеру. Но в материалах нигде не нашёл упоминания о том, что последний ордер всегда гарантированно будет иметь максимальный индекс в списке исторических ордеров. ...Если, допустим, в списке окажется один ордер, то вопросов не возникает. Но при большем количестве ордеров в списке - можно ли всегда полагаться на предложенный способ поиска последнего ордера? Иными словами, всегда ли последний исторический ордер гарантированно будет иметь максимальный индекс в списке исторических ордеров?Добрый!
1) смотрел свойства позиции:
POSITION_PROFIT
что это такое, в чем измеряется?
пример:
double profit =PositionGetDouble(POSITION_PROFIT);
результат:
Позиция #101470723 по EURUSD: POSITION_MAGIC=0, цена откр поз=1.30825, тек цена поз=1.30835, тип=POSITION_TYPE_BUY, профит=-2061584302, комментарий=
профит=-2061584302 как это понимать?
2) Может кто точно, но просто объяснить как читать эту запись
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
Возможно, сис функцией PositionGetInteger(POSITION_TYPE) для заранее выбранной позиции запросили значение свойства называемого POSITION_TYPE, но это значение возвращается в виде порядкового номера перечисления, и чтобы его представить в удобоваримом виде, мы получаем это удобоваримое значение уже из сис перечисления ENUM_POSITION_TYPE в переменную type, тип которой в это же самое время декларируется как ENUM_POSITION_TYPE?
В таком случае, правильно ли я понимаю, что можно самому писать некий класс, который по смыслу станет функционалом, примерно:
инициализация текПозиция = тот некий класс; //в конструкторе которого выполнить считывание в буфер позиции, а также запомнить все параметры
а дальше использовать:
текЦенаОткрытия=текПозиция.ЦенаОткрытия;
текНаправлениеПозиции=текПозиция.НаправлениеПозиции;
текНаправлениеПозиции=текПозиция.НаправлениеПозиции;
текПрофитПозиции=текПозиция.ПрофитПозиции;
Спасибо!
2) Может кто точно, но просто объяснить как читать эту запись
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
Функция PositionGetInteger("идентификатор свойства") возвращает значение типа long. Если при этом "идентификатор свойства" имеет тип, отличный от типа long (например, идентификатор POSITION_TYPE имеет тип ENUM_POSITION_TYPE), то желательно привести значение, возвращаемое функцией PositionGetInteger(), к значению требуемого типа (т.е. к значению типа ENUM_POSITION_TYPE).
В Вашем примере объявляется переменная type типа ENUM_POSITION_TYPE, которой присваивается значение типа ENUM_POSITION_TYPE, полученное в результате явного приведения значения типа long к значению типа ENUM_POSITION_TYPE.
Правила приведения значений числовых типов изложены в Справочник MQL5 / Основы языка / Типы данных / Приведение типов / Приведение числовых типов
Цитата из статьи: "При потере подключения к торговому серверу терминал периодически предпринимает попытки восстановить связь".
С какой частотой осуществляются попытки восстановить связь?
Понял, спасибо.