Полезные функции от KimIV - страница 125

 
borilunad:
В шестёрках Артём ни Ренат не нуждаются!
А кому из них ты уже предлагал свои услуги?
 
borilunad:

Это правда?! "... то терминал притормаживают чтобы невозможно было заработать..."

Разговор шёл только о тестере, а остальное, вообще, не мои слова. Очередная подтасовка этого 6-десятника!

Привет деловым с выводами! 

Где тут:

"...Вот тебе и благодарность за твои потуги оказать помощь... Все вокруг сволочи, преследуют и ставят палки в колёса... то терминал притормаживают чтобы невозможно было заработать, то советы дают только за деньги... За 60 лет жизни каких только не встречал, а такого я впервые наблюдаю..."

он говорит, что терминал нарочно притормаживают для невозможности заработка?

Это он тебя изобразил. Плюс мне посочувствовал.

Ваще не понимаю тебя...

 
artmedia70:

Почему же? Программист. Мне нравится его логика, но я бы так написал функцию подсчёта количества ордеров:

//+------------------------------------------------------------------+
int NumberTradesOrders(string sy, int op, int mn) {
   int num=0;
   for(i=OrdersTotal()-1; i>=0; i--) {
      if(OrderSelect(i,SELECT_BY_POS)) {
         if(OrderMagicNumber()!=mn) continue;   // для тестера можно удалить
         if(OrderSymbol()!=sy)      continue;   // для тестера можно удалить
         if(OrderType()!=op)        continue;
         num++;
         }
      }
   return(num);
}
//+------------------------------------------------------------------+

Что-то тут ругань пошла не по теме, - подкину мысль. Для обеих приводившихся реализаций.

Что будет, если для некоторых ордеров OrderSelect() по какой-то там причине вернёт false?

Посчитанное значение же будет недостоверным, верно?

А если для всех ордеров? Вообще скажет, что ордеров с такими характеристиками нет, и "верхняя" логика, вызвавшая NumberTradesOrders(), радостно начнёт открывать новые, раз ордеров нет?

По идее, надо предусмотреть данные ошибочные ситуации и возвращать в таких случаях признак "не удалось посчитать", то есть, - нет такого числа, раз не удалось вычислить.

И "верхний" код должен проверять этот признак и соответствующим образом строить свою логику.

 
simpleton:

Что-то тут ругань пошла не по теме, - подкину мысль. Для обеих приводившихся реализаций.

Что будет, если для некоторых ордеров OrderSelect() по какой-то там причине вернёт false?

Посчитанное значение же будет недостоверным, верно?

А если для всех ордеров? Вообще скажет, что ордеров с такими характеристиками нет, и "верхняя" логика, вызвавшая NumberTradesOrders(), радостно начнёт открывать новые, раз ордеров нет?

По идее, надо предусмотреть данные ошибочные ситуации и возвращать в таких случаях признак "не удалось посчитать", то есть, - нет такого числа, раз не удалось вычислить.

И "верхний" код должен проверять этот признак и соответствующим образом строить свою логику.

Я вот специально if(OrderSelect(i,SELECT_BY_POS)) выделил отдельным блоком. Чтобы возвращать при отладке значение ошибки. else {// пишем про ошибку выбора как душе угодно и возвращаем из неё, например EMPTY}.

А давайте придумайте ситуацию, когда при наличии в рынке выбираемого ордера произойдёт ошибка его выбора. Пообсуждаем. Я ещё ни разу не столкнулся.

 
simpleton:

Что будет, если для некоторых ордеров OrderSelect() по какой-то там причине вернёт false?

А назовите хотя бы одну причину, когда правильно созданный цикл перебора ордеров может вернуть "false". 

Ой, не заметил, что Артем уже спросил, упс. И все же.

 
borilunad:
........  ....  ....!
Борис, ты не прав.
Ребята стараются помочь и тебе, и другим, при этом достаточно корректны. А ты здесь выглядишь чрезмерно раздражительным и невыдержаным.
Мне кажется, что ты этого не замечаешь.
 

Виктор, я не программист, а пользователь, но с интересом развиваю и претворяю свои идеи для эффективности моих программ. У каждого своё видение, свой стиль, своя манера. Я многому научился, благодаря и помощи ребят. Но когда я констатирую факты торможения тестера ввиду только присутствия в советнике вызова кастомного индикатора, начиная с 711-го билда, они настоятельно требуют доказательств, логов! И это в то время, когда я уже заменил кастомы на штатные, и мои мысли уже направлены на другие задачи.

Меня не интересуют проблемы, я их обхожу и делаю своё дело. Но я всё же продемонстрировал им, но они никак не среагировали, потому что не увидели того, что хотели. Подождав сутки, я удалил лишнее по своему усмотрению, оставив только строчки, касающиеся вызова индикатора и затраченного времени на годовые прогоны для сравнения! Выше можешь увидеть и убедиться! 

Для меня программирование средство для работы на рынке. Не претендую на работу в маркете, и в нём не нуждаюсь. У программистов, может, отличные цели, но именно, моё раздражение и невыдержанность спровоцировано ихней настойчивостью и известной долей нелицеприятных выражений в мой адрес!

 
Борь, давай ты им покажешь пример выдержки? Я долго тренировался, но научился сдерживаться. Кажется..
 
granit77:
Борь, давай ты им покажешь пример выдержки? Я долго тренировался, но научился сдерживаться. Кажется..
Мы все при желании учимся всему, и если смог показать пример задержки тестера, то смогу и сдерживать себя, не показывая никому. Хотя бы так, чтобы казалось... 
 
granit77:
Борь, давай ты им покажешь пример выдержки? Я долго тренировался, но научился сдерживаться. Кажется..
Войди в его положение. Жизнь на чужбине, вдали от Родины не проходит бесследно. Появляется раздражительность, злость на себя, что когда то совершил непоправимую ошибку, став гастарбайтером.)
Причина обращения: