给MQL行家的一个问题 - 页 7

 

如果你遇到了类似的问题:当测试EA 时,在日志的前几行,如 "2010.08.18 22:23:37 TestGenerator: unmatched data error (volume limit 32 at 2010.08.18 21:15 exceeded)" 和 "Do not enter" icon(来自交通规则)出现。然后,随着测试的进行,还有一串串的信息。这是DC服务器的问题还是专家顾问的问题?

 

这通常发生在测试的 开始和结束 日期设置不正确的情况下。

或者,在测试开始时,不正确的报价(或缺乏报价),-孔,在不同的时间段缺少条形图,等等。

 
pathfinder1:

如果你遇到了类似的问题:当测试EA时,在日志的前几行,如 "2010.08.18 22:23:37 TestGenerator: unmatched data error (volume limit 32 at 2010.08.18 21:15 exceeded)" 和 "Do not enter" icon(来自交通规则)出现。然后,随着测试的进行,还有一串串的信息。这是DC服务器的问题还是专家顾问的问题?

为了好玩:用 "TestGenerator: unmatched data error "查询做一个网站搜索,然后告诉我们。
 

邓丽君... 容量限制从32到4826不等。但看起来,历史并没有形成。我设置了一个不同的时间段,就可以了。

 

1)重新加载历史,首先使用 "Page Ap "按钮,然后通过报价历史,重新计算所有的TF,进入测试器/历史,删除所有的文件--应该可以了,或者你在历史上有一个洞,然后删除所有的历史,并执行所有的操作。

 

大家下午好!

另一个关于指标窗口中的三角形的问题。

我已经实现了一个正常的三角形画法--尖端朝向汇合处。

但我不明白。

1.我如何在函数中设置三角形的颜色?

ObjectCreate("TRIANGLE", OBJ_TRIANGLE,WindowFind(WindowExpertName()), 
         level_1, delta_1,  level_2,delta_2,    level_3,delta_3); 

如果没有颜色选项?

2.当我改变线条的收敛/发散时,我并没有改变三角形的方向。

我是这样设置代码的。

 datetime  level_1, level_2, level_3;

if ( MathAbs(Symbol1[1]-SymbolS[1]) > MathAbs(Symbol1[0]-SymbolS[0]) ) {
//если имеет место  схождение линий SUM-RDX, задаем переменные для 
// вершины треугольника вправо-  
        level_1=Time[0]+3500;  delta_1= 0.1;
        level_2=Time[0]+3500;  delta_2=-0.1;
        level_3=Time[0]+10500;  delta_3   =0;  
 }       
if ( MathAbs(Symbol1[1]-SymbolS[1]) <= MathAbs(Symbol1[0]-SymbolS[0]) )
{//если имеет место  расхождение линий SUM-RDX, задаем переменные для
// вершины треугольника влево -      
       level_1=Time[0]+3500;  delta_1=0;
       level_2=Time[0]+10500;  delta_2=0.1;
       level_3=Time[0]+10500;  delta_3=-0.1;
  } 
  //==задаем отрисовку треугольника ===================                  
ObjectCreate("TRIANGLE", OBJ_TRIANGLE,WindowFind(WindowExpertName()), 
              level_1, delta_1 ,level_2,delta_2,level_3,delta_3); 

但我现在在测试器中,运行感应器,我可以看到,当我把收敛改为发散时,三角形本身的配置没有改变。此外,三角形本身与 "其 "初始设置(绑定)的地方一起 "去 "了左边!!!。 请告知错误的原因是什么?

Deinit已设定。

int deinit()  {
ObjectDelete("TRIANGLE");
   return(0);  }
 

objectSet( name, OBJPROP_COLOR, col); // name - 对象名称, col -对象颜色

2.要改变坐标值,使用

ObjectSet(name, OBJPROP_PRICE1, price1)。
ObjectSet(name, OBJPROP_PRICE2, price2)。
ObjectSet(name, OBJPROP_PRICE3, price3)。
ObjectSet(name, OBJPROP_TIME1, time1)。
ObjectSet(name, OBJPROP_TIME2, time2)。
ObjectSet(name, OBJPROP_TIME3, time3)。

 

谢谢你,keekkenen!

按你写的做了。一切都像它应该的那样工作!!。

 

大家下午好。

你能告诉我如何使指标窗口中的价格线(见上图)在方向改变时改变颜色吗?

我甚至不知道如何解决这个问题。

我是这样做的。

 color Color_C ;
 double BufW[];

int init() {
    
  SetIndexStyle(4,DRAW_LINE,STYLE_DOT,2,Color_C);
  SetIndexBuffer(4,BufW);
  SetIndexLabel(4,"Channel width");
  return(0);
               }
int start() {
  
  //------------------------------------------------------------------ 
  // Отрисовка ценовых линий: рисуем и синхронизируем по наличию баров
  for(int i=0; i<limit; i++) { 
.... .... ... 
    BufW[i]=(iMA(Symbol3.Name,Period(),MA........ .... );
                             }  // Конец отрисовки ценовых линий

if( BufW[i-1] => BufW[i] )   Color_C = Green;
  else  Color_C = Red;


但这并不奏效。

 

SetIndexStyle(4,DRAW_LINE,STYLE_DOT,2,Color_C);
SetIndexBuffer(4,BufW);
SetIndexLabel(4,"Channel width");

SetIndexStyle( 5,DRAW_LINE,STYLE_DOT,2,Color_X);
SetIndexBuffer( 5,BufX);
SetIndexLabel( 5,"Channel width");

..............

......................

double ma=iMA(...................,................,i);

double ma1=iMA(......,...............,...........I+1);

如果(ma>ma1)

BufW=ma。

否则

BufX=ma;