[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 305

 
artmedia70:

1.如果有一个封闭的取出头寸,......。

1.1 如果其类型为OP_BUY,...

1.1.2 如果有一个开放的位置OP_SELL,....

1.1.3 如果当前条形时间减去打开的Sell位置时间大于或等于延迟的条形数量,...

1.1.4 关闭一个卖出头寸

1.2 如果其类型为OP_SELL,...

1.2.2 如果有一个开放的位置OP_BUY,...。

1.2.3 如果当前条形时间减去买入头寸的开仓时间大于或等于延迟条形的数量,...

1.2.4. 我们关闭买入头寸

谢谢你的算法,它比我想象的要复杂得多(

能否请你大致勾画一下代码,因为我花了这么长时间才写出前一个代码,但我找不到类似的EAs....。

我找不到类似的EA,但我将非常感激!

 
在你试图达到极限之前,最好尝试评估一下你是否需要这个解决方案。
你可以在这里找到很多类似的功能--来自KimIV的实用功能。也有一个现成的,适合你的任务。
 

你好。

请帮助我找到一个错误。代码计算RangeX0_D1 值的总和

其结果只是序列的最后一个(第六个)成员。

预先感谢你。

  int k;
  double RangeX0_D1  = 0;  
  for (k=1;k<=6;k++) 
   {
    RangeX0_D1  = (iHigh(NULL,1440,k)-iLow(NULL,1440,k))/Point;
    if (RangeX0_D1>0)
    RangeX0_D1++;
   }
 
int k;
  double RangeX0_D1  = 0;  
  for (k=1;k<=6;k++) 
   {
    RangeX0_D1  += (iHigh(NULL,1440,k)-iLow(NULL,1440,k))/Point;
   }
 
FAQ:
感谢你的帮助,准确和快速 :)
 
nemo811:
谢谢你的帮助,准确和快速 :)


为了加快 计算速度,最好用一些不同的方式来做事情

int k;
  double RangeX0_D1  = 0;  
  for (k=1;k<=6;k++) 
   {
    RangeX0_D1  += (iHigh(NULL,1440,k)-iLow(NULL,1440,k));
   }
   RangeX0_D1 /= Point;

分割需要很长的时间。最好是做一次。

 
下午好,请您告诉我为什么今年6月10日至9月22日的报价不能上传?我已经做了两到三次历史上传,都有同样的数据差距。
 
下午好,一些建议:循环搜索满足某些条件的值。找到的值被写入一个数组中。事先不知道会找到多少个值。 因此,要声明的数组的大小 是未知的。从时间和资源的角度来看,我宁愿不进行两次运行(这样我就可以在第一次运行中计算找到的值的数量,在第二次运行中声明数组并将数据写入数组中)。有什么办法能在一次运行中获得所需的结果吗?
 
Elenn:
下午好,一些建议:循环搜索满足某些条件的值。找到的值被写入一个数组中。事先不知道会找到多少个值。 因此,要声明的数组的大小是未知的。从时间和资源的角度来看,我宁愿不进行两次运行(这样我就可以在第一次运行中计算找到的值的数量,在第二次运行中声明数组并将数据写入数组中)。有什么办法能在一次运行中获得所需的结果吗?

可以在指标中声明一个 "无限 "长度的数组。声明它,然后在循环中立即写入在数组中找到的值。唯一的问题是如何将必要的选择转移到专家顾问/脚本?有一些工具,但我们需要评估其复杂性。也许做2次运行真的会更容易--在第一次运行中,我们计算过滤值的数量,然后改变数组的维度,在第二次运行中,我们把值输入数组?
 
Elenn:
下午好,一些建议:循环搜索满足某些条件的值。找到的值被写入一个数组中。事先不知道会找到多少个值。 因此,要声明的数组的大小是未知的。从时间和资源的角度来看,我宁愿不进行两次运行(这样我就可以在第一次运行中计算找到的值的数量,在第二次运行中声明数组并将数据写入数组中)。有什么办法能在一次运行中获得所需的结果吗?

宣布阵列 大于所需的最大尺寸。