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

 
skyjet:


但是我在比较3、2和1条,所以计算仅限于x>=1?

而这是否意味着具有相同价格的酒吧根本不被考虑,它们没有被分配号码?

通过设置优化参数:开始1,步骤1,结束4;在H1和H4上,结果选项卡是简单的空,在D1上,分析不同条数的相同盈利能力。

也许我对你的问题的理解与你的意思不同。我的例子比较了3条和2条,以及2条和1条之间的开盘价,3条和1条没有比较。如果比较的值相等--什么也不发生,只是进入下一个比较。
为什么x>1(不是>=)。第一次迭代比较Open[3]==Open[3-1],即Open[3]==Open[2]。好的。在第二个(x=2),Open[2]==Open[1]。好的。没有第三次迭代。在x>=1时,会出现Open[1]==Open[0]的比较,这是不对的,因为会有一个与0条的比较。
 
T-G:

没有你,专业人员哪里也去不了。

帮助的功能。其中将历史上最后的亏损订单数量计算为加号订单。

也就是说,历史记录显示最后3个订单是负数,然后1个是正数,2个是负数。

这个函数应该计算最后三个(在正序之前)。

int Number=0;
//---
if (OrdersHistoryTotal()>0)
{  for (int i=OrdersHistoryTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
      {  if (OrderProfit()<0.0)
         Number+=1;
         else break;
}  }  }
这里计算的是仅在亏损时关闭的订单。如果收益=0(零),计数就会中断。
 
paladin80:
这里计算的是仅在亏损时关闭的订单。如果收益=0(零),计数就会中断。
可能发生的情况是,它们不一定按照你阅读的顺序来进行。为了准确无误,应该把订单加起来变成一个二维数组:第一维是收盘时间,第二维是订单票。接下来,按第一个维度对数组进行排序,将其修剪成三个,并检查它们(最后三个)。
 
chief2000:
我想重新表述并补充一下我之前的问题。
下面是一个4个元素的数组的代码。实际上,数组中的项目数是一个变量。
我怎样才能改变代码,使嵌套'for'循环的数量成为变量,每个数组项目一个'for'?
谢谢你!

int start() { 

   int Array[4]                                       = {1, 2, 3, 4};
   int x1, x2, x3, x4;
   int Array_Size                                  = ArrayRange(Array,0);


   for(x1=0; x1<Array_Size; x1++) {
      Print("Combination                       = ", Array[x1]);

      for(x2=x1+1; x2<Array_Size; x2++) {
         Print("Combination                    = ", Array[x1] + "   " + Array[x2]);

         for(x3=x2+1; x3<Array_Size; x3++) {
            Print("Combination                 = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3]);

            for(x4=x3+1; x4<Array_Size; x4++) {
               Print("Combination              = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3] + "   " + Array[x4]);
            }
         }
      }
   }


   return(0);
}


看着这种情况,我开始怀疑。当有一堆嵌套的循环时。计算是如何进行的?从最深的嵌套开始还是反过来?

即第一个要计算的。

 for(x4=x3+1; x4<Array_Size; x4++) {
               Print("Combination              = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3] + "   " + Array[x4]);

还是从另一边?我想了解这一切是如何运作的。

 
如何使EA考虑到技术指标 的水平。例如CCI。如果该线高于0水平,则执行行动。如何做?
 
webip:
如何使EA考虑到技术指标的水平。例如,CCI。如果该线高于0,则执行行动。如何做?

如果cci大于0,那么......。如果cci小于0.那么......。

功能iCCI()。

 

大师们,告诉我如何解决一个问题。在计算开盘和收盘的差异时,我们需要一个正数。例如,如果价格上涨,用开盘价 减去收盘价,就会得到一个负数。

 
artmedia70:

如果cci大于0,那么......。如果cci小于0.那么......。

功能iCCI()。



没有。我知道这个功能,但我不知道如何在代码中反映它。这个怎么样?

 if(iCCI() > 0)
  {
    //остальной код?
  }
 
Forexman77:

大师们,告诉我如何解决一个问题。在计算开盘和收盘的差异时,我们需要一个正数。例如,如果价格上涨,我从开盘价中减去一个负数,我得到一个负数。


doubleMathAbs( 双重值)
该函数返回传递给它的数字的绝对值(模值)。
 
hoz:

看着这种情况,我开始怀疑。当有一堆嵌套的循环时。计算是如何进行的?从最深的嵌套开始还是反过来?

即第一个要计算的。

还是从另一边?我想了解这一切是如何运作的......。


你可以看到我之前给出的4个周期的结果,那里最里面的周期被触发了一次,得到1234。