Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров" - страница 5

 
Реter Konow:
Все получается и работает хорошо. Каждому свое. 
Читаю статьи и никак не могу найти "генератор сущностей" - принцип по которому все это производится. Пытаюсь научится так мыслить и разобраться, почему у меня всё иначе. И в чем преимущество иного мышления (если оно есть). Артёму про схему библиотеки тоже говорил.


Да схема-то по сути своей простая как три рубля. Странно, что она вообще нужна.
А вот если рисовать все взаимосвязи - тут скорее можно больше запутать читателя. Ведь многие объекты используют данные своих соседей. Но все они лежат каждый в своей коллекции. А коллекции - в базовом CEngine. А когда будут пользовательские функции - будет две точки доступа в библиотеку. И связей ещё больше станет.
 
Artyom Trishkin:
Да схема-то по сути своей простая как три рубля. Странно, что она вообще нужна.
А вот если рисовать все взаимосвязи - тут скорее можно больше запутать читателя. Ведь многие объекты используют данные своих соседей. Но все они лежат каждый в своей коллекции. А коллекции - в базовом CEngine. А когда будут пользовательские функции - будет две точки доступа в библиотеку. И связей ещё больше станет.
Ну, будем читать и изучать хитросплетения...)
 
//+------------------------------------------------------------------+
//| Compare CPendingReq objects by properties                        |
//+------------------------------------------------------------------+
int CPendingReq::Compare(const CObject *node,const int mode=0) const
  {
   const CPendingReq *compared_req=node;
   return
     (
      //--- Compare by ID
      mode==0  ?  
      (this.ID()>compared_req.ID() ? 1 : this.ID()<compared_req.ID() ? -1 : 0)   :
      //--- Compare by type
      (this.Type()>compared_req.Type() ? 1 : this.Type()<compared_req.Type() ? -1 : 0)
     );
  }
//+------------------------------------------------------------------+

Type or Id не может быть равными?

 
BillionerClub:

Type or Id не может быть равными?

Не понял смысла вопроса. Уточните пожалуйста.

 
Artyom Trishkin:

Не понял смысла вопроса. Уточните пожалуйста.

Когда сравниваешь всегда есть ситуация когда возможно равенство 

this.Type()>=compared_req.Type()
 
BillionerClub:

Когда сравниваешь всегда есть ситуация когда возможно равенство 

Здесь проверяются три условия:

this.Type()>compared_req.Type() ? 1 : this.Type()<compared_req.Type() ? -1 : 0

Больше (1), меньше (-1), остальное (0)

 
Artyom Trishkin:

Здесь проверяются три условия:

Больше (1), меньше (-1), остальное (0)

блин вот я дурак в лоб не видел смысл кода))

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