第13课 - 你的第一个专家顾问(第一部分) - 页 4

 

不匹配的括号和方括号

一些额外的建议

计算小括号或大括号的数量,左边的增量为1,右边的减量为1。最后,你应该是零,如果是正数或负数,则检查 缺少的或额外的1应该在哪里。

要确保你的括号是(),你的括号是{}。像我这样的小字体和弱视者,偶尔你可能会把}误打成)。代替或重新输入想要的字符可能会纠正这个问题。

使用ctl z(撤销)和ctl y(重做)来帮助你在最近的修改中回溯。

最后,当所有其他方法都不奏效时,用//注释行或部分行,也用/* */注释部分。当你注释了代码而它又能正确编译时,你就知道错误就在注释出来的代码中。如果失败了,你就知道它是在最近的未注释的代码中;如果编译成功了,那么它仍然在注释的代码中。很快你就会把它缩小到一两行。

希望这对你有帮助,我已经写了很长时间的代码了,匹配()和{}仍然会带来问题。

Tzuman

 

持续存在的问题

谢谢你的建议,但正如你从截图中看到的那样,我确实将代码分开,以便于理解。我从代码的开头到结尾数了多次括号,我的开括号和闭括号的数量相同(对于ifloops- {},对于函数参数- ())。我知道其他编程语言,所以这不是一个解释或理解的问题。

再次感谢您对我的帮助。

 

谢谢你的好建议,Tzuman。

伊什

 

有人能帮助我吗?我都快疯了。我无法完成这个指标(我的第一个代码),因为出现了这个错误。我已经修改了代码,但我找不到错误的部分。

指标的代码。

for_a_new_life.mq4

附加的文件:
 
Kelch Monteiro:
谁能帮帮我?我都快疯了。我无法完成这个指标(我的第一个代码),因为出现了这个错误。我已经修改了代码,但我找不到错误的部分。

指标代码。

for_a_new_life.mq4

就语法而言,现在没有问题了,但我不知道MA()应该做什么(它在代码中没有定义为一个函数)。你必须定义一个MA()函数,并在调用它时用其他名称替换 "Period"(否则metatrader会一直抱怨)。

附加的文件:
 
mladen:
就语法而言,现在可以了,但我不知道MA()应该做什么(它在代码中没有定义为一个函数)。你必须定义一个MA()函数,并在调用它时用其他名称替换 "Period"(否则metatrader会一直抱怨)。

谢谢mladen!

我忘了 "MA "前面的 "i "了,笑。

我想用两个Mas(快和慢)和2次力指标之间的差异来建立一些东西。但我不知道如何写出力度指标,因为它有应用和前一棒之间的关系。我在门廊里抽根烟,然后再试一下。

 
mladen:
就语法而言,现在是可以的,但我不知道MA()应该做什么(它在代码中没有定义为一个函数)。你必须定义一个MA()函数,并在调用它的时候用其他名称替换 "Period"(否则metatrader会一直抱怨)。

我知道错在哪里。我必须创建强制索引,并在公式中调用它。我应该创建一个缓冲区和一个数组,对吗?

 
Kelch Monteiro:
我知道错在哪里。我必须创建力指数,并在公式中调用它。我应该创建一个缓冲区和一个数组,对吗?

启航

这要看该MA应该做什么

如果它是一个简单的移动平均线(iMA()),那么你不需要多一个缓冲区。

 

凯尔奇

一直在看这个公式:(FastEMA- SlowEMA/[2*Cn-(Cn-1)]*Vn])。

试着翻译了一下(我假设Cn和Cn-1是接近和前次接近)。试试吧

附加的文件:
 
mladen:
凯尔奇

一直在看公式:(FastEMA-SlowEMA/[2*Cn-(Cn-1)]*Vn])。

试图翻译它(我认为Cn和Cn-1是接近和以前的接近)。试试吧

真的很感谢mladen!

我现在看到了。

我也是这么做的。看看吧。

for_a_new_life-1.ex4

for_a_new_life-1_1.mq4

我正在测试我的版本,也将测试你的版本。

如果这个指标是正确的,我们做了一些伟大的事情来捕捉反转点。

这是因为两条移动平均线之差除以2倍力,可以更敏感地显示价格在趋势中的反转。用另一个边界指标测试它,我想你会喜欢的。

一些图片。

我很高兴,因为这是我对论坛的第一次贡献。没有你的帮助,我无法做到这一点。

非常感谢Mladen!

附加的文件:
five.jpg  202 kb
four.jpg  233 kb
one.jpg  205 kb