OOP vs. programación procedimental - página 7

 
Реter Konow:
Ya veo. Este es un argumento indiscutible a favor de la OOP. La estupidez del cliente y la falta de tiempo para luchar contra ella y la falta de voluntad para mejorar el algoritmo de otra persona). Sí, en este caso se necesita OOP. Estoy de acuerdo).
Me parece que se puede prescindir de la OOP incluso en este caso
 
Реter Konow:
Ya veo. Este es un argumento indiscutible a favor de la OOP. La estupidez del cliente y la falta de tiempo para luchar contra ella y la falta de voluntad para mejorar el algoritmo de otra persona). Sí, en este caso se necesita OOP. Estoy de acuerdo).

¿Por qué es estúpido? El enfoque científico normal es tener todo al alcance de la mano para poder experimentar.

 
Реter Konow:
Ya veo. Este es un argumento indiscutible a favor de la OOP. La estupidez del cliente y la falta de tiempo para luchar contra ella y la falta de voluntad para mejorar el algoritmo de otra persona). Sí, en este caso se necesita OOP. Estoy de acuerdo).

Simplifique

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct str
  {
   int               Tickets;
   string            Symbols;
   int               Types;
   double            Lots;
   double            OpenPrice;
   double            StopLoss;
   double            TakeProfit;
   int               Slippage;
   string            Comments;
   int               Magic;
   datetime          Expiration;
   int               Digitss;
   double            Points;
   double            Profit;
   double            Commission;
   double            Swap;
   double            FullProfit;
  };

str Order[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class COrderMass
  {
protected:
   int               m_slippage;
   string            m_symbol;
   int               m_magic;
public:
   void              SetSymbol(string aSymbol)    {m_symbol   = aSymbol;}
   void              SetSlippage(int aSlippage)   {m_slippage = aSlippage;}
   void              SetMagic(int aMagic)         {m_magic    = aMagic;}

                     COrderMass(void);
                     COrderMass(string aSymbol,int aMagic,int aSlippage);
   void              UpdateOrdersMass();
  };
//+------------------------------------------------------------------+
COrderMass :: COrderMass(string aSymbol,int aMagic,int aSlippage):m_symbol(aSymbol),m_magic(aMagic),m_slippage(aSlippage)
  {

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void COrderMass :: UpdateOrdersMass()
  {
   int z=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if(OrderMagicNumber()==m_magic || m_magic==-1)
            if(OrderSymbol()==m_symbol || m_symbol=="")
              {
               ArrayResize(Order,z+1,1000);
               Order[z].Tickets       = OrderTicket();
               Order[z].Symbols       = OrderSymbol();
               Order[z].Types         = OrderType();
               Order[z].Lots          = OrderLots();
               Order[z].OpenPrice     = OrderOpenPrice();
               Order[z].StopLoss      = OrderStopLoss();
               Order[z].TakeProfit    = OrderTakeProfit();
               Order[z].Slippage      = m_slippage;
               Order[z].Comments      = OrderComment();
               Order[z].Magic         = OrderMagicNumber();
               Order[z].Expiration    = OrderExpiration();
               Order[z].Digitss       = (int)SymbolInfoInteger(Order[z].Symbols,SYMBOL_DIGITS);
               Order[z].Points        = SymbolInfoDouble(Order[z].Symbols,SYMBOL_POINT);
               Order[z].Profit        = OrderProfit();
               Order[z].Commission    = OrderCommission();
               Order[z].Swap          = OrderSwap();
               Order[z].FullProfit    = Order[z].Profit+Order[z].Commission+Order[z].Swap;
               z++;
              }
  }
//+------------------------------------------------------------------+
 

Señores discutidores, pongámoslo de esta manera, si no entienden de POO, no lo saben, discutamos entonces no de programación procedimental vs. POO, sino de programación procedimental con punteros a funciones vs. programación procedimental sin punteros a funciones.

 
Vladimir Pastushak:

Simplifique


o más bien resolverlo con funciones

 

La OOP es el progreso. Sólo hay que aceptarlo y empezar a estudiarlo. Puede ser útil.

Классы в C++ — урок 10
Классы в C++ — урок 10
  • votos: 74
  • 2012.09.16
  • code-live.ru
Весь реальный мир состоит из объектов. Города состоят из районов, в каждом районе есть свои названия улиц, на каждой улице находятся жилые дома, которые также состоят из объектов. Практически любой материальный предмет можно представить в виде совокупности объектов, из которых он состоит. Допустим, что нам нужно написать программу для учета...
 
Vladimir Pastushak:

Simplifique


Puede que no sea un enfoque racional cargar todas las órdenes abiertas con todos sus parámetros en un array.

 
Dmitry Fedoseev:

¿Por qué es estúpido? El enfoque científico normal es tener todo al alcance de la mano para poder experimentar.

La estupidez o el enfoque normal es un sentimiento subjetivo. Para mí es pura estupidez. Pero tal vez tampoco esté del todo bien. Sé que yo no haría el seguimiento de esta manera.
 
Dmitry Fedoseev:

Señores discutidores, pongámoslo así, si no entienden la POO, no lo saben, entonces discutamos no la programación procedimental vs la POO, sino la programación procedimental con punteros a funciones vs la programación procedimental sin punteros a funciones.

Discutamos si la programación estructurada -es decir, la división de un programa en funciones- es necesaria
 
Реter Konow:
La estupidez o la normalidad es un sentimiento subjetivo. Para mí, es pura estupidez. Pero tal vez tampoco esté del todo bien. Sé que yo no haría el seguimiento de esta manera.

Lee este post aquí y reacciona a élhttps://www.mql5.com/ru/forum/213378/page7#comment_5596988