MQL5中的OOP问题 - 页 60 1...535455565758596061626364656667...96 新评论 Aleksey Mavrin 2020.05.19 07:56 #591 Igor Makanu: 又见面了! 这个问题,有一个枚举,我们需要一个数组枚举或一个列表枚举或一个容器枚举--可以存储7个枚举的东西,但胃口越来越大,也许是70个枚举。 在哪里? 根据任务,数组和列表以及容器都可以做。按照我的理解,很可能你需要简化代码编写,那么你可以把枚举分成几组,然后把它们组合成每个对象的参数的结构。 如果我们谈论的是执行阶段,我认为只有在指定值/对时使用枚举是正常的做法。而为了存储它们,使用一个简单的基础类型。 Igor Makanu 2020.05.19 10:35 #592 Aleksey Mavrin: 你可以做一个数组、一个列表和一个容器,这取决于任务。按照我的理解,你可能需要简化代码编写,然后你可以把枚举分成几组,并把它们组合成每个对象的参数的结构。 如果我们谈论的是执行阶段,我认为只有在指定值/对时使用枚举是正常的做法。而为了存储它们,使用一个简单的基础类型。 起初是这样做的,但由于某些原因我放弃了,似乎在初始化这些字段时有问题,或者说在某些构建中ME中枚举的自动完成变体有问题,也许是由于另一个注入器中的部分代码是....。让我们研究一下这个选项。 在互联网上冲浪,我想要像这样的夏普产品......一些属性(()。 public class COrder { public enum E_MOTION { HIGHER, LOWER, ZIGZAG } public enum E_VOLUME { FIXED, INC, DEC } public E_MOTION OrderMotionType { get; set; } public E_VOLUME OrderVolumeType { get; set; } } class Program { static void Main(string[] args) { var current = new COrder { OrderMotionType = COrder.E_MOTION.HIGHER, OrderVolumeType = COrder.E_VOLUME.FIXED }; } } Vladimir Simakov 2020.05.19 18:35 #593 Igor Makanu: 起初是这样做的,但由于某些原因我放弃了,似乎在初始化这些字段时有问题,或者说在某些构建中ME的枚举变体的自动替换有问题,可能是因为另一个注入器中的部分代码是....。让我们研究一下这个选项。 在互联网上冲浪,我想要像这样的夏普产品......某种属性(() 有什么问题呢? 如果是一对一的,那么。 class COrder { public: enum E_MOTION { HIGHER, LOWER, ZIGZAG }; enum E_VOLUME { FIXED, INC, DEC }; E_MOTION orderMotionType; E_VOLUME orderVolumeType; COrder(E_MOTION _motion, E_VOLUME _volume):orderMotionType(_motion),orderVolumeType(_volume){} }; void OnStart(){ COrder* current = new COrder(COrder::HIGHER,COrder::FIXED); } 这是在你不想把枚举放在全局范围内 的情况下。 Igor Makanu 2020.05.19 18:42 #594 Vladimir Simakov: 这是在你不想把枚举放在全局范围内 的情况下。 嗯... 我只是不知道该怎么做。 COrder* current = new COrder(COrder::HIGHER,COrder::FIXED); 谢谢! Igor Makanu 2020.05.20 03:06 #595 有没有人有一个优雅的解决方案,用JSON来上传不复杂的对象? 我需要一个这样的MQL代码的例子。 public class COrder { public enum E_MOTION { HIGHER, LOWER, ZIGZAG } public enum E_VOLUME { FIXED, INC, DEC } public bool IsRunning { get; set; } public int OpenPrice { get; set; } public int ClosePrice { get; set; } public E_VOLUME OrderVolumeType { get; set; } public E_MOTION OrderMotionType { get; set; } } class Program { static void Main(string[] args) { var current = new COrder { IsRunning = false, OpenPrice = 1200, ClosePrice = 1300, OrderMotionType = COrder.E_MOTION.ZIGZAG, OrderVolumeType = COrder.E_VOLUME.FIXED }; string json = JsonSerializer.Serialize<COrder>(current); Console.WriteLine(json); Console.ReadLine(); } } {"IsRunning":false,"OpenPrice":1200,"ClosePrice":1300,"OrderVolumeType":0,"OrderMotionType":2} MQL序列化器可在https://www.mql5.com/ru/code/13663 但我不明白正确的字段遍历的结构 Alexey Navoykov 2020.05.20 04:45 #596 Igor Makanu: 但我不知道如何正确地遍历对象的字段 宏观调控是一切。) Igor Makanu 2020.05.20 04:48 #597 Alexey Navoykov: 宏量是一切!) 嗯哼...我再试着问一下。 请帮助我帮助一个考试者!请 Alexey Navoykov 2020.05.20 05:10 #598 Igor Makanu: 嗯哼...我再试着问一下。 请帮助我,并需要一个例子!请! 好吧,如果问题具体涉及绕过田地,那就是这样的。 #define SERIALIZE5(object, m1, m2, m3, m4, m5) /* your code */ ... SERIALIZE5(current, IsRunning, OpenPrice, ClosePrice, OrderVolumeType, OrderMotionType); 你可以自己解决宏的主体问题)。 Igor Makanu 2020.05.20 05:12 #599 Alexey Navoykov: 好吧,如果问题是关于字段遍历的,多多少少是这样的。 而且你可以自己解决宏观的主体问题)。 好吧,这是个好主意! 谢谢你! Alexey Navoykov 2020.05.20 05:36 #600 另一方面,对于序列化来说,明确指定字段的文本名称可能更好,这样你可以在以后的代码中重新命名它们,而不用担心保存的文件会停止工作。 1...535455565758596061626364656667...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
又见面了!
这个问题,有一个枚举,我们需要一个数组枚举或一个列表枚举或一个容器枚举--可以存储7个枚举的东西,但胃口越来越大,也许是70个枚举。
在哪里?
根据任务,数组和列表以及容器都可以做。按照我的理解,很可能你需要简化代码编写,那么你可以把枚举分成几组,然后把它们组合成每个对象的参数的结构。
如果我们谈论的是执行阶段,我认为只有在指定值/对时使用枚举是正常的做法。而为了存储它们,使用一个简单的基础类型。
你可以做一个数组、一个列表和一个容器,这取决于任务。按照我的理解,你可能需要简化代码编写,然后你可以把枚举分成几组,并把它们组合成每个对象的参数的结构。
如果我们谈论的是执行阶段,我认为只有在指定值/对时使用枚举是正常的做法。而为了存储它们,使用一个简单的基础类型。
起初是这样做的,但由于某些原因我放弃了,似乎在初始化这些字段时有问题,或者说在某些构建中ME中枚举的自动完成变体有问题,也许是由于另一个注入器中的部分代码是....。让我们研究一下这个选项。
在互联网上冲浪,我想要像这样的夏普产品......一些属性(()。
起初是这样做的,但由于某些原因我放弃了,似乎在初始化这些字段时有问题,或者说在某些构建中ME的枚举变体的自动替换有问题,可能是因为另一个注入器中的部分代码是....。让我们研究一下这个选项。
在互联网上冲浪,我想要像这样的夏普产品......某种属性(()
有什么问题呢?
如果是一对一的,那么。
这是在你不想把枚举放在全局范围内 的情况下。
这是在你不想把枚举放在全局范围内 的情况下。
嗯...
我只是不知道该怎么做。
谢谢!
有没有人有一个优雅的解决方案,用JSON来上传不复杂的对象?
我需要一个这样的MQL代码的例子。
MQL序列化器可在https://www.mql5.com/ru/code/13663
但我不明白正确的字段遍历的结构
但我不知道如何正确地遍历对象的字段
宏量是一切!)
嗯哼...我再试着问一下。
请帮助我帮助一个考试者!请
嗯哼...我再试着问一下。
请帮助我,并需要一个例子!请!
好吧,如果问题具体涉及绕过田地,那就是这样的。
你可以自己解决宏的主体问题)。
好吧,如果问题是关于字段遍历的,多多少少是这样的。
而且你可以自己解决宏观的主体问题)。
好吧,这是个好主意!
谢谢你!