[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 204

 
borilunad:
嗨,Allis! 在没有打勾读数的地方需要规定打印!如果有错误,我就把打印出来,如果打开了,就在日志中规定打开,而且只有一次!"。

是的,你是一个巫师))。谢谢你!
 
Allis:

你是一个魔术师))。谢谢你!
没错,在编程方面,我远不是一个 "巫师",我只是在学习,但在其他一些分支,也许!)谢谢你!
 

大家晚上好!有一个指标(图中的上部)在第0条上画出它的值(+1,0,-1),但计算是由第1条进行的。 我需要写一个指标,计算+1和-1顶部指标的每个独立连续块中的条数和整个历史(图中的平均值,条形图高度以条数对应的单位)。我做了一个指标(图中的底部),但它只有在安装到窗口的那一刻才开始绘制(蓝色垂直线)。谁能帮帮我?


编码

int start()
  {
    
    int i;
      
    for(i=1;i<Bars-34-1;i++)                                               
     {
      double AO_Sig_Sig_1 =iCustom(NULL,0,"AO_His_l-b_Signal-Signal_sploshnoy_PSR",0,i);                           
      double AO_Sig_Sig_2 = iCustom(NULL,0,"AO_His_l-b_Signal-Signal_sploshnoy_PSR",0,i+1);
      
                                  
      if((AO_Sig_Sig_1!=AO_Sig_Sig_2)) break;                                                                
     }
         
    i=i*(AO_Sig_Sig_1);         
               
    if(i>0)            
     {
      UpMapBuffer[0]=i;
     }
    else
     {
      UpMapBuffer[0]=0;
     } 
         
    if(i<0)         
     {
      DnMapBuffer[0]=i;
     }
    else
     {
      DnMapBuffer[0]=0;
     }          
                 
      
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
borilunad:

这是该部门的剩余部分!在算术步骤中和你的打印机中找找看!

把它放进去,你只会看到两个结果交替出现。

 int x = MathRand() % 2;
  Print("x =",x);


我不明白这种逻辑。在书中我读到。

如果你想计算变量a 除以变量b的余数,并 将结果写入变量ostatok,赋值运算符看起来像这样。

ostatok = a % b;

事实证明,在我们的案例中,当MathRand()除以2时,x的值必须是0或1为什么要突然变成0或1?例如,会出现一个随机数字9。9 % 2 = 4.5. 的剩余部分等于4。
 
hoz:


一些我不理解的逻辑。在书中我读到。

事实证明,在我们的案例中,当MathRand()以2时,应该有一个x的值等于0或1。为什么要突然变成0或1?例如,会出现一个随机数字9。9 % 2 = 4.5. ,余下的部分等于4。

当有些东西不符合要求时,只需点击几下就能回答

P.S. ostatok = 9 % 2 = 1。

 
TarasBY:

当有些东西不符合要求时,只需点击几下就能回答

P.S. ostatok = 9 % 2 = 1。


嗯,已经写好了。

"有余数的除法模除法求除法的余数除法的余数)是 一种算术运算,产生两个整数一个不完全商 一个整数除以另一个整数余数"

9 : 2 = 4.5 这些是双数。

如果你把小数部分剪掉,就是4,你从哪里得到1?

 
hoz:


我对这个逻辑有些不理解。在书中我读到。

事实证明,在我们的案例中,当MathRand()除以2时,x的值必须是0或1为什么要突然出现0或1呢?例如,会出现一个随机数字9。9 % 2 = 4.5. 的剩余部分等于4。

维克多,不要把int和double混为一谈!因此,int x =MathRand() %2; 给出0或1!它不能给出0.1或0.9,也不能给出1.1或1.9,因为int中的小数是四舍五入的,小于0.5的小数会被丢弃。而%符号是指除法的余数,而不是除法符号。除号是 /

我把你的例子与9放在一起,得到一个单一的结果,1,因为没有随机性。

  int x = 9 % 2;//MathRand()
  Print("x =",x);

你问。

9 : 2 = 4.5 这些是双数。

如果你抛弃小数部分,你得到4,你从哪里得到1?

我的回答是:所以0.5被四舍五入为1!

有趣的是,当我把一个点和零(2.0)放到2的时候,编译器给了我一个错误,说%只需要一个整数!这是不可能的。

因此,即使你把双倍的x放进去,出来的仍然是一个整数的int。谢谢你,维克多,谢谢你的疑虑感谢他们,感谢你们,我做了一项有趣的研究,这将扩大我在数学转换方面的可能性!"。我欠你一杯(虚拟)!:))

 
hoz:


嗯,这是它说的。

"有余数的除法模除法求除法的余数除法的余)是 一种算术运算,其结果是两个整数一个不完全商 一个整数以另一个整数余数"

9 : 2 = 4.5 这些是双数。

如果你把小数部分剪掉,就是4,你从哪里得到1?

与9最接近的、能被2整除而无余数的整数是多少?然后用除数(9)减去这个数字。你得到了什么?

P.S. 如果你失败了,你可以打印结果:打印("ostatok = ", 9 % 2)。

 

吕晓燕 07.03.2013 21:15

你好,你能告诉我如何在Ordersend()中用 "EURUSD "代替Symbol()还是什么?

 
Mathemat:

吕晓燕 07.03.2013 21:15

你好,你能告诉我如何在Ordersend()中用 "EURUSD "代替Symbol()还是什么?

NULL