编码帮助 - 页 761

 
oguz:

mladen,

"simple (Regularized ema) EA 1.3 "从上午10点到晚上9点同时在5个不同的价位上活动,但它没有开出任何订单!为什么?

这个EA在开单方面有问题吗?

P.S: 他们是(ecn-pro)tickmill演示图。

你好 oguz

它正在按照它的设想工作,但请总是尝试准确地解释你的问题,如果可能的话,用插图来说明,至少做属于你的工作,因为时间对每个人都是最重要的。

问候


 
mntiwana:
嗨,奥古斯

它的工作原理是这样的,但请你总是尝试准确地解释你的问题,如果可能的话,用插图来说明,至少要做属于你的工作,因为时间对每个人都是最重要的。

问候


亲爱的@mntiwana

问题很简单,就是我的愚蠢程度!我以为这个按钮只是一个信息提示!而它却在做着专家级的开启/关闭功能!这就是我的问题。

我以为这个按钮只是一个信息提示! 它在哪里做那个专家的开-关-停!?

当我在你的图形中看到这个按钮的颜色时,它是红色的!

谢谢你的图形 :)

 
亲爱的Mladen,

我试图计算以下代码给出的MA3-MA1之差。
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
其中MAType1 = iEMA(...), MAType2 = MODE_EMA。 对于上述循环,差值MA3 - MA1
与0.0有很大的不同。然而,当我注释MA2:
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
      //  MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
MA3-MA1之差正好等于0.0(如预期)。
我无法理解这样的行为,请帮助;它看起来像一个错误,或者说......
 
wojtekpaul:
亲爱的Mladen,

我试图计算以下代码给出的MA3-MA1之差。
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
其中MAType1 = iEMA(...), MAType2 = MODE_EMA。 对于上述循环,差值MA3 - MA1
与0.0有很大的不同。然而,当我注释MA2:
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
      //  MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
MA3-MA1之差正好等于0.0(如预期)。
我无法理解这样的行为,请帮助;它看起来像一个错误,或者说......
你在第一次调用自定义MA时应用了开盘价,然后在第二次调用自定义MA时应用了收盘价--你是在对同一个EMA实例这样做。你不能这样做。你在把苹果和梨混在一起。对于每个不同的价格(或价值)使用不同的自定义ma实例。

声明两个自定义ma的实例,然后做以下工作。

for(int i=limit - 1; i>=0; i--)
{  
        double MA1, MA2, MA3, MA4;

        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,1);

        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
}
然后它们将是完全相同的(MA1到MA3和MA2到MA4)
 
是的,你是个天才。)
 
wojtekpaul:

对不起,我的问题很愚蠢,但如何声明这两个实例?

原始函数'custom ma'是以int instanceNo=0来声明的。

如果我在代码中调用该函数时将参数设为1。

我没有收到任何信息...

检查 代码中的maInstances :)
 
mladen:

申报两个自定义ma的实例

很抱歉问了一个愚蠢的问题,但如何声明两个实例?

原始函数'custom ma'是以int instanceNo=0声明的。

而如果我在代码中调用该函数时将参数设置为1。

我没有收到任何东西(虽然现在它不干扰功能与

的实例0)...

 

好的,谢谢,我还必须学习很多东西:-)))


编辑:好的,现在我明白了--maInstances在新版本的MAs中。

(例如,在BB停止的新格式中),但它们似乎没有。

在旧版本中(其中约有20个MAs可用)。

 
wojtekpaul:

好的,谢谢,我还必须学习很多东西:-)))


编辑:好的,现在我明白了--maInstances在新版本的MAs中。

(例如,在BB停止的新格式中),但它们似乎没有。

在旧版本中(其中约有20个MAs可用)。

旧版本不具备多实例的能力
 
你好 大家 谢谢 所有 的帮助 带来的 这个 论坛 是否可能 箭头 这个 指标 直接 xml-ph
附加的文件: