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

 

下午好!订单修改错误4051。我已经想了一个小时了。看来那里的参数是正确的!!!。简而言之,逐条说明。参数价格是订单的开盘价OrderOpenPrice(),它是标准的。

我们的止损价比开盘价低10点,而且我们已经记住了这个价格。在打开订单时,我们把它储存在变量tsena中。

我们有两个订单,一个有利润,一个没有。这似乎很清楚。错误是什么?还能是什么呢?

是的,条件似乎很清楚,尽管这并不真正相关。即,价格已经移动了30点,条件起作用了(tsena+30*Point)。

我们设置了一次perenos=true;这些条件似乎真的有效。

我自己不知道如何思考。

我们实际上穿了一次perenos=true;这些条件没有用,因为它也没有用。


bool napravlenieCCI=false;
 if( CCI_50S<100&&CCI_50>100 ||CCI_50S<0&&CCI_50>0|| CCI_50S<-100&&CCI_50>-100  )napravlenieCCI=true;// if( CCI_50S>CCI_50&& )napravlenieCCI=false;
 
 bool wishseLMA=false;//Свеча закрывается или находится выше LMA
 if (Bid>LMA_100) wishseLMA=true;Print ("до условияsrabotka    " ,srabotka );Alert("до условияsrabotka    " ,srabotka );
 
 if (EMA_20S>EMA_10S&&EMA_20<EMA_10&&napravlenieCCI&&wishseLMA&&!srabotka) {/// нашли пирисечение сверху вниз и направление CCI вверх
 RefreshRates();
           int tacket=OrderSend (Symbol( ), OP_BUY, lot,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (35*Point),Digits), 
           NormalizeDouble( Ask+( 45*Point),Digits), NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates(); double profit = NormalizeDouble( Ask+( 45*Point),Digits); tsena=Ask; perenos = false;
           int tucket=OrderSend (Symbol( ), OP_BUY, lot,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (35*Point),Digits),
           0, NULL, 450, 0, CLR_NONE); 
           if (Error==0)   
           srabotka= true; }}
           
           if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}
 
 
 if(tsena+30*Point<Ask&&!perenos){ 
 OrderModify(  tacket, OrderOpenPrice(), tsena-10*Point, OrderTakeProfit(), 0, CLR_NONE);
 Error=GetLastError();if (Error==0){  
 OrderModify(  tucket, OrderOpenPrice(), tsena-10*Point, OrderTakeProfit(), 0, CLR_NONE);
 Error=GetLastError();if (Error==0){  
 perenos=true;}}} 
 
 if (Error!=0){  errorcomment = "Ошибка модификайции ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);BreakPoint();} 
 

有一个重要的参数--tucket。然而,我把它分配给一个变量,所以int tacket=OrderSend,所以int tucket=OrderSend。

我使用了OrderModify()处理程序,总之我没有看到任何错误!!。

 

哦,伙计...2012.11.14 22:40:17 2012.08.16 15:30 Vasilypr EURGBP,M30: 1Error 0 tacket 5即订单被打开,票被分配。

而且进一步说,它已经等于零了!也就是说,在下一节法典内,涉及到修改。

2012.11.14 23:05:27 2012.08.17 11:03 Vasilypr EURGBP,M30: tacket 0 OrderOpenPrice() 0.7845 tsena-10*Point 0.7835 OrderTakeProfit() 0.789

在上述代码区域之外,该变量根本无法播放!这是不可能的。

我不能改变乌克兰布局的任何组合键,而且是用俄语写的!"。

 
Dimka-novitsek:

有一个重要的参数--tucket。然而,我把它分配给一个变量,所以int tacket=OrderSend,所以int tucket=OrderSend。

我使用了OrderModify()处理程序,从技术上讲,我没有看到任何错误!!。


显然,DC不接受立即与SL和TP。打开后修改SL和TP。第2个头寸不应立即打开,而是在下一个勾选中打开!"。
 
是的,谢谢你。但有一个纰漏,嗯,它打开了。我试着分别修改,停,我只带了一个停,对吗?
 
修饰错误,维塔斯维塔斯。
 
Dimka-novitsek:
这是一个修改错误,这是一个修改错误。


在测试器中,它可能会起作用,在Demka上也是如此,但在Real上不会起作用!

而且打滑也无济于事!

 

为什么,什么是不可能通过的?

哦,我明白了,经常同时提交两个订单。

 
Dimka-novitsek:
为什么,什么不会通过?

一次性设置SL和TP是行不通的!而在修改它们的时候,你必须把一个有缺口的条件放进去!特别是在价格附近!
 
我明天会回来......再见。谢谢你!