PPZ计算--帮助完善 - 页 2 123456789...14 新评论 [删除] 2010.02.22 20:51 #11 这对EA来说有点重,但这是个好主意。也许我们可以让它变得更轻,但我怀疑它作为额外的分析会对视觉交易有多大作用。 Boris 2010.02.22 21:07 #12 至于优化。在我看来,你应该对得到的数组Fr0[j]进行排序,然后在其上跳舞,结果只会是一次通过。 home 2010.02.23 03:10 #13 这个代码没有考虑到同时有两个分形的条形。 j=0; for(i = loopbegin; i > Nfirst; i--) { f0 = -1.0; f0 = iFractals(NULL,0,MODE_UPPER,i)。 如果(f0<=0.0 ) f0 = iFractals(NULL,0,MODE_LOWER,i)。 如果(f0>0.0) { Fr0[j]=f0。 Ind0[j]=i。 j++; } } Nmax=j。 而在这里,你不需要去看所有的分形,你不在乎是把分形1号和2号比较还是把2号和1号比较。 解决这个问题的方法是这样的。 for(i = 0; i < Nmax; i++) { f0 = Fr0[i]; for(j =i+1; j < Nmax; j++) { f1=Fr0[j]。 如果(MathAbs(Ind0[i]-Ind0[j])>minBars) { for(k =j+1; k < Nmax; k++) { f2 = Fr0[k]。 如果(MathAbs(Ind0[i]-Ind0[k])>minBars && MathAbs(Ind0[k]-Ind0[j])>minBars) { for(l =k+1; l < Nmax; l++) { f3 = Fr0[l]; 如果(MathAbs(Ind0[i]-Ind0[l])>minBars &&MathAbs(Ind0[j]-Ind0[l])>minBars &&MathAbs(Ind0[k]-Ind0[l])>minBars) { p0=(f0+f1+f2+f3)/4.0。 s0 = (f0-p0)*(f0-p0)+(f1-p0)*(f1-p0)+(f2-p0)*(f2-p0)+(f2-p0)*(f2-p0); 如果(s0<smin) { smin=s0。 pmin=p0。 imin=i。 jmin=j。 kmin=k。 lmin=l。 } } } } } } } } 而这段代码应该放在函数中,使用4次,而不是复制代码。Fr0中的分形应该被清零,这样它们就不会参与到下一次运算中。 Ihor Herasko 2010.02.23 07:12 #14 为什么每次迭代都要经过分形?一次做完,以后再分析,不是更容易吗?此外,比较应该收敛到一个三角形,而不是一个正方形(将分形1和2比较两次,再将2和1比较,没有意义)。我的做法有点不同--指标依次从0点及以上寻找背离,直到找到四个水平。我没有限制各层之间的距离。 附加的文件: difffractals.mq4 11 kb Igor Bevzyuk 2010.02.23 11:00 #15 Scriptong писал(а)>> 为什么每次迭代都要经过分形?一次做完,以后再分析,不是更容易吗?此外,比较应该收敛到一个三角形,而不是一个正方形(将分形1和2比较两次,再将2和1比较,是没有意义的)。我的做法有点不同--指标依次从0点及以上寻找背离,直到找到四个水平。我没有限制各层之间的距离。 很好!速度是完全不同的... :) 我是否也可以在指标的缓冲区中保存收到的电平值?为了以后能从专家顾问那里处理它们。 Ihor Herasko 2010.02.23 11:10 #16 我准备自己做一个专家。我有一些想法。但也许有人有更有趣的想法?我会做一个并在代码库中发布。 Igor Bevzyuk 2010.02.23 11:36 #17 Scriptong писал(а)>> 我准备自己做一个专家。我有一些想法。但也许有人有更有趣的想法?我将制作并在代码库中发布。 你可以尝试以这种方式添加。 如果(period == 0) {period = WindowBarsPerChart();} 并在屏幕的某处显示要计算的条数... Ihor Herasko 2010.02.23 11:48 #18 mikola2 >>: if (period == 0) {period = WindowBarsPerChart();} И выводить где-нибудь на экране количество баров для расчета... 我不是这个意思 :) 关于专家顾问的想法。很明显,在指标本身上还有很多需要补充的内容 [删除] 2010.02.23 12:11 #19 有什么想法,把它变成一个函数,我是说火鸡的逻辑,你能做到吗? Ihor Herasko 2010.02.23 12:18 #20 qwerewq >>: Идеи есть, сделайте его в виде функции, логику индюка имею в виду, сможете? 它已经以函数的形式存在了... 123456789...14 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
为什么每次迭代都要经过分形?一次做完,以后再分析,不是更容易吗?此外,比较应该收敛到一个三角形,而不是一个正方形(将分形1和2比较两次,再将2和1比较,没有意义)。我的做法有点不同--指标依次从0点及以上寻找背离,直到找到四个水平。我没有限制各层之间的距离。
为什么每次迭代都要经过分形?一次做完,以后再分析,不是更容易吗?此外,比较应该收敛到一个三角形,而不是一个正方形(将分形1和2比较两次,再将2和1比较,是没有意义的)。我的做法有点不同--指标依次从0点及以上寻找背离,直到找到四个水平。我没有限制各层之间的距离。
很好!速度是完全不同的... :)
我是否也可以在指标的缓冲区中保存收到的电平值?为了以后能从专家顾问那里处理它们。
我准备自己做一个专家。我有一些想法。但也许有人有更有趣的想法?我会做一个并在代码库中发布。
我准备自己做一个专家。我有一些想法。但也许有人有更有趣的想法?我将制作并在代码库中发布。
你可以尝试以这种方式添加。
如果(period == 0) {period = WindowBarsPerChart();}
并在屏幕的某处显示要计算的条数...
if (period == 0) {period = WindowBarsPerChart();}
И выводить где-нибудь на экране количество баров для расчета...
我不是这个意思 :)
关于专家顾问的想法。很明显,在指标本身上还有很多需要补充的内容
Идеи есть, сделайте его в виде функции, логику индюка имею в виду, сможете?
它已经以函数的形式存在了...