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

 
artmedia70:


试图打电话给Alert 检查,没有任何结果。问题是,我的指标在过去三个柱子里没有变化。我把它设置为切断假动作。

例如,当我看到增长时,它就会上升,但如果接下来的运动发生在指定的过滤器内,它就不会改变,而是严格地水平移动。Nebhodhimosti在指标持平之前,比较最后两个值并确定趋势。如果你愿意,我可以把代码发给你。

 
Forexman77:

试图打电话给Alert检查,没有任何结果。问题是,我的指标在过去三个柱子里没有变化。我把它设置为切断假动作。

例如,当我看到增长时,它就会上升,但如果接下来的运动发生在指定的过滤器内,它就不会改变,而是严格地水平移动。Nebhodhimosti在指标持平之前,比较最后两个值并确定趋势。如果你愿意,我可以把代码发给你。

我已经向你展示了如何在你的专家顾问中找到最近的指标线 的极值。使nBars等于Bars或直接用Bars代替nBars
 
artmedia70:
我已经向你展示了如何在EA中找到一个指标线的最近极值。使nBars等于Bars或直接用Bars代替nBars

现在许多参数在调用任何值时都会出来:a、b或c。

该指标的代码。

#property copyright ""
#property link      ""
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- input parameters

//--- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,0,2);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    raznica,raznica_static,
    MA_1_t,                                                  
    MA_2_t;
 
   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   static double MA_otshet;
   for(int i=0;i<limit;i++)
   {
      MA_1_t=iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,i+0);  
      MA_2_t=iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,i+1); 
      raznica=MA_1_t-MA_2_t;
      raznica_static=MA_1_t-MA_otshet;
      if(raznica_static > -0.001 && raznica_static < 0.001)
      {
      ExtMapBuffer1[i]=MA_otshet;
      }
      else
      if(raznica > -0.001 && raznica < 0.001)
      {
      ExtMapBuffer1[i]=MA_2_t;
      MA_otshet=MA_2_t;
      }
      if((raznica > 0.001) || (raznica <- 0.001))
      {
      ExtMapBuffer1[i]=MA_1_t;
      }
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
不...你最好让我看看你在你的EA中做了什么。你如何从你的指标中获得数据?
 
artmedia70:
不...你最好让我看看你在你的EA中做了什么。你如何从你的感应器中获取数据?

没有什么,想提醒一下,看看那里最近的高点)

每天 加载指标,三天没有变化,这一定是问题所在A?

for (i=2; i<Bars; i++) {
double a=iCustom(NULL, 0, "EMAF",0,0,i+1);
double b=iCustom(NULL, 0, "EMAF",0,0,i);
double c=iCustom(NULL, 0, "EMAF",0,0,i-1);
if ((a-b)*(b-c)<0) {
if (b<c) {
;//发现底部
}
if (b>c) {
Alert ( "b=",b)//发现底部
}
}
}

 
Forexman77:

没有什么,想提醒一下,看看那里最近的高点)

每天加载指标,三天没有变化,这一定是问题所在A?

for (i=2; i<Bars; i++) {
double a=iCustom(NULL, 0, "EMAF",0,0,i+1);
double b=iCustom(NULL, 0, "EMAF",0,0,i);
double c=iCustom(NULL, 0, "EMAF",0,0,i-1);
如果((a-b)*(b-c)<0){
如果(b<c) {
;//找到底部
}
如果(b>c) {
Alert ("b=",b)// 找到了钉子
}
}
}

这不可能是问题所在。我们在Bars之前已经做了一个循环。在警报后写上休息。
 
artmedia70:
这不可能是问题所在。我们在巴斯之前做了环路。在警报之后,写上break; 。

休息后;出现一条信息。但数值与指标不一致,也许指标本身有问题?
该指标按照我的需要显示了线。该指标的计算 基于三个条件,这三个条件与目前的情况相对应。
 
Forexman77:
休息后;出现一条信息。但是,数值与指标不一致,也许指标本身有问题? 该指标按照我的需要显示了线。该指标是根据与当前情况相对应的三个条件计算的。

而不是Alert("b=",b); 类型。

Alert("Цена b="+DoubleToStr(b,Digits)+"\nВремя бара="+TimeToStr(Time[i]));
 
artmedia70:

而不是Alert("b=",b); 写。



我不能,我已经用不同的方法试过了。这些价值显然是不合适的。

是和时间在所有的值 "Bar time=2010.11.04 00:00"。通过脚本进行调用。

最有可能的是指标的问题:该值来自于

ExtMapBuffer1[i]

这是从与当前时间相对应的三个不同条件中得到的。

当我调用当前欧元兑美元的价值时,一切都很好:1.3717,对高点不能说什么。

 
伙计们,你们能不能告诉我显示月初的余额的代码......