Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1295

 
leon_17:
Подскажите, чем пользоваться, чтобы посчитать закрытые ордера в истории. Пробовал так:

Какую-то ерунду в итоге выдает, намного больше, чем закрытых ордеров.

А в каком статусе? FILLED, CANCELED, EXPIRED, REJECTED?

 
JRandomTrader:

А в каком статусе? FILLED, CANCELED, EXPIRED, REJECTED?

Не понял о чем вы. В справке написано так:

Возвращает количество ордеров в истории. Перед вызовом функции HistoryOrdersTotal() необходимо получить историю сделок и ордеров с помощью функции HistorySelect() или HistorySelectByPosition().


Ничего нет ни про какой статус.

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
HistorySelect - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
leon_17:
Подскажите, чем пользоваться, чтобы посчитать закрытые ордера в истории. Пробовал так:

Какую-то ерунду в итоге выдает, намного больше, чем закрытых ордеров.

Не лезьте в ордера. Работайте со СДЕЛКАМИ. \

Справка: 

Обязательно читаем весь раздел Свойства сделок и смотрим какие свойства могут быть у сделки. Вам конкретно нужно свойство 'DEAL_ENTRY_OUT'

ENUM_DEAL_ENTRY

Идентификатор

Описание

DEAL_ENTRY_IN

Вход в рынок

DEAL_ENTRY_OUT

Выход из рынка

DEAL_ENTRY_INOUT

Разворот

DEAL_ENTRY_OUT_BY

Закрытие встречной позицией


Теперь Вам алгоритм такой:

HistorySelect -> цикл по всем сделкам -> получение свойств сделки -> суммировать сделки 'DEAL_ENTRY_OUT'

 
Vladimir Karputov:

Не лезьте в ордера. Работайте со СДЕЛКАМИ. \

Справка: 

Обязательно читаем весь раздел Свойства сделок и смотрим какие свойства могут быть у сделки. Вам конкретно нужно свойство 'DEAL_ENTRY_OUT'

ENUM_DEAL_ENTRY

Идентификатор

Описание

DEAL_ENTRY_IN

Вход в рынок

DEAL_ENTRY_OUT

Выход из рынка

DEAL_ENTRY_INOUT

Разворот

DEAL_ENTRY_OUT_BY

Закрытие встречной позицией


Теперь Вам алгоритм такой:

HistorySelect -> цикл по всем сделкам -> получение свойств сделки -> суммировать сделки 'DEAL_ENTRY_OUT'


Спасибо! Путаюсь я пока в разделении этих понятий: позиция, ордер, сделка... особенно между ордером и сделкой (HistoryOrdersTotal и HistoryDealsTotal возвращают одинаковые значения). А тут их оказывается в истории еще и считать вручную надо :/ 

 
Vladimir Karputov:

Не лезьте в ордера. Работайте со СДЕЛКАМИ. \

Справка: 

Обязательно читаем весь раздел Свойства сделок и смотрим какие свойства могут быть у сделки. Вам конкретно нужно свойство 'DEAL_ENTRY_OUT'

ENUM_DEAL_ENTRY

Идентификатор

Описание

DEAL_ENTRY_IN

Вход в рынок

DEAL_ENTRY_OUT

Выход из рынка

DEAL_ENTRY_INOUT

Разворот

DEAL_ENTRY_OUT_BY

Закрытие встречной позицией


Теперь Вам алгоритм такой:

HistorySelect -> цикл по всем сделкам -> получение свойств сделки -> суммировать сделки 'DEAL_ENTRY_OUT'

Это если не ФОРТС. А то ещё клиринг добавляется.

 
Очень хочется получить ответ на свой вопрос по поводу параметра begin в функции onCalculate
Или хотя бы увидеть код, в котором возникают такие ситуации, когда begin != 0.
Спасибо!
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Функции обработки событий - Функции - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
MisterRight:
Очень хочется получить ответ на свой вопрос по поводу параметра begin в функции onCalculate
Или хотя бы увидеть код, в котором возникают такие ситуации, когда begin != 0.
Спасибо!

Статья 'Индикатор от индикатора в MQL5'. Для удобства рекомендую после открытия статьи в браузере выполнить 'Ctrl' + 'F' и ввести в поле поиска 'begin'. Теперь в статье будут подсвечены все вхождения слова 'begin':


Индикатор от индикатора в MQL5
Индикатор от индикатора в MQL5
  • www.mql5.com
При написании индикатора, который использует краткую форму вызова функции OnCalculate(), можно упустить то обстоятельство, что индикатор может рассчитываться не только на ценовых данных, но и на данных другого индикатора (встроенного или пользовательского - не имеет значения). Вы хотите улучшить индикатор, чтобы он правильно считался не только на ценовых данных, но и значениях другого индикатора? В этой статье мы по шагам пройдем все необходимые этапы такой модификации и выведем дополнительные полезные правила для правильного написания индикатора.
 
Понял, спасибо большое!)
Ctrl+F пользуюсь для поиска по встроенной справке, но не всегда получается найти.
 
Такой вопрос специалистам по mql. Как в эксперте меняются отметки закрытия позиций? Я хочу сделать так, чтобы на закрытии селлов была красная стрелочка влево, а у баев - синяя стрелочка влево. Я бы тогда сразу видел, что это не противоположное открытие, а именно закрытие. Ну, так было в МТ4 и горя не знал, хочется сделать также в МТ5. Заранее спасибо. 
 

Есть индикатор для скачивания новостей. Примерный код оттуда ниже. WebRequest возвращает 406. cookie указывать другой надо или в чем проблема может быть? Еще полгода назад всё работало.

   string cookie=NULL,headers;
   char post[],result[];     string TXT="";
   int res=-1;
//--- to work with the server, you must add the URL "https://www.google.com/finance"  
//--- the list of allowed URL (Main menu-> Tools-> Settings tab "Advisors"): 
   cookie="accept-encoding: deflate";
   string google_url="https://ec.forexprostools.com/?columns=exc_currency,exc_importance&importance=1,2,3&calType=week&timeZone=15&lang=1";
//--- 
   ResetLastError();
//--- download html-pages
   int timeout=500/*0*/; //--- timeout less than 1,000 (1 sec.) is insufficient at a low speed of the Internet
   int max_try=5;
   int n=0;
   while(res==-1)
     {
      res=WebRequest("GET",google_url,cookie,NULL,timeout,post,0,result,headers);
      ...
     }

Вот что приходит:

"<html><head><title>406 Not Acceptable</title></head><body><center><h1>406 Not Acceptable</h1></center><hr><center>nginx/1.16.1</center></body></html>" (length: 149)
Документация по MQL5: Сетевые функции / WebRequest
Документация по MQL5: Сетевые функции / WebRequest
  • www.mql5.com
WebRequest - Сетевые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Причина обращения: