布林带无法正确读取。

[已删除]  

你好

我的EA无法正确计算频段。

您可以在附件上看到在MetaTrader中使用波段指示器和在EA中使用波段指示器的区别,但是设置是相同的。

这是EA中乐队的代码,我唯一想到的就是EA 使用ibands MetaTrader指标为iMA。

附言:我不是一个有经验的编码员。

double BB(string up_dn, int barback){int tf = 0;
   if(BandsSetArrow){
      double hi = 乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_UPPER,1);
      double md = iMA   (Symbol(),Period(),BandsPeriod,0,0,PRICE_CLOSE,1);
      double lo = 乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_LOWER,1);
      SetArrow(4,Teal,hi,"BB hi",Time[1]);
      SetArrow(4,Teal,md,"BB midle",Time[1]);
      SetArrow(4,Teal,lo,"BB lo",Time[1]);
   }
   if(up_dn == "up"){
      return(乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_UPPER,barback));
   }
   if(up_dn == "dn"){
      return(乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_LOWER,barback));
   }
   
}

谢谢

安东尼

尼古拉·潘涅夫(Nikolay Panev)
1260
尼古拉·潘涅夫(Nikolay Panev) 2011.02.12 17:54:34  
tonyjms2005:

你好

我的EA无法正确计算频段。

您可以在附件上看到在MetaTrader中使用波段指示器和在EA中使用波段指示器的区别,但是设置是相同的。

这是EA中频段的代码,我唯一想到的就是使用ibands和metatrader指标的EA是iMA。

附言:我不是一个有经验的编码员。

谢谢

安东尼

标准的中线 弹力带 指标是一个简单的移动平均线。因此您的代码看起来还不错。

[已删除] 2011.02.12 19:21:14  

你好

我还打算附加图表的快照,但这是一个链接:

http://tributetothem.com/bands1.gif

您会看到条带读数不正确的问题,蓝线是MetaTrader的条带指示器,显示了真实的读数。

也许对于上下乐队我应该 使用iMA 而不是束带?

谢谢

安东尼

[已删除] 河北体彩 00:14:22  

还有一点是,我认为这与偏差有关,因为中间带是正确的,但外侧带却不正确,当我尝试用新的输入来调整偏差时,它不会响应。

谢谢

安东尼

伊恩·文纳(Ian Venner)
2397
伊恩·文纳(Ian Venner) 河北体彩 10:43:38  

您确定您拥有mt4 鲍林格乐队 设置为与EA相同的周期,偏差和变动?

[已删除] 河北体彩 12:06:32  

你好

谢谢回复。

MT4指示器设置为:

期间:21

偏差:1.8

班次:0

除了班次外,EA的设置如上,因为我从经验丰富的编码人员那里获得了很多帮助,然后我有些失落。

谢谢

安东尼

[已删除] 河北体彩 13:42:08  

你好,我们又见面了

是的,我发现mt4指标正在使用iMA,而我的EA是 使用ibands.

我如何使用上述编码而不是iband来使用iMA,我一直在尝试替换它,但是却遇到很多错误。

有人可以告诉我应该如何吗?

谢谢

安东尼

威廉·罗德
24014
威廉·罗德 河北体彩 16:23:10  

Ibands返回的偏差为1。您的指标设置为1.8

double hi = 乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_UPPER,1);
double md = iMA   (Symbol(),Period(),BandsPeriod,0,MODE_SMA,PRICE_CLOSE,1);
double std= hi - md,
       lo = md - 1.8 * std;
       hi = md + 1.8 * std;

[已删除] 河北体彩 18:00:39  

你好

太棒了,您知道了,谢谢。

我现在只是重新编码下部,以便EA使用您的方法,我相信我需要更多建议。

这是我尝试失败的结果:

double BB(string up_dn, int barback){int tf = 0;
   if(BandsSetArrow){
      double hi = 乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_UPPER,1);
      double md = iMA   (Symbol(),Period(),BandsPeriod,0,0,PRICE_CLOSE,1);
      double std= hi - md,
       lo = md - 1.8 * std;
       hi = md + 1.8 * std;
      SetArrow(4,Teal,hi,"BB hi",Time[1]);
      SetArrow(4,Teal,md,"BB midle",Time[1]);
      SetArrow(4,Teal,lo,"BB lo",Time[1]);
   }
   if(up_dn == "up"){ hi = md + 1.8 * std;
   }
   if(up_dn == "dn"){ lo = md - 1.8 * std;
   }
   
}

谁能告诉我我要去哪里错了?

谢谢

安东尼

[已删除] 河北体彩 18:53:28  

你好

看来我已经解决了,任何人都可以确认这是正确的方法:

double BB(string up_dn, int barback){int tf = 0;
   if(BandsSetArrow){
       double hi = 乐队(Symbol(),Period(),BandsPeriod,BandsDeviation,0,PRICE_CLOSE,MODE_UPPER,1);
      double md = iMA   (Symbol(),Period(),BandsPeriod,0,0,PRICE_CLOSE,1);
      double std= hi - md,
       lo = md - 1.8 * std;
       hi = md + 1.8 * std;
      SetArrow(4,Teal,hi,"BB hi",Time[1]);
      SetArrow(4,Teal,md,"BB midle",Time[1]);
      SetArrow(4,Teal,lo,"BB lo",Time[1]);
   }
   if(up_dn == "up"){
      return(md + 1.8 * std);
   }
   if(up_dn == "dn"){
      return(md - 1.8 * std);
   }
   
}

谢谢

安东尼