任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 691

 
请您告诉我,为MT5编写的EA是否可以在最新的MT4上运行,反之亦然?
 
borilunad:

小错误:0=关闭,1=打开,其余都是正确的

开放是不需要的。主要任务是如何在测试器中放入变量,使EA基于指标运行,可以建立在不同类型的价格上。

在这里,我们不应该忘记在优化时将 价格从1到6,以1为增量 进行设置。

 
rambo:
请您告诉我,为MT5编写的EA是否可以在最新的MT4上运行,反之亦然?
如果它能编译,你就可以运行它,但它是否能按计划工作,这才是问题所在。
 
Forexman77:

开放是不需要的。主要任务是如何在测试器中放入变量,使EA基于指标运行,可以建立在不同类型的价格上。

在这里,我们不应忘记在进行优化时,将 价格从1到6,以1为增量 进行设置。


但开盘价是1,收盘价是0。看医生!
 
Forexman77:

如果有人需要,我已经想出了如何在没有复杂结构的情况下做一个价格型指标的渲染。

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

这可能更容易,但如果你需要添加更多的价格类型,当然最好用你的方式,或者说是组合方式来做
 
evillive:
如果它能编译,你就可以运行它,但它是否能按预期工作是个问题。

谢谢
 
Vinin:

也许这更容易,但如果你需要添加更多类型的价格,那么当然最好用你的方法,或者说是一种组合方法

这是个天才!我还没有想到这个方法。

 
borilunad:

但开盘价是1,收盘价是0。看医生!

如果你使用 "ENUM_APPLIED_PRICE "枚举。

但我不用它们,我只是用一个条件运算符来检查所有六个选项的真实性,而且只有一个条件总是有效。

例如,条件起作用了,我们计算了价格。

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
我收到 要计算的收盘价。也就是说,我自己准备价格,而不是从枚举 "ENUM_APPLIED_PRICE "中获取。
 
Forexman77:

这是个天才!我没有想到这种方式。


这种方法只在调用技术指标 时起作用,如果你必须在其他计算中通过设置改变价格类型(例如,你想用Close[i]比较某个值,并通过优化器将其与(High[i]+Low[i])/2,即与PRICE_MEDIAN)进行比较,它将不起作用。
 
evillive:

这种方式只在调用技术指标时有效,如果你必须在其他计算中通过设置改变价格类型(例如,你用Close[i]比较某个值,想通过优化器将其与(High[i]+Low[i])/2,即与PRICE_MEDIAN)进行比较,则无法工作。

价格只需要用来计算指标

我是这样做的。

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

比较了这个变体,其变化时都是一样的。