[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 715

 
dimon74:
对我来说是这样的。一个头寸通过TP平仓,而要设置一个新的挂单,我们需要TP+n*Point值。这里我们得到一个差异:OrderTakeProfit() 给我四位数字(我在Alert中看到),而我的经纪公司要五位我已经尝试了很多东西,但似乎还有更多的东西要来。如果你有什么想法,请给我一些意见。提前感谢!
Alert()和Print()默认产生4位小数,而实际使用的是8位小数。 为了正确地输出到 "控制台",使用DoubleToStr()。
 
dimon74:
对我来说是这样的。仓位由TP关闭,而一个新的挂单需要TP+n*Point的值来设置。这里我们得到了一个差异:OrderTakeProfit() 给了我四位数字(我在Alert中看到了),而我的经纪公司想要五位我已经尝试了很多东西,但似乎还有更多的东西要来。如果你有什么想法,请给我一些意见。提前感谢!

字符串DoubleToStr( double value, int digits)

将一个数字值转换为一个文本字符串,其中包含该数字在指定精度格式下的字符表示。

这对预言应该有帮助。

只是Alert()和Print()的输出值都是4位数。所以你的问题是不同的。

 

我不明白为什么在这种形式下

for(int a=0;a<8;a++)
// тут что нить делаем
for(int a=0;a<8;a++)
// еще чо нить делаем

它说这个变量已经被定义了。 我想它在重复中又得到了0?而且它们在不同的代码片断中,第一个是if,第二个是else...

 
Abzasc:

我不明白为什么在这种形式下

它说这个变量已经被定义了。 我想它在重复中又得到了0?而且它们在不同的代码中,第一个在if中,第二个在else中。


int a;
for(a=0;a<8;a++)
// тут что нить делаем
for(a=0;a<8;a++)
// еще чо нить делаем
那么,为什么要对同一个变量定义两次
 
Vinin:

为什么要把同一个变量定义两次?

要重读

 for(int a=0;a<8;a++)
 aJPY[a]=iCustom(NULL,PERIOD_M15,"Indexes",a,0);

即:如果条件是一个,就读,如果是另一个,就读。妈的,知道了。但这是一个特定的案例,我不需要这个片段在其他地方。

我不知道如何将一个变量置空,以便它可以在另一个代码片段中使用。如果条件是一个,我们调用一个指标,如果是另一个--另一个。...因为没有足够的变数...

 
Abzasc:

要重读

即:如果条件是一个,就读,如果是另一个,就读。妈的,知道了。但这是一个特定的案例,我不需要这个片段在其他地方。

我不知道如何将一个变量置空,以便它可以在另一个代码片段中使用。如果条件是一个,我们调用一个指标,如果是另一个--另一个。...因为没有足够的变数...


不,我们必须想办法解决这个问题。只是似乎没有足够的代码。我只说了一件事。申报变量和使用(预先初始化)是不同的事情。一个相同的变量可以承载非常不同的功能值,主要的是不要混淆什么和哪里。
 

让我试着阐述一下。有一个指标,没有缓冲区。它在4个数组中接受另一个指标的值。我正试图附上

   int    counted_bars=IndicatorCounted();
   // считать только последний вызов
   int limit;
   if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars;
   for(int i=0;i<limit;i++)
如果有一个新的柱子,所有的数组都被重新计算。 如果没有新的柱子,只有第0个柱子。但我们重新计算都是一样的,也就是说,我们同时调用if和else。
 
Abzasc:

让我试着阐述一下。有一个指标,没有缓冲区。它在4个数组中接受另一个指标的值。我正试图把它附在上面。

如果有一个新的柱子,我们重新计算所有的数组。 如果没有柱子,我们只重新计算第0个。但我们重新计算都是一样的,也就是说,我们同时调用if和else。


我更喜欢不同的方法

   int    counted_bars=IndicatorCounted();
   // считать только последний вызов
   int limit=Bars-counted_bars-1;
   if(Bars-counted_bars>2)
      limit = //.......................
   for(int i=limit;i>=0;i--)

虽然,这是一个品味的问题。但至少我可以解释每一句话

 
Vinin:


我更喜欢不同的方法

不过,这是一个品味问题。但至少我可以解释每一句话

我们这样说吧。那么如果limit = 0,如果我们写数组0、1、2,否则--数组0。 还有一个变量错误。

或者我们应该写一个1,2的数组,否则--数组0?

无论如何,--我不能使用a变量2次,这就是问题所在。不过我只用了2次,在if和else中。它甚至不在代码顶部的共享变量中。

 
Abzasc:

让它像这样。那么如果limit = 0,如果我们写数组0、1、2,否则--数组0。 还有一个变量错误。

或者如果我们写数组1,2,否则--数组0?

无论如何,--我不能使用a变量2次,这就是问题所在。不过我只用了2次,在if和else中。它甚至不在代码顶部的共享变量中。


给我整个代码。你可以当面寄给我。我将尽力帮助。
原因: