Алгоритмы, методы решений, сравнение их производительности - страница 12

 
Sergey Dzyublik:

1. Сколько микросекунд в среднем берет поиск магика в вашем решении?

2. Насколько легко интегрировать ваше решение в советник (по вашему)?

 
Artyom Trishkin:

Лично мне хотелось бы, чтобы Пётр направил своё упорство в иное русло - не городить огороды, а понять что ему предлагается.

Спасибо. Добрые намерения всегда приятны.

Значит, я горожу огороды, а вы пытаетесь мне что то предложить. Хорошо.

А что вы думаете про решение выложенное Sergey Dzyublik?

Очевидно, именно этот стиль решений вы и предлагаете.

Тогда не объсните ли мне:

1. Как это решение легко и быстро интегрировать в советник?

2. Чем оно лучше моего простого решения?

 

Поправьте меня, но разве длина строки не конечна?

https://msdn.microsoft.com/ru-ru/library/sx08afx2.aspx

Не могу только найти это ограничение для MQL5...

Максимальная длина строки
Максимальная длина строки
  • msdn.microsoft.com
В режиме совместимости с ANSI требуется, чтобы компилятор принимал до 509 символов в строковом литерале после объединения. Максимальная допустимая длина строкового литерала в Microsoft C — приблизительно 2048 байтов. Однако если строковый литерал состоит из двух частей, заключенных в двойные кавычки, препроцессор объединяет эти части в одну...
 
Реter Konow:

Спасибо. Добрые намерения всегда приятны.

Значит, я горожу огороды, а вы пытаетесь мне что то предложить. Хорошо.

А что вы думаете про решение выложенное Sergey Dzyublik?

Очевидно, именно этот стиль решений вы и предлагаете.

Тогда не объсните ли мне:

1. Как это решение легко и быстро интегрировать в советник?

2. Чем оно лучше моего простого решения?

Нет. Я не предлагаю вам чужой вам стиль решения. Пишите в своём стиле - никто никому ничего не навязывает же.

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

Насчёт интеграции в советник и преимуществ предложенного решения - пусть вам ответит тот, кто его предложил.

 
Artyom Trishkin:

Нет. Я не предлагаю вам чужой вам стиль решения. Пишите в своём стиле - никто никому ничего не навязывает же.

Но я предлагаю вам со свойственным вам упорством решать задачи оптимальным образом изначально. Вы же что делаете?

1. Вы изначально выбираете самое неоптимальное решение из возможных, и начинаете его обыгрывать со всех сторон. Для данной задачи, ещё на стадии продумывания решения, нужно было не то, что отбросить ваш вариант, а даже не думать в том направлении - работа с текстом слишком затратна по ресурсам. Да и не для этого предназначены функции работы с текстом.

2. Насчёт интеграции в советник и преимуществ предложенного решения - пусть вам ответит тот, кто его предложил.

1. С точки зрения практики, это пустые слова, которыми вы боретесь с фактами. Я показал замер времени на поиск магика. Я продемонстрировал удобство интеграции решения в советник. Вы демонстрируете только клевету на мое решение. Больше ничего.

2. Интеграция в советник является ключевым моментом. Если решение сверх-запутанно (я уверен, вы даже объяснить не можете как работает решение Sergey Dzyublik), то какова его практическая ценность для трейдера? Нельзя построить нормальный советник из сверх-запутанных решений.

Я не сужу решение Sergey Dzyublik. Он его еще не объяснил. Когда объяснит, - тогда станет понятно кто "городит огород".

 
Sergey Dzyublik:

  1. По какой причине стиль таков, что сначала прописываются интерфейсы, а только затем классы (как наследники соответствующих интерфейсов)?
  2. Зачем это делается?

// TODO bypass the problem with explicit template specialization
template<typename T>
IGenerator<T>* CreateGenerator(){
   string generatorName = typename(T);
   StringToUpper(generatorName);
   
   if (generatorName == "INT"){
      return new IntGenerator();
   }
    
   return NULL;
}


Очевидно, что просто забыли

      delete generator;
      
      return TEST_DURATION("GetValue");


Несколько удивило, что сделали через CArrayList, а не использовали только что обсуждаемый HashMap. Не стоило ориентироваться на кривой оригинал автора, где сделки - это индексы, а не тикеты.

HashMap был бы нагляднее, практичнее и быстрее, скорее всего.


Удивился сам себе, что такой код прочел с легкостью. Однако, показанного уровня абстракции в программировании сам пока не достиг. У меня пока процедурный стиль + ООП. Здесь же чистый ООП. Видимо, это какая-то хорошо усвоенная школа программирования. Похожий уровень абстракции на этом ресурсе видел только у Stanislav Korotky.

 
Реter Konow:

1. С точки зрения практики, это пустые слова, которыми вы боретесь с фактами. Я показал замер времени на поиск магика. Я продемонстрировал удобство интеграции решения в советник. Вы демонстрируете только клевету на мое решение. Больше ничего.

2. Интеграция в советник является ключевым моментом. Если решение сверх-запутанно (я уверен, вы даже объяснить не можете как работает решение Sergey Dzyublik), то какова его практическая ценность для трейдера? Нельзя построить нормальный советник из сверх-запутанных решений.

Я не сужу решение Sergey Dzyublik. Он его еще не объяснил. Когда объяснит, - тогда станет понятно у кто городит огород.

Как тяжело с тем, кто горд. Слишком горд.

Наверное я лучше помолчу - много дел ещё сделать нужно. Здесь мне интересно потому, что тема, поднятая Василием сильно пересекается с темой, которую я готовлю.

А ваши упорство и гордость - они лишь ваши, и больше никому не интересны.

Такой ответ подойдёт вам?

 
Artyom Trishkin:

Как тяжело с тем, кто горд. Слишком горд.

Наверное я лучше помолчу - много дел ещё сделать нужно. Здесь мне интересно потому, что тема, поднятая Василием сильно пересекается с темой, которую я готовлю.

А ваши упорство и гордость - они лишь ваши, и больше никому не интересны.

Такой ответ подойдёт вам?

Вполне. Только гордость нипричем. Самоутверждение - возможно.

Но это присуще каждому.

 
Реter Konow:

Вполне. Только гордость нипричем. Самоутверждение - возможно.

Но это присуще каждому.

Пока что вы самоутвердились как очень странный человек. Абсолютно необучаемый и абсолютно не приемлящий подсказок от товарищей по цеху.

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

Продолжайте.

 
Artyom Trishkin:

Пока что вы самоутвердились как очень странный человек. Абсолютно необучаемый и абсолютно не приемлящий подсказок от товарищей по цеху.

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

Продолжайте.

Есть много догм и стереотипов мышления.

Я обучаюсь иначе, чем вы привыкли это понимать. Пропускаю знания через призму собственного критического мышления, и в этом процессе осознаю что ценное, а что лишее.

Лишнее отметаю. Остается голая сущность, которую принимаю.

Иначе говоря, я "потребляю" знания осознанно и раздроблено, в отличии от тех, кто принимает бездумно и целиком.

Знания должны проходить фильтрацию мышления (если оно работает).


Я осознаю свои ошибки, как только в них убеждаюсь. На текущий момент никто не смог доказать что мое решение ошибочно. Будем ждать.

Причина обращения: