[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 102

 

有一项功能并不适合。

bool wC_Redraw()
   {
   if(wC_iStop != -1)
      {
      ObjectDelete(wC_sName);
      return(true);
      }
   if(wC_bFirst)
      if( ! ObjectSetText(wC_sName, "1"))
         return(false);
   int iTimeframe = tlC_GetTimeframe();
   double dLockPrice = tlC_GetPriceLock();
   datetime datMoveTime[2];
   datMoveTime[0] = iTime(NULL, iTimeframe, wC_iMoveBar[0]);
   if(datMoveTime[0] == 0)
      return(false);
   if( ! ObjectMove(wC_sName, 0, datMoveTime[0], wC_dMovePrice[0]) )
      return(false);
   
   if(dLockPrice == MYEMPTY)
      {
      datMoveTime[1] = iTime(NULL, iTimeframe, wC_iMoveBar[1]);
      if(datMoveTime[1] == 0)
         return(false);
      if( ! ObjectMove(wC_sName, 1, datMoveTime[1], wC_dMovePrice[1]) )
         return(false);
         
      if(wC_bScarp)
         {
         if( ! ObjectSet(wC_sName, OBJPROP_RAY, false) )
            return(false);
         if( ! ObjectSet(wC_sName, OBJPROP_STYLE, SCARP_LINE_STILE) )
            return(false);
         if( ! ObjectSetText(wC_sName, "0"))
            return(false);
         //ObjectSet(wC_sName, OBJPROP_COLOR, SCARP_LINE_COLOR);    
         return(true);
         }
      else
         ObjectSet(wC_sName, OBJPROP_RAY, true);
      }
   else
      if( ! ObjectMove(wC_sName, 1, datMoveTime[0], dLockPrice) )
         return(false);
      
   if( ! tlC_Save())
      return(false);
   
   return(true);
   }
 
alsu:

不,目前是T3。关键是t3是条形图的第一个 刻度线,这意味着,因为还没有对它进行计算,IndicatorCounted()的值还没有时间改变--它只发生在函数start()完成其工作之后。这是非常合乎逻辑的--该函数给出了计算的条数,所以在给定条数的至少一个刻度被计算之前,改变其值是没有意义的。因此,在t3时刻,我们仍然看到价值299,但在下一个tick,它将是300。

这样说更清楚了吗?

是的,这更有意义了,谢谢你。
 
当顾问工作时,评论显示在屏幕的左上角。他们怎么能向右移动100-200点呢?因为在那个角落里,由于字符重叠,通常不可能读到任何东西...((((
 
w_ersoc:
当EA运行时,评论显示在左上角。如何将它们向右移动100-200点? 因为在那个角落,由于字符重叠,通常无法阅读任何东西......((((

在评注文本 的开头加入空格是最容易的。

或像这样。

   ObjectCreate("label_object1", OBJ_LABEL, 0, 0, 0);  
   ObjectSet("label_object1", OBJPROP_XDISTANCE, 720);  
   ObjectSet("label_object1", OBJPROP_YDISTANCE, 45);
   ObjectSetText("label_object1", StringConcatenate("Процент отрицательных %:     ", PercentMinus), 8, "Lucida Console", NavajoWhite);
   



 
moskitman:

在评注文本的开头加入空格是最容易的。

或者说......。

谢谢你!)
 
我想对我上面发布的内容做一点解释。例如,我们的任务是在MKL4中制作一个汽车模型。我们知道,汽车有一些属性:油压、曲轴转速、冷却液温度等。但是,如果我们抽象一点,我们可以理解我们想从汽车中得到什么:向前走,向后走,向左走,向右走。这就是为什么在我们的包中,所有的属性都被声明为变量,并让它们不被触及。对于与外部环境的互动,我们留下了一些函数:forward(), backward(), left(), right()。基本上,它闻起来像封装。这在使项目 复杂化时将有很大的帮助。
 
伙计们,我如何正确书写表达式? 我需要比较两个价格。
Close[2]>=Open[1]

Open[1] 需要写出价格降低了1个百分点。

我有5个小数位,所以我写道

Close[2] >= (Open[1]-10*Point)

但事实证明,这个术语是错误的,因为它不起作用。

正确的写法是什么?

 
kilnart:

但事实证明,这个期限是错误的,因为它不起作用。

究竟是什么东西不灵呢?
 
kilnart: 怎么拼才对呢?

像这样试试吧。

if(Digits==5){
   if(Close[2]-Open[1]>=10*Point);// цена больше на 10 пп в 5-ти знаке
}
if(Digits==4){
   if(Close[2]-Open[1]>=Point);// цена больше на 1 пп в 4-х знаке
}

//или так ...

switch(Digits){
   case 5: if(Close[2]-Open[1]>=10*Point);// цена больше на 10 пп в 5-ти знаке
   case 4: if(Close[2]-Open[1]>=Point);// цена больше на 1 пп в 4-х знаке
}
 
sergeev:
究竟是什么原因造成的不成功?


该职位不开放。