[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 617

 
lottamer:

是否允许这样的连锁店?

if ( (A==1 && B==2) && (C==2 || D==3) && E==4)

也就是说,在一行中同时有AND和OR?


是的,编译器将括号 内的所有内容作为一个单独的比较。
 
drknn:

自己写吧--有1个单循环。只要努力去做就可以了。如果你失败了,请向我们展示你的循环代码--我们会帮助你。


我有一个关于周期的问题。

我已经看过很多次开头了......

接下来是雾霾....

for (i=0; i<k; i++) {

如果(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)

我最能理解的是,每个i都被分配了......东西......。

但如何处理这些混合的i...我不知道...。

 

厉以宁

好了,终于开始有意义了。所以,大括号里的短字符串是函数调用,而函数本身需要放在某个地方。

现在按顺序。

我在init中加入了对第一个函数的调用,我在启动init函数后立即进行,也就是说,就像这样,它将是正确的,对吗?

int init()
{
    fGet_MineGV();
}
//... и далее мой код, который был ранее

同样地,我将第二个函数的调用添加到启动块中。如果我在计算变量后立即这样做,这是否正确?比如说像这样。

     if ((A1>0)&&(A2>0)&&(A3>0)&&(A4>0)&&(A5>4.5)&&(VVV>V_NN)&&(SUA==0))
{
SUA=100;
SUA1+=1;
}
if((A1>0)&&(A2>0)&&(A3>0)&&(A4>0)&&(A5>4.5)&&(VVV<2)&&(VVV>0)) 
SUA=0;
if ((BUA==100)&&(A5<-4.5))
{
SUA=0;
SUA1=0;
}

     if ((A1<0)&&(A2<0)&&(A3<0)&&(A4<0)&&(A5<-4.5)&&(VVV>V_NN)&&(BUA==0))
{
BUA=100;
BUA1+=1;
}
if ((A1<0)&&(A2<0)&&(A3<0)&&(A4<0)&&(A5<-4.5)&&(VVV<2)&&(VVV>0)) 
BUA=0;
if ((SUA==100)&&(A5>4.5))
{
BUA=0;
BUA1=0;
}
//...сюда вставляю...
{
    fSave_MineGV();
}
//...и далее опять мой код...

这前两个步骤是否正确?

И нервный ваш согестник  дал вам не часть кода, а две готовые функции, которые он дя вас написал. 
好吧,其实我马上就告诉他,谢谢你了。
 

如果条件是if=true,我如何从if系列中出来?

如果

如果

如果(TRUE)--但需要重新开始,不要再往下走了

如果

如果

.......

 
lottamer:

在库中找不到正确的函数

最后一次平仓的获利规模。

也许有人有一个?


存款货币获利规模 由OrderProfit()返回,单位是点--收盘价减去开盘价,如何找到最后的平仓,或者从哪里得到一个现成的函数,我相信已经向你解释过几次。
 
lottamer:

如果条件if=true,我如何从if系列中出来?

如果

如果

如果(TRUE)--但需要重新开始,不要再往下走了

如果

如果

.......


如果

如果

如果(TRUE)--但你需要重新开始,而不是再往上走。

否则 {

如果

如果

.......

}//如果(TRUE)--但需要重新开始,不能 再往上走。

实际上,在大约99.9%的情况下,这意味着你没有对算法的实现进行足够的思考。

 
VladislavVG:

如果

如果

如果(TRUE)--但你需要重新开始,而不是再往上走。

否则 {

如果

如果

.......

}//如果(TRUE)--但需要重新开始,不能 再往上走。

实际上,在大约99.9%的情况下,这意味着你还没有把算法的实现想清楚。


:))似乎已经找到了一个解决方案

 
VladislavVG:

如果

如果

如果(TRUE)--但你需要重新开始,而不是再往上走。

否则 {

如果

如果

.......

}//如果(TRUE)--但需要重新开始,不能 再往上走。

实际上,在大约99.9%的情况下,这意味着你没有对算法的实现进行足够的思考。

用},else, return,或break或continue(for循环)。
 
rigonich:

存款货币的获利规模 由OrderProfit()函数返回,单位是点--收盘价减去开盘价。 我想已经向你解释过几次如何找到最后的平仓,或者在哪里可以得到一个准备好的函数。


正是如此。你必须首先取得最后关闭位置 的票据 GetTicketLastPos ,然后使用标准函数从该票据中取出你需要的东西。

谢谢你。

 
xant:

严谨

好了,终于开始有意义了。所以,大括号里的短字符串是函数调用,而函数本身需要放在某个地方。

现在按顺序。

我在init中加入了对第一个函数的调用,我在启动init函数后立即进行,也就是说,就像这样,它将是正确的,对吗?

同样地,我将第二个函数的调用添加到启动块中。如果我在计算变量后立即这样做,这是否正确?比如说像这样。

这前两个步骤是否正确?

好吧,其实我马上就告诉他,谢谢他了。


几乎。在inite中删除你在插入调用前的第一个{,在start中--调用前后的两个{}。 现在你只需要复制函数代码,把它放在你所有的EA代码之后,然后编译EA。

对不起,我的错误,当我眼前没有代码的时候,这很难。

int init()
{
fGet_MineGV();
//... и далее мой код, который был ранее (без первой { )