MQL5中的OOP问题 - 页 76 1...697071727374757677787980818283...96 新评论 Igor Makanu 2020.06.10 18:09 #751 awsomdino:这个例子应该取自Saber,我不知道它的真正目的,但我看到他的如果别的)树在那里得到你需要的东西。当我来到这里,我有一个问题,如何做它的权利,并寻找如何实现它,重新阅读的一切 - 真的失去了只有时间,有没有正确的实施,成堆的文章,到处是他自己。当你对代码不甚了解,站在5条路的十字路口思考该走哪条路时,我真的很失望。 这甚至不是你是否能在这里找到盈利的交易系统的问题,问题是你是否能在这里找到正确的最佳方式)--这就是我们亲爱的MQL5。 他说,他一直在寻找有利可图的TS,寻找可能应用TS的工具,而且你必须快速搜索。 在信号中,他的TS显示结果,然后停止工作,然后他再次打开TS(我怀疑他用新的参数重新打开),TS再次上升,然后再次停止工作。 如果这种功能是灵活的,并允许你快速优化和找到 应用的工具- 那么你就拥有了你所需要的一切 但要寻找一个单一的EA,它将在一个特定的工具上测试所有可用的历史....。我已经做了,我不认为那里有什么。 awsomdino2 2020.06.10 18:15 #752 伊戈尔,我们在这里谈论的是代码) 我也不喜欢他的系统,它们是半欺骗性的。 我应该研究一下击剑,或者剑道。 Igor Makanu 2020.06.10 18:22 #753 awsomdino:伊戈尔,我们在这里谈论的是代码)我也不喜欢他的系统,它们在作弊。 我实际上是在这里读一本书))("没有傻瓜的编程")。 我不知道他的系统,但我使用QB的代码 - 他是一个真正的时间节省者,我甚至会说 - 他创造了一个强大的基础设施,我可以采取和使用,更重要的是,他不断维护他的代码。 Vladimir Simakov 2020.06.10 18:26 #754 awsomdino:类、继承、虚拟化、模板,作为一个自学成才的人,我很难理解这些,我理解了一点就放弃了OOP,我甚至无法想象人们在他们的机器人中是如何烦恼的--他们需要使用这些东西,这只是一种炫耀。最多是结构。塞姆卡带着他的画走了,谁需要这幅画,在这里他们是来为自己和亲人挣钱的,当然,开发商并没有为他感到难过。彼得,除了贸易,什么都可以)。程序员们对他们不必要的功能感到困惑。 #define LOG(dText) CLog::Get().Log((string)__LINE__,__FUNCSIG__,dText) class CLog{ CLog() {} public: static CLog* Get() {static CLog _log; return &_log;} void Log(string line,string sig,string text) {PrintFormat("Line: %s. Signature: %s. %s",line,sig,text);} }; //+------------------------------------------------------------------+ void OnStart() { LOG("Example 1"); Test(); } //+------------------------------------------------------------------+ void Test(){ string t="Example 2"; LOG(t); } 在这里,你有OOP和宏置换,甚至还有一个躲躲闪闪的孤独者(对于那些欣赏速度的人)。这是作为一个例子写的,但自然地,你可以在构造函数中创建一个用于记录的文件,在Log(...)中写入,并在析构函数中关闭它。这是一个例子,说明这一切是怎么回事。当然,你可以在函数上做文章,但如果是你自己的文件,你会有更多的代码,你会得到全局变量,而且这不是很正统))))。 awsomdino2 2020.06.10 18:29 #755 Vladimir Simakov:这里你有OOP和宏替换,甚至还有一个简单的单子(这是给速度爱好者的)。这是为例子而写的,但自然地,你可以在构造函数中创建一个用于记录的文件,在Log(...)中写到它,并在析构函数中关闭它。这是一个例子,说明这一切是怎么回事。当然,你可以用函数工作,但在你自己的文件中,你会有更多的代码,你会得到更多的全局变量,而且它不是很正统))))。 谢谢你,我将保存这个例子 Vladimir Simakov 2020.06.10 18:45 #756 awsomdino:谢谢,我将保存这个例子。 有趣的是,你不需要保存它,你需要了解它。一个明白人会立即写道,这里不需要一个独行侠,一切都可以简化为 #define LOG(dText) CLog::Log((string)__LINE__,__FUNCSIG__,dText) class CLog{ public: static void Log(string line,string sig,string text) {PrintFormat("Line: %s. Signature: %s. %s",line,sig,text);} }; //+------------------------------------------------------------------+ void OnStart() { LOG("Example 1"); Test(); } //+------------------------------------------------------------------+ void Test(){ string t="Example 2"; LOG(t); } awsomdino2 2020.06.10 18:49 #757 Vladimir Simakov:有趣的是,你不需要保存它,你需要理解它。一个明白人会马上写道,这里不需要孤独者,一切都可以简化为 谢谢你,这是我理解了很久的一个代码) 顺便说一下,用默认的格式把代码写得更好,我就是在这样的细微差别上卡住了。 _Symbol Symbol(); symbolinfo和其他单调的东西,真的搞砸了我的注意力和时间。 我能说什么呢,我仍然没有100%的信息,并且对使用它的内容有疑问。 Igor Makanu 2020.06.10 18:52 #758 Vladimir Simakov:有趣的是,你不需要保存它,你需要理解它。任何理解的人都会写道,我们在这里不需要单子,一切都可以简化为 一个被误解的人会写道,我们在这里不需要OOP,我们可以用一个函数调用 来代替它。 然后再次陷入两个阵营,陷入几页的混乱之中 )) Vladimir Simakov 2020.06.10 19:06 #759 Igor Makanu:一个明白人会写道,OOP在这里是不必要的,你可以用函数调用 来代替它。然后又分成两个阵营,乱七八糟地写了好几页)))) 干得好!这就对了!那这个呢? #define LOG(dText) CLog::Ptr().Log((string)__LINE__,__FUNCSIG__,dText) class CLog{ int cHndl; CLog():cHndl(FileOpen(MQLInfoString(MQL_PROGRAM_NAME)+_Symbol+(string)(int)TimeCurrent()+".log",FILE_TXT|FILE_WRITE)){} ~CLog() {FileClose(cHndl);} public: static CLog* Ptr() {static CLog _log; return &_log;} void Log(string line,string sig,string text){ string _text=StringFormat("Line: %s. Signature: %s. %s",line,sig,text); PrintFormat(_text); FileWrite(cHndl,_text);} }; 你会同意,它更复杂))) awsomdino2 2020.06.10 19:12 #760 Vladimir Simakov:干得好!这就对了!那这个呢?你必须承认,这有点复杂)))。 有班级的地方就有越野车,到处都是) *和&可能会让你吃惊 不复杂的代码,唯一方便的类,带有析构器的构造器,我还没有看到其他的优点。 结构更方便,学习起来也不复杂)。 许多人甚至不知道或不理解结构的能力。不久前,他公开开始在其代码中广泛使用它们。 1...697071727374757677787980818283...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这个例子应该取自Saber,我不知道它的真正目的,但我看到他的如果别的)树在那里得到你需要的东西。当我来到这里,我有一个问题,如何做它的权利,并寻找如何实现它,重新阅读的一切 - 真的失去了只有时间,有没有正确的实施,成堆的文章,到处是他自己。当你对代码不甚了解,站在5条路的十字路口思考该走哪条路时,我真的很失望。 这甚至不是你是否能在这里找到盈利的交易系统的问题,问题是你是否能在这里找到正确的最佳方式)--这就是我们亲爱的MQL5。
他说,他一直在寻找有利可图的TS,寻找可能应用TS的工具,而且你必须快速搜索。
在信号中,他的TS显示结果,然后停止工作,然后他再次打开TS(我怀疑他用新的参数重新打开),TS再次上升,然后再次停止工作。
如果这种功能是灵活的,并允许你快速优化和找到 应用的工具- 那么你就拥有了你所需要的一切
但要寻找一个单一的EA,它将在一个特定的工具上测试所有可用的历史....。我已经做了,我不认为那里有什么。
伊戈尔,我们在这里谈论的是代码)
我也不喜欢他的系统,它们是半欺骗性的。
我应该研究一下击剑,或者剑道。
伊戈尔,我们在这里谈论的是代码)
我也不喜欢他的系统,它们在作弊。
我实际上是在这里读一本书))("没有傻瓜的编程")。
我不知道他的系统,但我使用QB的代码 - 他是一个真正的时间节省者,我甚至会说 - 他创造了一个强大的基础设施,我可以采取和使用,更重要的是,他不断维护他的代码。
类、继承、虚拟化、模板,作为一个自学成才的人,我很难理解这些,我理解了一点就放弃了OOP,我甚至无法想象人们在他们的机器人中是如何烦恼的--他们需要使用这些东西,这只是一种炫耀。最多是结构。
塞姆卡带着他的画走了,谁需要这幅画,在这里他们是来为自己和亲人挣钱的,当然,开发商并没有为他感到难过。彼得,除了贸易,什么都可以)。程序员们对他们不必要的功能感到困惑。
在这里,你有OOP和宏置换,甚至还有一个躲躲闪闪的孤独者(对于那些欣赏速度的人)。这是作为一个例子写的,但自然地,你可以在构造函数中创建一个用于记录的文件,在Log(...)中写入,并在析构函数中关闭它。这是一个例子,说明这一切是怎么回事。当然,你可以在函数上做文章,但如果是你自己的文件,你会有更多的代码,你会得到全局变量,而且这不是很正统))))。
这里你有OOP和宏替换,甚至还有一个简单的单子(这是给速度爱好者的)。这是为例子而写的,但自然地,你可以在构造函数中创建一个用于记录的文件,在Log(...)中写到它,并在析构函数中关闭它。这是一个例子,说明这一切是怎么回事。当然,你可以用函数工作,但在你自己的文件中,你会有更多的代码,你会得到更多的全局变量,而且它不是很正统))))。
谢谢你,我将保存这个例子
谢谢,我将保存这个例子。
有趣的是,你不需要保存它,你需要了解它。一个明白人会立即写道,这里不需要一个独行侠,一切都可以简化为
有趣的是,你不需要保存它,你需要理解它。一个明白人会马上写道,这里不需要孤独者,一切都可以简化为
谢谢你,这是我理解了很久的一个代码)
顺便说一下,用默认的格式把代码写得更好,我就是在这样的细微差别上卡住了。
symbolinfo和其他单调的东西,真的搞砸了我的注意力和时间。
我能说什么呢,我仍然没有100%的信息,并且对使用它的内容有疑问。
有趣的是,你不需要保存它,你需要理解它。任何理解的人都会写道,我们在这里不需要单子,一切都可以简化为
一个被误解的人会写道,我们在这里不需要OOP,我们可以用一个函数调用 来代替它。
然后再次陷入两个阵营,陷入几页的混乱之中 ))
一个明白人会写道,OOP在这里是不必要的,你可以用函数调用 来代替它。
然后又分成两个阵营,乱七八糟地写了好几页))))
干得好!这就对了!那这个呢?
你会同意,它更复杂)))
干得好!这就对了!那这个呢?
你必须承认,这有点复杂)))。
有班级的地方就有越野车,到处都是)
*和&可能会让你吃惊
不复杂的代码,唯一方便的类,带有析构器的构造器,我还没有看到其他的优点。
结构更方便,学习起来也不复杂)。
许多人甚至不知道或不理解结构的能力。不久前,他公开开始在其代码中广泛使用它们。