PLO - 页 3 12345678 新评论 Dmitry Fedoseev 2010.07.16 17:51 #21 没有第二个参数,也是如此。 附加的文件: test-2.mq5 2 kb Renat Fatkhullin 2010.07.16 18:15 #22 你的代码中有一些小错误--我纠正了它并增加了一个检查输出。我在x64上的结果。2010.07.16 20:10:57 Test (GBPUSD,M15) Класс: 828 результат: 0.9999999999999994 2010.07.16 20:10:56 Test (GBPUSD,M15) Функция: 735 результат: 0.9999999999999994 对生成的代码的分析表明,函数和类的方法 调用是完全内联的,实际上是相互平等的。 循环中没有函数调用,该类的速度略低是由于间接寻址造成的。以下是代码。class CLASS { protected: double prev; public: CLASS() { prev=0.0; } double ma(double v) { prev=0.1*v+0.9*prev; return(prev); } }; double FUNC(double v,double prev) { prev=0.1*v+0.9*prev; return(prev); } void OnStart() { double x; int start; CLASS CL; //--- start=GetTickCount(); x=0; for(int i=0;i<100000000;i++) { x=FUNC(1,x); } Print("Функция: "+IntegerToString(GetTickCount()-start)," результат: ",x); //--- start=GetTickCount(); x=0; for(int i=0;i<100000000;i++) { x=CL.ma(1); } Print("Класс: "+IntegerToString(GetTickCount()-start)," результат: ",x); } Документация по MQL5: Основы языка / Типы данных / Структуры и классы www.mql5.com Основы языка / Типы данных / Структуры и классы - Документация по MQL5 Renat Fatkhullin 2010.07.16 18:18 #23 函数调用和类方法 之间的区别只有通过像这样专门编写的测试才能发现。在现实中,使用类可以通过节省传递常用参数来提高速度。 Документация по MQL5: Основы языка / Типы данных / Структуры и классы www.mql5.com Основы языка / Типы данных / Структуры и классы - Документация по MQL5 Дмитрий Александрович 2010.07.22 12:17 #24 Renat:函数调用和类方法 之间的区别只能通过像这样专门编写的测试来发现。在现实中,使用类来加速,但却牺牲了传输常用参数的经济性。我同意,OOP很难变得比程序化编程快,除非出现硬件支持:)好吧,别提了,我准备在mql 5中潜心研究OOP,我还没来得及研究呢)) Mario 2010.07.23 17:16 #25 mrProF:我同意,OOP很难变得比程序化编程快,除非有硬件支持 :)好吧,别提了,我将在mql 5中潜心研究OOP,我还没来得及研究呢))没有人需要所有这些OOP,除了那些想写一个人工大脑的程序员))))。我的意思是,我已经读了第一页的文章......我不明白......克兰西......为什么?只要解释一下原因......30个指标可能附在专家身上要快得多......或者什么为)))),我不太明白,不要生气。也许它是为。2010.07.05自动交易指标:用傅里叶法进行价格 推算(2012)。2010.07.19自动交易指标:Hodrick-Prescott过滤器(3) [删除] 2010.07.23 17:21 #26 maryan.dirtyn:没有人需要这些OOP,除了那些想写人工大脑的程序员))))我读了第一页的文章......我不明白,克拉西......为什么?只要解释一下原因......30个指标可能附在专家身上要快得多......或者什么为)))),我不太明白,不要生气。 对于那些想为自己写一个人工 "大脑 "的程序员来说,使交易员无脑... yu-sha 2010.07.23 23:44 #27 如果你不喜欢OOP,就不要使用它。MT5的所有基本功能都是以函数的形式经典实现的而按重量或按袋购买糖果则是一个品味问题。我喜欢把糖果放在冰箱的架子上,用五颜六色的包装包裹着。 Дмитрий Александрович 2010.07.25 18:46 #28 maryan.dirtyn:没有人需要这些OOP,除了那些想写人工大脑的程序员))))我读了第一页的文章......我不明白,克拉西......为什么?只要解释一下原因......30个指标可能附在专家身上要快得多......或者什么为)))),我不太明白,不要生气。也许它是为。2010.07.05自动交易指标:傅里叶价格外推法(2012)。2010.07.19自动交易 指标:Hodrick-Prescott过滤器(3)OOP对于大型程序来说是一件好事。 如果代码少于50行,你就不需要OOP。 但当代码变得太多时,几乎不可能理解什么属于什么--只有注释。 当变量没有按预期共享时,出错的概率就会增加;这是一个混乱。 在OOP中,变量可以和方法(函数)一起存储在一个容器(类)中。没有什么任务可以用OOP来写,也没有什么任务可以不用OOP来写。 这是一个方便的问题))OOP不是一种解决问题的方法,而是一种结构代码的方式。 [删除] 2010.07.25 18:56 #29 mrProF:没有什么任务是不能用OOP编写的,也没有什么任务是不可以用OOP编写的。这是一个方便的问题))OOP不是一种解决任务的方法,而是一种代码结构的方式。 这就对了...:) Дмитрий Александрович 2010.07.25 19:00 #30 我错了--"没有什么任务可以用OOP来写,也没有什么任务可以不用OOP来写"。这就是我的意思))。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有第二个参数,也是如此。
你的代码中有一些小错误--我纠正了它并增加了一个检查输出。
我在x64上的结果。
2010.07.16 20:10:57 Test (GBPUSD,M15) Класс: 828 результат: 0.9999999999999994 2010.07.16 20:10:56 Test (GBPUSD,M15) Функция: 735 результат: 0.9999999999999994
对生成的代码的分析表明,函数和类的方法 调用是完全内联的,实际上是相互平等的。
循环中没有函数调用,该类的速度略低是由于间接寻址造成的。
以下是代码。
函数调用和类方法 之间的区别只有通过像这样专门编写的测试才能发现。
在现实中,使用类可以通过节省传递常用参数来提高速度。
函数调用和类方法 之间的区别只能通过像这样专门编写的测试来发现。
在现实中,使用类来加速,但却牺牲了传输常用参数的经济性。
我同意,OOP很难变得比程序化编程快,除非出现硬件支持:)
好吧,别提了,我准备在mql 5中潜心研究OOP,我还没来得及研究呢))
我同意,OOP很难变得比程序化编程快,除非有硬件支持 :)
好吧,别提了,我将在mql 5中潜心研究OOP,我还没来得及研究呢))
没有人需要所有这些OOP,除了那些想写一个人工大脑的程序员))))。
我的意思是,我已经读了第一页的文章......我不明白......克兰西......为什么?
只要解释一下原因......30个指标可能附在专家身上要快得多......或者什么为)))),我不太明白,不要生气。
也许它是为。
没有人需要这些OOP,除了那些想写人工大脑的程序员))))
我读了第一页的文章......我不明白,克拉西......为什么?
只要解释一下原因......30个指标可能附在专家身上要快得多......或者什么为)))),我不太明白,不要生气。
如果你不喜欢OOP,就不要使用它。
MT5的所有基本功能都是以函数的形式经典实现的
而按重量或按袋购买糖果则是一个品味问题。
我喜欢把糖果放在冰箱的架子上,用五颜六色的包装包裹着。
没有人需要这些OOP,除了那些想写人工大脑的程序员))))
我读了第一页的文章......我不明白,克拉西......为什么?
只要解释一下原因......30个指标可能附在专家身上要快得多......或者什么为)))),我不太明白,不要生气。
也许它是为。
OOP对于大型程序来说是一件好事。
如果代码少于50行,你就不需要OOP。
但当代码变得太多时,几乎不可能理解什么属于什么--只有注释。
当变量没有按预期共享时,出错的概率就会增加;这是一个混乱。
在OOP中,变量可以和方法(函数)一起存储在一个容器(类)中。
没有什么任务可以用OOP来写,也没有什么任务可以不用OOP来写。
这是一个方便的问题))
OOP不是一种解决问题的方法,而是一种结构代码的方式。
mrProF:
没有什么任务是不能用OOP编写的,也没有什么任务是不可以用OOP编写的。
这是一个方便的问题))
OOP不是一种解决任务的方法,而是一种代码结构的方式。
我错了--"没有什么任务可以用OOP来写,也没有什么任务可以不用OOP来写"。
这就是我的意思))。