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

 
ALXIMIKS:


...

4)为什么要经过停顿?

...


О!你能告诉我如何不通过他们吗?

当然,问题很有意思:是添加OrderProfit()+OrderCommission()+OrderSwap(),总数为0,什么都不改变,还是需要为每个订单做if?

 
Example2:


如何重建它并不重要,只要它能发挥作用。


在某些情况下有一些区别。如果for (int i = 0; i < OrdersTotal(); i++),OrdersTotal()函数 在每个循环中被调用,如果for (int i = OrdersTotal()-1; i>=0; i--),那么OrdersTotal()函数只被调用一次。我还没有实验过mql的执行速度。有一次,在php中,count()函数在一个正向循环中工作了17秒,在一个反向循环中工作了0.01秒。
 
测量了正向和反向循环的速度。100个订单,反向循环的速度是5倍。但从来没有这么多的订单,最多只有10个。如果有10个订单,速度会快3倍。选择逆向循环是可想而知的。
 
Integer:
测量了正向和反向循环的速度。100个订单,反向循环的速度是5倍。但从来没有这么多的订单,最多只有10个。如果有10个订单,速度会快3倍。选择逆向循环是相当明智的。


你能告诉我如何使价格正常化吗?(我在上面的帖子)。

 
Example2:


你能告诉我如何使价格正常化吗? 我上面的帖子)。

有一个NormalizeDouble() 函数。

NormalizeDouble(_High+Point*20,Digits);

乘法时,最好先放double,再放int,否则在某些情况下你可能会丢失小数部分。

 
if(Line_7 > Lines_1 > Line_6)
{
Alert("Сигнал на покупку");
OrderSend(Symbol(),OP_BUY,Lots_Typ,Ask,5,SL_Typ,TP_Typ);
}
return;}
是否有可能以这种方式设置订单的开盘?
 
Link_x:
是否有可能以这种方式设置订单的开盘?


没有。

这就是应该做的。

if(Line_7 > Lines_1 && Lines_1 > Line_6)
 

我还通过将所有订单的利润相加,只选择市场订单来检查利润计算速度。

Prof1+=OrderProfit()+OrderSwap()+OrderCommission();

и

if(OrderType()==OP_BUY || OrderType()==OP_SELL){
 Prof2+=OrderProfit()+OrderSwap()+OrderCommission();
}
第一种方案有点快,但不明显。速度比约为1/1.1
 
Integer:

有一个NormalizeDouble() 函数。

乘法时,最好先放double,再放int,否则在某些情况下可能会丢失小数部分。


现在我得到错误3:"不正确的参数被发送到交易功能,例如,错误的符号,未识别的交易操作,负的价格公差,不存在的票据号码,等等。 程序逻辑需要改变"。

 
Example2:


我现在得到错误3:"不正确的参数被发送到交易功能,例如,错误的符号、未识别的交易、负的价格公差、不存在的票据号码,等等。程序逻辑需要改变"。


将光标移到OrderSend 后面的第一个开口括号,删除这个括号,重新输入,这将出现一个参数类型提示,检查所有参数的类型是否正确。