enum Direction
{
BUY,
SELL,
NO_SIGNAL
};
class Signal
{
public:
Signal() {}
~Signal() {}
virtual Direction check_signal() { return NO_SIGNAL; }
};
接下来,要么自己写,要么给3个人写信号,比如说,3个不同的指标。
class RSISignal : public Signal
{
public:
RSISignal() {}
~RSISignal() {}
Direction check_signal()
{
Direction result;
// Checking signal with RSIreturn result;
}
};
使用信号的地方就可以做。
Signal* signal;
switch signal_type
{
case RSI : signal = new RSI;
case CCI : signal = new CCI;
case MA : signal = new MA;
};
if (signal.check_signal())
.....
很好!有OOP的利润呢。学会后会不会马上就走?
OOP使你有能力编写紧凑、清晰、优雅的代码。你花在编写、修改和调试代码上的时间要少好几倍,这是很昂贵的。你可以建立一个复杂得多的交易系统,并尝试更多的交易选择。当然,如果你没有任何赚钱的机器人的想法 - 那么最好不要做任何事情。此外,不要忘记在出现bug时的直接损失的概率,在良好的OOP代码中,这种概率要小得多。
OOP使你有能力编写紧凑、清晰、优雅的代码。
它没有。
事实并非如此。
好吧,如果你设置一个任务,故意使其复杂化,那么是的,用OOP故意使其复杂化的机会更多。
但如果你不像戴眼镜的猴子,你会得到一个更清晰、更有结构性和可维护的OOP代码。
朋友们,我并不反对OOP。我喜欢它的对象想法。而我部分地使用了它,但是是以结构的形式,或者说是结构的阵列。在交易中,存储图表中的所有数据就足够了,不需要在每个柱子上运行循环。但我认为,这就是我们所需要的一切。当然,人们可以用OOP写一切,那些习惯于OOP的人。但它们和程序性的一样,都是远不能获利的。整个问题是在有利可图的系统中,如果你有这个系统,你可以通过goto-code来写它 :)
支部的主题是徘徊在解决它的方式上。
我也部分地使用了它,虽然是以结构的形式,或者说是以结构的阵列的形式。
在Java中,它甚至有自己的名字:POJO(Plain Old Java Object)。
;)
OOP代码明显更清晰、更有条理、更容易维护。
这并不总是如此,而且不取决于OOP,而是取决于代码的清洁和命名。
朋友们,我并不反对OOP。我喜欢它的对象想法。而且我部分地使用了它,但是是以结构的形式,或者说是结构的阵列。在交易中,存储图表中的所有数据就足够了,不需要在每个柱子上运行循环。但我认为,这就是我们所需要的一切。当然,人们可以用OOP写一切,那些习惯于OOP的人。但它们和程序性的一样,都是远不能获利的。整个问题是在有利可图的系统中,如果你有这个系统,你可以通过goto-code来写它 :)
支部的主题是徘徊在解决它的方式上。
使用结构不是OOP。OOP的所有好处都是从你开始使用OOP模式开始的。继承、单子、对象面、接口类,等等。另外,如果你的团队有2个人以上,你就不能没有OOP。比如说。
接下来,要么自己写,要么给3个人写信号,比如说,3个不同的指标。
使用信号的地方就可以做。
你,作为一个参议员,是完全从函数体的实现中抽象出来的。实施和使用哪个指标对你来说并不重要。你只需使用check_signal,就可以了。在这个例子中,使用了一个函数。如果一个类中有许多函数--你必须在实现取决于配置或其他选择的地方插入开关。另外,如果你在一堆地方使用一个数据库或者说,一个日志文件--你必须做一个全局变量,并在所有阶段控制其状态(文件或数据库是否打开,等等)。如果你为此目的使用单子--你可以确信,无论你在哪里使用日志文件/基数对象--总会有一个对象的副本,你可以重新打开基数/文件,使用状态标志,制作缓冲日志,这样你就不会在每次输出时都写入磁盘,等等。如果你有超过1万行的代码,那么这些功能对开发者来说就是一个活生生的地狱。而在半年后,当你忘记了你的一半代码时,再去重做它将是一个活生生的地狱。此外,良好的OOP设计允许你添加新的功能或编辑旧的功能,而不必担心如果你改变了某个地方,一切都会变得很糟糕。
5和4中的OOP有什么不同?启蒙。库存环境设置的差异是明显的。好吧,这些条条框框从头到尾都是有编号的。我没有看到语言上有任何其他明显的差异。
最起码,一堆望远镜函数终于被摆脱了,最重要的是,一个带有大量有用类的标准库被添加进来。
至少,最终摆脱了一堆望远镜函数,最重要的是,增加了一个拥有大量有用类的标准库。
特别是Object.mqh
直接从你不幸引用的书里出来......精彩的图案 :-)
这个话题不是关于 你对OOP课程的掌握有多好,学会了鼓吹它......在我看来,这是一个低劣的掌握
总之,明天拿着你的课本去上学。