任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 614 1...607608609610611612613614615616617618619620621...1178 新评论 Денис 2014.05.24 18:32 #6131 yan720: 谢谢你的答复。如果你不介意,请把你所说的EA发给我(或它的一部分,它与通道在一起)--看到另一种实现方式会很有趣。 我无法理解我几年前做的事情。不知道为什么它不工作了,虽然我记得它曾经工作和交易。让我先整理一下代码,修好后再发布。也许是明天。我只是不想在有一些幼稚的错误时让自己难堪。 Денис 2014.05.24 18:37 #6132 yan720:当然,一般的想法是这样的。那么你是如何确定通道的宽度(在你的例子中是范围)?我是通过平均烛光的大小来做的,再加上这一切都与通道的长度有关,因为通道的存在不是在僵硬的条数上检查的,而是,例如,在10到30条的长度上。我感兴趣的是如何从长度中选择宽度的问题... 你可以在一个指标中为通道宽度制定几个外部参数。并对每个参数进行单独计算。 Денис 2014.05.24 18:38 #6133 对于长度来说,情况也是如此。 [删除] 2014.05.24 19:03 #6134 Example2: 你好。当条件出现时,篮子里的专家顾问应该关闭所有订单,但它先关闭订单,然后试图再次关闭(服务器给我们一个错误,说 "无效票据"),然后才进一步。下面是一个示例代码和EA本身。 在你的函数CloseOrders()中,如果订单被关闭,while(cnt<=5 ) 循环将再次发送关闭订单的代码,并且会发生错误,当然,然后通过 if()退出。突破。 int cnt=0; while(cnt<=5){ Result[0]=OrderClose(OrderTicket(),OrderLots(),MarketInfo("USDCAD",MODE_BID),slip,Blue); if(!Result[0]){ Answer=ERRORS(GetLastError()); if (Answer==1)continue; cnt++; if (Answer==2)break; } }在ProtectionClose()函数中,你已经添加了 带有正确的while exit的行。 if(Result[0])break; }continue; 试着在这里挖掘。 Example2 2014.05.24 20:00 #6135 pu6ka:在你的函数CloseOrders()中,如果订单被关闭,while(cnt<=5) 循环将再次发送关闭订单的代码,并且会发生错误,当然,然后通过 if()退出。突破。在ProtectionClose()函数中,你已经添加了带有正确的while exit的行。 试着在这里做一些挖掘工作。 但在我描述的情况下,是ProtectionClose()函数关闭了订单。我将纠正这个错误。 [删除] 2014.05.24 21:50 #6136 Example2: 然而,在我所描述的情况下,是ProtectionClose()函数关闭了订单。我将修复这个错误。我没有深入挖掘代码,我无法在测试器中运行它,没有指标。但是,例如,你的函数OpenUsdbuy();OpenSellusd()是连续的。OpenSellusd()打开GBPUSD、EURUSD、AUDUSD、NZDUSD,等等。你将是第一个按NZDUSD、AUDUSD等的相反顺序关闭它们的人。ProtectionClose()函数中只有三个货币对有两个变体的同时退出:USDCAD、USDCHF和USDJPY。在其他货币中,你只能通过错误if(!Result[...])退出while()。 [Deleted] 2014.05.25 04:04 #6137 FOReignEXchange:可以在一个指标中为通道宽度制定几个外部参数。并对每个参数进行单独计算。 关键是我不想强行设置通道宽度--无论货币对和/或当前的波动率如何,专家顾问/指标必须检测到通道的存在。因此,我从外部参数中设置了最小和最大的通道长度,而这只是在调试算法的过程中--之后这些参数将被缝入其中。在这个阶段,有一些抱怨。虽然我可以捕捉到一般的通道(图片取自工作代码),但我希望看到这个问题的其他解决方案。 Example2 2014.05.25 06:30 #6138 pu6ka:我没有深入挖掘代码,我无法在测试器中运行它,没有指标。但是,例如,你的函数OpenUsdbuy();OpenSellusd()是连续的。OpenSellusd()打开GBPUSD、EURUSD、AUDUSD、NZDUSD,等等。你将是第一个按NZDUSD、AUDUSD等的相反顺序关闭它们的人。ProtectionClose()函数中只有三个货币对有两个变体的同时退出:USDCAD、USDCHF和USDJPY。在其他货币中,你只能通过错误退出 while() if(!Result[...]) 谢谢你的提示,我忘了在这种情况下留下循环,现在应该可以了。 如果你想的话,我可以把指标粘贴出来作为感谢。 Alexey Viktorov 2014.05.25 06:56 #6139 yan720:当然,一般的想法是这样的。那么你是如何确定通道的宽度(在你的例子中是范围)?我是通过平均蜡烛的大小来做的,再加上这一切都与通道的长度有关,因为通道的存在不是在一个僵硬的条数上检查的,而是,例如,在10 到30条的长度上。我感兴趣的是对宽度和长度的选择...... 这个10条的长度是基本数字。我的意思是不少于10...而如果时间长了,那就是命运。把它带到外面去,能够进行实验。范围可能是蜡烛的平均大小,这并不重要,但最好也把它放在外面。也许你想设置最大和最小的范围,所以你必须设置两个变量Max_和Min_。 然后在每个柱子上,你检查这10个柱子中蜡烛的平均大小,如果适合你,你在10个柱子的顶部和底部绘制趋势。对于下一个条形图,你已经可以检查11个条形图,如果条件得到满足,ObjectSet(...);对于第一个坐标,只有OBJPROP_PRICE1 发生变化, 对于第二个 坐标,OBJPROP_PRICE2和 OBJPROP_TIME2 发生变化,以此类推,每个条形图。 或者,你可以不重新计算任何东西,认为通道已经形成,等待这个通道的破裂。这取决于你的口味。好吧,在我的案例中,我建议从灯笼里拿出一个打火机选项来指定通道高度和最小条数 以及。yan720: 关键是我不想强行设置 通道宽度--不管货币对和/或当前的波动率如何,专家顾问/指标必须检测到通道的存在。因此,我只从外部参数中设置了通道的最小和最大长度,而且这只是在调试算法的过程中--之后这些参数将被缝进它。在这个阶段,有一些抱怨。虽然我可以捕捉到一般的通道(图片取自工作代码),但我希望看到这个问题的其他解决方案。 好吧,首先,如果参数是在外部或嵌入的,不会有任何区别。其次,如果你不设置通道的宽度,当你计算你指定的10个柱子时,你会用什么来比较?你想如何确定它是否是一个渠道?第三,我认为,平均的蜡烛大小不会有足够的效果。如果所有10个柱子都是看涨的,但平均柱子大小不大于检查。它到底是不是一个渠道?它可能是一个通道,但它是一个倾斜的通道,而根据你的图纸,我们正在解析一个水平的通道。 Денис 2014.05.25 07:15 #6140 yan720:关键是我不想强行设置通道宽度--专家顾问/指标必须确定通道的存在,而不考虑货币对和/或当前的波动性。因此,我从外部参数中设置了最小和最大的通道长度,而这只是在调试算法的过程中--之后这些参数将被缝入其中。在这个阶段,有一些抱怨。虽然我可以抓住一般的渠道(图片来自工作代码),但我希望看到这个问题的其他解决方案。好吧,有一个想法是捕捉2个连续的顶级分形 或2个由例如5-10个烛台组成的iHighest分形。我们在一定的长度范围内抓住这种情况。如果这些峰值的值相互接近,在这两个峰值之间我们将找到iLowest。同样地,首先搜索两个较低的峰值,然后搜索它们之间的最高峰。然后我们将在那些被发现的山峰上跳舞。首先,我们通过他们画出水平。然后我们教代码进一步思考。这个选项将消除诸如Channel_width这样的外部参数。无论你怎么看,我认为我们至少需要一些长度的参数。 1...607608609610611612613614615616617618619620621...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你的答复。如果你不介意,请把你所说的EA发给我(或它的一部分,它与通道在一起)--看到另一种实现方式会很有趣。
我无法理解我几年前做的事情。不知道为什么它不工作了,虽然我记得它曾经工作和交易。让我先整理一下代码,修好后再发布。也许是明天。我只是不想在有一些幼稚的错误时让自己难堪。
当然,一般的想法是这样的。那么你是如何确定通道的宽度(在你的例子中是范围)?我是通过平均烛光的大小来做的,再加上这一切都与通道的长度有关,因为通道的存在不是在僵硬的条数上检查的,而是,例如,在10到30条的长度上。
我感兴趣的是如何从长度中选择宽度的问题...
你可以在一个指标中为通道宽度制定几个外部参数。并对每个参数进行单独计算。
对于长度来说,情况也是如此。
你好。当条件出现时,篮子里的专家顾问应该关闭所有订单,但它先关闭订单,然后试图再次关闭(服务器给我们一个错误,说 "无效票据"),然后才进一步。下面是一个示例代码和EA本身。
在你的函数CloseOrders()中,如果订单被关闭,while(cnt<=5 ) 循环将再次发送关闭订单的代码,并且会发生错误,当然,然后通过 if()退出。突破。
在ProtectionClose()函数中,你已经添加了 带有正确的while exit的行。
试着在这里挖掘。在你的函数CloseOrders()中,如果订单被关闭,while(cnt<=5) 循环将再次发送关闭订单的代码,并且会发生错误,当然,然后通过 if()退出。突破。
在ProtectionClose()函数中,你已经添加了带有正确的while exit的行。
试着在这里做一些挖掘工作。但在我描述的情况下,是ProtectionClose()函数关闭了订单。我将纠正这个错误。
然而,在我所描述的情况下,是ProtectionClose()函数关闭了订单。我将修复这个错误。
我没有深入挖掘代码,我无法在测试器中运行它,没有指标。
但是,例如,你的函数OpenUsdbuy();OpenSellusd()是连续的。
OpenSellusd()打开GBPUSD、EURUSD、AUDUSD、NZDUSD,等等。你将是第一个按NZDUSD、AUDUSD等的相反顺序关闭它们的人。
ProtectionClose()函数中只有三个货币对有两个变体的同时退出:USDCAD、USDCHF和USDJPY。
在其他货币中,你只能通过错误if(!Result[...])退出while()。
可以在一个指标中为通道宽度制定几个外部参数。并对每个参数进行单独计算。
关键是我不想强行设置通道宽度--无论货币对和/或当前的波动率如何,专家顾问/指标必须检测到通道的存在。因此,我从外部参数中设置了最小和最大的通道长度,而这只是在调试算法的过程中--之后这些参数将被缝入其中。在这个阶段,有一些抱怨。虽然我可以捕捉到一般的通道(图片取自工作代码),但我希望看到这个问题的其他解决方案。
我没有深入挖掘代码,我无法在测试器中运行它,没有指标。
但是,例如,你的函数OpenUsdbuy();OpenSellusd()是连续的。
OpenSellusd()打开GBPUSD、EURUSD、AUDUSD、NZDUSD,等等。你将是第一个按NZDUSD、AUDUSD等的相反顺序关闭它们的人。
ProtectionClose()函数中只有三个货币对有两个变体的同时退出:USDCAD、USDCHF和USDJPY。
在其他货币中,你只能通过错误退出 while() if(!Result[...])
谢谢你的提示,我忘了在这种情况下留下循环,现在应该可以了。 如果你想的话,我可以把指标粘贴出来作为感谢。
当然,一般的想法是这样的。那么你是如何确定通道的宽度(在你的例子中是范围)?我是通过平均蜡烛的大小来做的,再加上这一切都与通道的长度有关,因为通道的存在不是在一个僵硬的条数上检查的,而是,例如,在10 到30条的长度上。
我感兴趣的是对宽度和长度的选择......
好吧,在我的案例中,我建议从灯笼里拿出一个打火机选项来指定通道高度和最小条数 以及。
关键是我不想强行设置 通道宽度--不管货币对和/或当前的波动率如何,专家顾问/指标必须检测到通道的存在。因此,我只从外部参数中设置了通道的最小和最大长度,而且这只是在调试算法的过程中--之后这些参数将被缝进它。在这个阶段,有一些抱怨。虽然我可以捕捉到一般的通道(图片取自工作代码),但我希望看到这个问题的其他解决方案。
关键是我不想强行设置通道宽度--专家顾问/指标必须确定通道的存在,而不考虑货币对和/或当前的波动性。因此,我从外部参数中设置了最小和最大的通道长度,而这只是在调试算法的过程中--之后这些参数将被缝入其中。在这个阶段,有一些抱怨。虽然我可以抓住一般的渠道(图片来自工作代码),但我希望看到这个问题的其他解决方案。
好吧,有一个想法是捕捉2个连续的顶级分形 或2个由例如5-10个烛台组成的iHighest分形。我们在一定的长度范围内抓住这种情况。如果这些峰值的值相互接近,在这两个峰值之间我们将找到iLowest。
同样地,首先搜索两个较低的峰值,然后搜索它们之间的最高峰。
然后我们将在那些被发现的山峰上跳舞。首先,我们通过他们画出水平。然后我们教代码进一步思考。
这个选项将消除诸如Channel_width这样的外部参数。
无论你怎么看,我认为我们至少需要一些长度的参数。