来自一个 "傻瓜 "的问题 - 页 64

 
Europa:
你能告诉我为什么警报显示Orders_Total=1,而实际上只有一个位置和一个订单,即理论上它应该显示2,而不是1。

试着从终点开始倒着运行这个循环。

string Symb="EURUSD";
  for(i=OrdersTotal()+PositionsTotal()-1;i>=0;i--)
     {
      if(Symb==PositionGetSymbol(i)) Orders_Total++;
     }
     Alert(Orders_Total);
 
tol64:

试着从终点开始倒着运行这个循环。

没有任何帮助;(
 
Europa:
没有工作;(

啊,你只有一个位置检查。

if(Symb==PositionGetSymbol(i)) Orders_Total++;
这就是只计算职位的地方。
 
tol64:

啊,你只有一个位置检查。

这就是只有职位才算数的地方。
SO!!!!
 
tol64:

该参考资料说,。

日期(年、月、日)或时间(小时、分钟、秒)或全部都可以省略。数值范围 为1970年1月1日至3000年12月31日。

例子。

D'2004.01.01 00:00' // 新年
D'1980.07.19 12:30:27'
D'19.07.1980 12:30:27'
D'19.07.1980 12' //新年 D'1980.07.19 12:00:00'
D'01.01.2004' //等同于D'01.01.2004 00:00:00'
D'12:30:27' //等同于D'[编译日期] 12:30:27'
D'' //相当于D'[编译日期]00:00:00''

...

还是我对这个问题有误解?

将对该帮助进行修正,以便今后不会出现此类问题。谢谢你。
 
Europa:
它没有帮助;(

为什么你要把苍蝇和肉片加在一起,然后确定有多少块肉片?

订单单独计算,职位单独计算。PositionGetSymbol() 仅按符号返回是否存在某个头寸,而对订单没有任何说明。由于只有一个位置,所以它给出了1。而且你还很幸运,因为循环参数超出了可接受的值(PositionsTotal),你可以得到任何你喜欢的东西

P.S. 你已经回复了,我迟到了。

 
我找不到任何内部函数或属性来赋予图形对象可选择的属性(默认情况下,对象是以编程方式绘制的,不可能用鼠标选择)。很明显,问题是:是否有可能正常地给一个图形对象提供这样的属性,而不需要额外的库和其他魔法?
 
x100intraday:
我找不到任何内部函数或属性来赋予图形对象可选择的属性(默认情况下,对象是以编程方式绘制的,无需用鼠标选择),我只在包含的图形库中发现了这一点。很明显,问题是:是否有可能正常地给一个图形对象提供这样的属性,而不需要额外的库和其他魔法?

对象集

withprop_id=OBJPROP_SELECTABLE

 
Valmars:

对象集

withprop_id=OBJPROP_SELECTABLE

非常感谢你。
 
bool ExtFunc (string str, int P, int i)
  {
   if (high[i] < high[i-1]) return(false);
   return(true);   
  }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i=0;
   if ExtFunc("s",60,i) == 1)
     Buffer[i] = high[i];
  }

OnCalculate,我可以很容易地 通过索引使用数组元素,如高。是否也可以在ExtFunc中访问这个数组的索引元素?当调用我的函数时,我应该通过引用、通过指针或其他方式传递数组参数吗?到目前为止,我已经设法将错误信息 减少到:"'高'--参数转换是不允许的 "和"'高'--常量变量不能作为引用传递",关于我在OnCalculate 中的数组参数的函数调用的同一行。是没有希望还是有解决的办法?

到目前为止,在OnCalculate,我已经采用了将高点复制到另一个数组 中的方法。

ArrayCopy(CopyOfHigh,high,0,0,WHOLE_ARRAY);
然后在ExtFunc中使用CopyOfHigh而不是直接使用higharray。