Ошибки, баги, вопросы - страница 3359

Alexey Viktorov #:

Спасибо за разъяснение, я этого не знал, видимо потому, что я не каждый программист…

Проверять лениво, но думаю такой вариант 

исправит положение. Я правильно думаю?

Привет, Алексей! Блин, тоже заинтересовался данным моментом, поэтому не поленился и попробовал запустить скрипт по твоему варианту. Положение не исправило!

С уважением, Владимир.

Alexey Viktorov #:

исправит положение. Я правильно думаю?

Нет, то же самое будет.

Andrei Iakovlev #:

Я имел в виду автоматически, без указания доп. проверок.

for (uint i = HistoryDealsTotal(); (bool)i--; )
  Print(HistoryDealGetTicket(i));

Перебор всех сделок.

Andrei Iakovlev #:

Я имел в виду автоматически, без указания доп. проверок.

в любом цикле всегда минимум одна проверка

Вот самый короткий способ полного перебора типа uchar:

uchar c = 255;
   do {
      Print(c);
   } while (c--!=0);
fxsaber #:

Перебор всех сделок.

fxsaber #:

Перебор всех сделок.

не всех. Первая (i == 255) исключается

for (uint i = 255; (bool)i--; )
  Print(i);
}
Ошибка в документации.

HistoryDealGetTicket

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

ulong  HistoryDealGetTicket(
   int  index      // номер сделки
   );



ЗЫ HistoryOrderGetTicket, PositionGetTicket, OrderGetTicket - аналогично.

Документация по MQL5: Торговые функции / HistoryDealGetTicket
Документация по MQL5: Торговые функции / HistoryDealGetTicket
  • www.mql5.com
HistoryDealGetTicket - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Nikolai Semko #:

не всех. Первая (i == 255) исключается

Всех. Внимательнее посмотрите.

fxsaber #:

Всех. Внимательнее посмотрите.

речь о всех значениях типа, а не массива

массива всех, а типа не всех

Nikolai Semko #:

речь о всех значениях типа, а не массива

Пример из жизни MQL5 EA.

fxsaber #:

Перебор всех сделок.

   for(uchar c = 2; (bool)c--; )
   Print("c = ",c);

Результат:

Значение 2 пропущено.