OOP与程序化编程 - 页 7

 
Реter Konow:
我明白了,这是支持OOP的一个无可争议的论据。客户的愚蠢和没有时间与之斗争,不愿意改进别人的算法)。是的,在这种情况下你需要OOP。我同意)。
在我看来,即使在这种情况下,你也可以不采用OOP。
 
Реter Konow:
我明白了,这是一个支持OOP的无可争议的论据。客户的愚蠢和没有时间与之斗争,不愿意改进别人的算法)。是的,在这种情况下你需要OOP。我同意)。

为什么它是愚蠢的?正常的科学方法是在你的指尖上拥有一切,使你能够进行实验。

 
Реter Konow:
我明白了,这是支持OOP的一个无可争议的论据。客户的愚蠢和没有时间与之斗争,不愿意改进别人的算法)。是的,在这种情况下你需要OOP。我同意)。

简化

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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++;
              }
  }
//+------------------------------------------------------------------+
 

各位辩友,这么说吧,如果你不了解OOP,不知道,那我们就不争论程序化编程与OOP,而是争论有函数指针的程序化编程与没有函数指针的程序化编程。

 
Vladimir Pastushak:

简化


或者说用函数来解决这个问题

 

OOP是一种进步。你只需接受它并开始研究它。它可能会派上用场。

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

简化


将所有未结订单及其所有参数加载到一个数组中,可能不是一个合理的做法。

 
Dmitry Fedoseev:

为什么它是愚蠢的?正常的科学方法是把一切都放在指尖上,以便有可能进行实验。

愚蠢或正常的做法是一种主观感受。对我来说,这纯粹是愚蠢的行为。但也许我也不完全正确。我知道,我不会以这种方式进行追踪。
 
Dmitry Fedoseev:

各位争论者,这样说吧,如果你不理解OOP,不知道,那么我们就不要争论程序化编程与OOP,而是争论带有函数指针的程序化编程与没有函数指针的程序化编程。

让我们来争论一下结构化编程--即把一个程序分成若干个函数--是否有必要。
 
Реter Konow:
愚蠢或正常是一种主观的感觉。对我来说,这纯粹是愚蠢的行为。但也许我也不完全正确。我知道我不会以这种方式进行追踪。

在这里阅读这个帖子,并对其作出反应https://www.mql5.com/ru/forum/213378/page7#comment_5596988