新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1547 1...154015411542154315441545154615471548154915501551155215531554...1953 新评论 Tretyakov Rostyslav 2021.07.29 09:40 #15461 SGarnov:一个货币对上的连续止损数目。我认为,为了了解历史,专家顾问最初用ID标记了订单,但它没有在历史中找到它们,我以为OrderMagikNumber()会搜索它们。也许,是因为在历史上,EA停止 "看到 "不同货币对的止损? 我还没有尝试用一个货币对来工作,这将是无用的。 我必须再次公开源代码吗?它所需要做的是纠正 "从历史中搜索止损交易,并使其加入到新投放的交易中"。 如果一个货币对上有两个以上的止损点,你如何恢复EA在这个货币对上的工作? 顺便说一下,OrderMagicNumber()设置了EA和手动下单,没有魔术师 SGarnov 2021.07.29 09:44 #15462 MakarFX:而如果在某一对上连续出现两个以上的止损,你如何在该对上重新激活EA? 我是用我自己设定的新钟摆来做的。 Tretyakov Rostyslav 2021.07.29 09:46 #15463 SGarnov: 一个新的钟摆,是我自己装上去的。 我必须把以前的损失的点数加到它上面,还是新的损失计算周期? SGarnov 2021.07.29 09:49 #15464 MakarFX: 是否有必要增加以前的损失或新的损失周期的点数? 不,你不需要添加之前的那些。只有当EA开始工作时才需要。 如果止损 系数为2,专家顾问将始终只实施4种事件的变体。 A) 获利+1个停止,专家顾问将停止 工作 B) 采取+1停止,EA将停止工作 C)采取+2的方式停止EA的 工作 D) 3个停止EA停止工作 Maxim Kuznetsov 2021.07.29 09:51 #15465 SGarnov:下午好。对EA的帮助。根据策略,如果止损被触发,那么EA应该通过ID将(点数)添加到历史上的下一个套利,但由于某些原因,它没有这样做。代码中的问题是什么? 如果你想确保最小的利润,只需将点差加到止损和止盈的某个数值上即可。更准确地说,是算术系列的数量*价差(损失多少价差,增加多少)。只是不要把范围增加得比日常范围大得多。 最好的选择--在OrderMagic或Comment 中,以点数保存止损的初始值,或连续失败的次数。一般来说,专家顾问应该记住其所有的订单/位置,而不是不必要地询问终端(和服务器)。 SGarnov 2021.07.29 09:55 #15466 Maxim Kuznetsov:为了使其以最小的利润运作,只需在止损和止盈上增加点差。更准确地说,是算术系列*价差的数量(损失多少价差,增加多少价差)。只是不要把范围增加得比日常范围大得多。最好的选择--在OrderMagic或Comment 中,以点数保存止损的初始值,或连续失败的次数。一般来说,专家顾问应该记住其所有的订单/位置,而不是不必要地询问终端(和服务器)。 至于代码,应该是这样的,但我在历史记录中没有看到,你能帮忙吗? Mikhail Tkachev 2021.07.29 09:56 #15467 我请求社区的帮助... 如何正确声明和创建MQL5全局对象? 如果我这样做。 int OnInit() { CIsNewBar* NB_M1=new CIsNewBar(_Symbol,PERIOD_M1); // Эта строка потом будет в цикле для разных символов } void OnTick() { if (NB_M1.IsNewBar()) // (1) Если появился новый бар M1 {....} ...... } 编译器抱怨OnTick()中的一行:'NB_M1' - 未声明的标识符,这是符合逻辑的,因为在OnInit()中创建了一个局部变量。 如果你在OnInit()之前插入全局声明。 CIsNewBar* NB_M1; 它的编译没有错误,专家也能工作。似乎对象被创建了两次--在全局声明和OnInit()中。 但编译器 有这样的警告 NB_M1 "的声明隐藏了全局变量->OnInit()的每一行。 见之前的'NB_M1'声明 这是否意味着在OnInit()中创建了一个局部变量(在一个函数内),隐藏了一个同名的全局变量? 如果是这样,这个局部变量如何能被另一个函数OnTick() "看到"? Tretyakov Rostyslav 2021.07.29 10:02 #15468 SGarnov:不,你不需要添加之前的那些。只有当EA开始工作时才需要。如果止损 值等于2,专家顾问将始终只执行4个选项。A)采取B)采取+1站C)采取+2个站D) 3个站咨询师停止工作 我明白了,我会试一试。 Alexander Lasygin 2021.07.29 10:02 #15469 我还不知道这个消息是发给谁的。我不能创建一个不透明的面板。OBJ_BITMAP_LABEL, OBJ_RECTANGLE_LABEL函数是用来装饰或创建新对象的。但他们没有不透明的选择。也许我对语言的研究还不够深入,或者是创作者的缺陷。在前台创建的对象通过控制面板出现。也可以用另一种方式,但它会使Procyc超载。如果有人知道如何做到这一点,请告诉我。 SGarnov 2021.07.29 11:00 #15470 MakarFX: 我明白了,我会试试的。 为了方便起见,拿我的源代码来说,它的逻辑是可行的,除了我描述的问题,我不太明白,我的脑袋在沸腾,但我没有任何进展。 1...154015411542154315441545154615471548154915501551155215531554...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一个货币对上的连续止损数目。
我认为,为了了解历史,专家顾问最初用ID标记了订单,但它没有在历史中找到它们,我以为OrderMagikNumber()会搜索它们。也许,是因为在历史上,EA停止 "看到 "不同货币对的止损? 我还没有尝试用一个货币对来工作,这将是无用的。
我必须再次公开源代码吗?它所需要做的是纠正 "从历史中搜索止损交易,并使其加入到新投放的交易中"。如果一个货币对上有两个以上的止损点,你如何恢复EA在这个货币对上的工作?
顺便说一下,OrderMagicNumber()设置了EA和手动下单,没有魔术师而如果在某一对上连续出现两个以上的止损,你如何在该对上重新激活EA?
一个新的钟摆,是我自己装上去的。
是否有必要增加以前的损失或新的损失周期的点数?
不,你不需要添加之前的那些。只有当EA开始工作时才需要。
如果止损 系数为2,专家顾问将始终只实施4种事件的变体。
A) 获利+1个停止,专家顾问将停止 工作
B) 采取+1停止,EA将停止工作
C)采取+2的方式停止EA的 工作
D) 3个停止EA停止工作
下午好。对EA的帮助。根据策略,如果止损被触发,那么EA应该通过ID将(点数)添加到历史上的下一个套利
,但由于某些原因,它没有这样做。
代码中的问题是什么?
如果你想确保最小的利润,只需将点差加到止损和止盈的某个数值上即可。更准确地说,是算术系列的数量*价差(损失多少价差,增加多少)。只是不要把范围增加得比日常范围大得多。
最好的选择--在OrderMagic或Comment 中,以点数保存止损的初始值,或连续失败的次数。一般来说,专家顾问应该记住其所有的订单/位置,而不是不必要地询问终端(和服务器)。
为了使其以最小的利润运作,只需在止损和止盈上增加点差。更准确地说,是算术系列*价差的数量(损失多少价差,增加多少价差)。只是不要把范围增加得比日常范围大得多。
最好的选择--在OrderMagic或Comment 中,以点数保存止损的初始值,或连续失败的次数。一般来说,专家顾问应该记住其所有的订单/位置,而不是不必要地询问终端(和服务器)。
我请求社区的帮助...
如何正确声明和创建MQL5全局对象?
如果我这样做。
编译器抱怨OnTick()中的一行:'NB_M1' - 未声明的标识符,这是符合逻辑的,因为在OnInit()中创建了一个局部变量。
如果你在OnInit()之前插入全局声明。
它的编译没有错误,专家也能工作。似乎对象被创建了两次--在全局声明和OnInit()中。
但编译器 有这样的警告
NB_M1 "的声明隐藏了全局变量->OnInit()的每一行。
见之前的'NB_M1'声明
这是否意味着在OnInit()中创建了一个局部变量(在一个函数内),隐藏了一个同名的全局变量?
如果是这样,这个局部变量如何能被另一个函数OnTick() "看到"?
不,你不需要添加之前的那些。只有当EA开始工作时才需要。
如果止损 值等于2,专家顾问将始终只执行4个选项。
A)采取
B)采取+1站
C)采取+2个站
D) 3个站
咨询师停止工作
我还不知道这个消息是发给谁的。我不能创建一个不透明的面板。OBJ_BITMAP_LABEL, OBJ_RECTANGLE_LABEL函数是用来装饰或创建新对象的。但他们没有不透明的选择。也许我对语言的研究还不够深入,或者是创作者的缺陷。在前台创建的对象通过控制面板出现。也可以用另一种方式,但它会使Procyc超载。如果有人知道如何做到这一点,请告诉我。
我明白了,我会试试的。
为了方便起见,拿我的源代码来说,它的逻辑是可行的,除了我描述的问题,我不太明白,我的脑袋在沸腾,但我没有任何进展。