[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 87

 
sergeev:

713
borilunad 15.01.2013 12:10

能否请你解开一个谜团:为什么当我插入这个函数|| isCloseLastPosByTake() == True |||测试器中的专家开始变得非常慢,10倍!这是4个互斥条件中的一个,所以我不能像求和条件那样使用if链来使代码运行得更快。你能给我什么建议?提前感谢您的建议!

该函数通过订单来寻找最后一次收盘的取值。改造这个功能,以加快它的速度。金的功能是通用的,这意味着你可以摆脱很多不必要的东西。同样,一切都取决于你的专家顾问的逻辑。
 

你能告诉我如何打开一个买入订单吗?卖出 订单 条件if(OrdersTotal()==0&& ma0<ma1 && ma1<ma2). 我明白,我们应该使用一个开关 我应该写什么来代替(x,a,b)?

如果(OrdersTotal()==0)

switch(x)case'a':case'b':

提前感谢您!


 
artmedia70:
该函数通过订单来寻找最后一个关闭的订单。改造这个功能,以加快它的速度。在金的程序中,它们都是通用的,这意味着很多不必要的东西可以从它们中删除。同样,一切都取决于你的专家顾问的逻辑。
非常感谢您!我在想,我可以使用一些操作者,但他们不会用 "或 "来处理一个相同的行动的情况。
 
KoOr:

你能告诉我如何打开一个买入订单吗?卖出 订单条件if(OrdersTotal()==0&& ma0<ma1 && ma1<ma2). 我明白,我们应该使用一个开关 我应该写什么来代替(x,a,b)?

如果(OrdersTotal()==0)

switch(x)case'a':case'b':

提前感谢您!




if(OrdersTotal()==0)
 {
  if( ma0<ma1 && ma1<ma2) OrderSend(....,OP_SELL,.......);
  if( ma0>ma1 && ma1>ma2) OrderSend(....,OP_BUY,.......);
 }
只有一个订单会打开,不会超过这个数量,无论是卖出还是买入。
 

我一直在苦苦思索,为什么该函数会返回-1

int typ(string t, int m)
{  datetime z=0 ; int p=-1,i;
   int d=OrdersHistoryTotal();
   if ( t=="0") t=Symbol(); 
   for( i=0;i<=d;i++){
   if ( OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) ) {                     
   if ( (OrderSymbol() == t || t=="0" ) && ( OrderMagicNumber() == m || m==-1 ) ){
   if ( OrderCloseTime()>z&&OrderType()<=1)  
   {
   z =OrderCloseTime(); 
   p =OrderType();
   }}}}
return(p);
} 

呼叫是这样的

Comment(typ("0",-1));

所有的订单都在历史中 !

什么会是错误?

 
VOLDEMAR:

我一直在苦苦思索,为什么该函数会返回-1

呼叫是这样的

所有的订单都在历史中 !

什么会是错误?



Comment(typ(Symbol(),-1));
没有 "0",有 "EURUSD","AUDUSD "等。
 
Sepulca:


没有这样的符号 "0",有 "EURUSD","AUDUSD "等。

如果没有这样的符号,如果( t=="0") t=Symbol(); 那么让t等于我们的符号,EA被连接到这个符号。
 
但是,如果DayOfWeek( )==1,怎么会是这样的条件呢?......会在星期二见面吗?
 
VOLDEMAR:

如果没有这样的符号,如果( t=="0") t=Symbol(); 那么让t等于我们的符号,EA被连接到这个符号。

我很抱歉,我没有注意到...那么就在这里吧。

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

最后的订单号是OrdersTotal()-1; 但这不是重点。我试了一下,结果发现在测试器中看不到平仓订单的历史记录,在模拟账户中,你的代码可以工作。

 

我的代码中没有你写的东西。

我愿意。

int d=OrdersHistoryTotal();

而它首先通过...

好吧,这并不重要,我在代码的其他地方发现了问题 ....

原因: