Учимся логике - страница 3

 

Добавлю по поводу участка, который критикует gip:

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   if ( StringFind(Symbol(), "EUR", 0) != -1) showEUR = TRUE;
   if ( StringFind(Symbol(), "USD", 0) != -1) showUSD = TRUE;
   if ( StringFind(Symbol(), "GBP", 0) != -1) showGBP = TRUE;
   if ( StringFind(Symbol(), "CHF", 0) != -1) showCHF = TRUE;
   if ( StringFind(Symbol(), "JPY", 0) != -1) showJPY = TRUE;

В принципе для оптимизации вычислений было бы логичнее каждый блок if() заканчивать обрывом проверки - иначе получается, что все пять операторов if() будут проходиться независимо от результата проверок.

Так как оператором break тут напрямую не воспользоваться, то этот блок вполне можно встроить в какой-нибудь цикл. Вот, скажем, "циклический" вариант:

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   while( true )
   {
      if (  StringFind(Symbol(), "EUR", 0) != -1) ) 
      {  
         showEUR = TRUE;         break; 
      }   
      if (  StringFind(Symbol(), "USD", 0) != -1) )
      {
         showUSD = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "GBP", 0) != -1) )
      {
         showGBP = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "CHF", 0) != -1) )
      {
         showCHF = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "JPY", 0) != -1) )
      {
         showJPY = TRUE;         break;
      }   
   }   
   

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

И совсем кратко получилось бы, если бы эти строчные имена валют записать в массив-константу и пройтись по нему в естественном цикле.

P.S. Теперь я понял свою ошибку: хотя бы два if() нужно проходить :) Тем не менее и это можно оптимизить, обрывая проверки после нахождения двух валют в паре.

 
age_nt:

Спасибо Дмитрий за внимание...с уважением отношусь к Вашим знаниям....ну и юмору конечно.

Не смог оценить - не установлен MSoffffffis 


Вот тут http://www.twirpx.com/file/86887/?rand=1440166 лежит учебник по формальной логике в формате djvu. "Кириллов В.И., Старченко А.А. Логика" - учебник по логике для юристов. Эта книга получше будет. Сам с неё когда-то начинал.
 
Согласно логике, нас всех тут быть не должно.
 
За всех не надо. Я тут последовательно и логично :) Петр и Виктор наверное тоже. Про остальных не знаю.
 
denis_orlov:
Согласно логике, нас всех тут быть не должно.


==++

Не все способны по логике начинать с начала.С первого поста.Как чукчи - что вижу,то и пою...

 
nikost:


==++

Не все способны по логике начинать с начала.С первого поста.Как чукчи - что вижу,то и пою...

сами вы чукча!))

начинать то должен топикстартер, а он проанонсировал и пропал, вот публика и топчется в нетерпении...

 
drknn:

Вот тут http://www.twirpx.com/file/86887/?rand=1440166 лежит учебник по формальной логике в формате djvu. "Кириллов В.И., Старченко А.А. Логика" - учебник по логике для юристов. Эта книга получше будет. Сам с неё когда-то начинал.

Спасибо Владимир!
 

Господа, только без наездов друг на друга, а то буду все посты лишние удалять. И без эмоций особых. Ветка как ветка.

 
Ветка как ветка. Только уже модераторская :)
 

Завтра попробую переделать этот индикатор https://www.mql5.com/ru/code/9751.

Значимым фактором будет время расчета. Чем быстрее, тем лучше. Но отрисовка должна сохраниться. Можно назвать это домашним заданием (найти варианты как сократить время расчета).

Индикатор просто оказался последним в CodeBase, так что прошу у автора прощения.

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