我的方法。核心是引擎。 - 页 4 1234567891011...184 新评论 Aliaksandr Hryshyn 2018.12.05 21:11 #31 OOP不会干扰内核的实现,恰恰相反。通常情况下,有代码和数据。在我们的例子中,内核是代码,与数据强烈分离。数据也可以是代码本身。内核通常有更完整的功能来处理特定的数据,或者至少有一些自给自足的最低限度。这种方法允许你使用最方便的数据格式,它假定会有大量的数据。下面是另一个可以应用这种方法的例子:专家顾问中有很多策略,数据只代表策略的逻辑,核心是管理策略的功能,即订单管理、风险管理、与交易环境的合作、指标、错误处理、显示部分或全部统计数据、追踪/网格/..... 功能 Alexey Navoykov 2018.12.05 22:34 #32 Реter Konow: 你创建一个数组,并将你想创建的按钮的属性值写入其中。 一个按钮由三个对象组成:底座、文本、图片。 每个对象都存在于一个Button元素内,因此数组必须是二维的。 所以,当你可以(而且应该)使用一个结构来处理时,为什么还要为所有这些数组而烦恼呢?而且我们可以人性化地处理这些值--按字段名,而不是按索引(这可能会造成很多愚蠢的错误)。 结果,不是一个二维数组,而是一个结构数组。 声明是一样的简洁,但简单性和可靠性要高得多,再加上内存的合理使用,因为每个字段都有自己的类型。 而OOP与此完全没有关系。 这里有一个例子。 struct TObject { char type; string name; int x; int y; int width; int height; color clr; }; TObject Objects[]= { { OBJ_BITMAP, "Bitmap", 100, 100, 200, 200, clrRed }, { OBJ_BUTTON, "Button", 150, 150, 50, 10, clrWhite }, }; Maxim Kuznetsov 2018.12.06 00:26 #33 Alexey Navoykov: 结果是一个 结构数组,而不是一个二维数组。 声明是一样的,但便利性和可靠性要高得多,再加上内存的合理使用,因为每个字段都有自己的类型。 而且OOP与此完全无关。 这有点模棱两可......哪个更好--一个结构的数组还是一个数组的结构? 但MQL的设计是为了与Forthran数组一起工作,这是一个事实... Alexey Navoykov 2018.12.06 08:12 #34 Maxim Kuznetsov:这里有一个难题......哪个更好--结构的数组还是数组结构?我们谈论的是什么样的数组结构? 作者只是有数组 Petros Shatakhtsyan 2018.12.06 08:56 #35 我想Peter从未见过如何在Visual C++中创建一个DialogBox模板,将任何控件,如Button、CheckBox、EditBox、ComboBox等,在可视化模式下拖放到其中。 换句话说,你可以在Windows中看到的元素,包括用字段和字符串调整来显示DB字符串的不同选项。 而使用MFC,你可以在几分钟内做出相当复杂的对话框,而且非常简略。 Реter Konow 2018.12.06 09:17 #36 Alexey Navoykov: 为什么要用数组来做这些变态的事情呢,因为你可以(而且应该)用结构来做这些事情。它以完全相同的方式被初始化--用值,用逗号隔开。 而且这些值可以被人性化地访问--通过字段名,而不是通过索引(这可能导致很多愚蠢的错误)。 结果,不是一个二维数组,而是一个结构数组。 声明是一样的简洁,但简单性和可靠性要高得多,再加上内存的合理使用,因为每个字段都有自己的类型。 而OOP与此完全没有关系。 下面是一个例子。 这是一个不错的解决方案。但这种结构不能被整合到内核中。如果按照我的技术构建内核时,你只需要在有原型元素的数组上做一个循环,然后把它们重写到内核中,在你的方案中,这个循环是不可能的。 虽然有可能,但每个元素都应该被包裹在一个单独的结构中。以及如何在全局范围内显示它?在哪里宣布这一切...这一点并不清楚。 我的很简单。一个元素原型的数组。对象的 所有属性 都在它里面。阵列本身是全局的。访问是最简单的,而且是在程序的任何地方。 pavlick_ 2018.12.06 09:19 #37 你的肠胃不抵制使用双打吗?毕竟,它也是一个有自己方法的复合对象。在正统的内核阵列中,没有它们的位置!看,因为它令人印象深刻(尾数、指数、符号)。_NEW_OBJECT, тра-та-та-та-та-та, 3, 10, 1, тра-та-та-та-та-та Реter Konow 2018.12.06 09:26 #38 pavlick_: 你的肠胃不抵制使用双打吗?毕竟,它也是一个有自己方法的复合对象。在正统的内核阵列中没有它们的位置!"。看,这令人印象深刻(尾数、指数、符号)。我不明白。 Реter Konow 2018.12.06 09:34 #39 我摆脱了不必要的语法和手鼓,我只是在一个全局原型数组中初始化元素属性。 它只被使用一次--当元素原型被改写成Kernel时。 重写是在一个简单的循环中完成的。 因此,在构建阶段,Kernel开始包含用户选择的元素的原型。 接下来,内核上的新周期开始了。在它们中,我写下了用户定义的元素属性的值。 最后,你会得到一个完成的内核,它包含了所有元素的完成的用户窗口。 Реter Konow 2018.12.06 09:41 #40 我把上述的过程称为"建立核心的过程"。 核心建成后,"引擎 "开始工作。 引擎是控制元素力学的代码。 该引擎只被训练为与Kernel一起工作。它的引擎是各种事件(主要来自OnChartEvent())。 1234567891011...184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Реter Konow:
你创建一个数组,并将你想创建的按钮的属性值写入其中。
一个按钮由三个对象组成:底座、文本、图片。
每个对象都存在于一个Button元素内,因此数组必须是二维的。
所以,当你可以(而且应该)使用一个结构来处理时,为什么还要为所有这些数组而烦恼呢?而且我们可以人性化地处理这些值--按字段名,而不是按索引(这可能会造成很多愚蠢的错误)。
结果,不是一个二维数组,而是一个结构数组。 声明是一样的简洁,但简单性和可靠性要高得多,再加上内存的合理使用,因为每个字段都有自己的类型。 而OOP与此完全没有关系。
这里有一个例子。
结果是一个 结构数组,而不是一个二维数组。 声明是一样的,但便利性和可靠性要高得多,再加上内存的合理使用,因为每个字段都有自己的类型。 而且OOP与此完全无关。
这有点模棱两可......哪个更好--一个结构的数组还是一个数组的结构?
但MQL的设计是为了与Forthran数组一起工作,这是一个事实...
这里有一个难题......哪个更好--结构的数组还是数组结构?
我们谈论的是什么样的数组结构? 作者只是有数组
我想Peter从未见过如何在Visual C++中创建一个DialogBox模板,将任何控件,如Button、CheckBox、EditBox、ComboBox等,在可视化模式下拖放到其中。
换句话说,你可以在Windows中看到的元素,包括用字段和字符串调整来显示DB字符串的不同选项。
而使用MFC,你可以在几分钟内做出相当复杂的对话框,而且非常简略。
为什么要用数组来做这些变态的事情呢,因为你可以(而且应该)用结构来做这些事情。它以完全相同的方式被初始化--用值,用逗号隔开。 而且这些值可以被人性化地访问--通过字段名,而不是通过索引(这可能导致很多愚蠢的错误)。
结果,不是一个二维数组,而是一个结构数组。 声明是一样的简洁,但简单性和可靠性要高得多,再加上内存的合理使用,因为每个字段都有自己的类型。 而OOP与此完全没有关系。
下面是一个例子。
这是一个不错的解决方案。但这种结构不能被整合到内核中。如果按照我的技术构建内核时,你只需要在有原型元素的数组上做一个循环,然后把它们重写到内核中,在你的方案中,这个循环是不可能的。
虽然有可能,但每个元素都应该被包裹在一个单独的结构中。以及如何在全局范围内显示它?在哪里宣布这一切...这一点并不清楚。
我的很简单。一个元素原型的数组。对象的 所有属性 都在它里面。阵列本身是全局的。访问是最简单的,而且是在程序的任何地方。
你的肠胃不抵制使用双打吗?毕竟,它也是一个有自己方法的复合对象。在正统的内核阵列中没有它们的位置!"。看,这令人印象深刻(尾数、指数、符号)。
我不明白。
我摆脱了不必要的语法和手鼓,我只是在一个全局原型数组中初始化元素属性。
它只被使用一次--当元素原型被改写成Kernel时。
重写是在一个简单的循环中完成的。
因此,在构建阶段,Kernel开始包含用户选择的元素的原型。
接下来,内核上的新周期开始了。在它们中,我写下了用户定义的元素属性的值。
最后,你会得到一个完成的内核,它包含了所有元素的完成的用户窗口。
我把上述的过程称为"建立核心的过程"。
核心建成后,"引擎 "开始工作。
引擎是控制元素力学的代码。
该引擎只被训练为与Kernel一起工作。它的引擎是各种事件(主要来自OnChartEvent())。