[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 427

 
嗯,是的,我已经一个字母一个字母地看了好几个小时的密码。
 

这真是令人惊讶。我正以完全相同的方式向修理工下订单。用同样的一切--地段、开盘价、利润。而第一笔订单不是由OrderType定义的--它是0,尽管第一笔订单实际上是买入限价。但下一个开仓订单是由OrderType()正确决定的,在这段代码中,我把它们设定为4或5,它们表现正常。

我也不能用OrderDelete(OrderTicket( ))删除第一个订单。接下来的那些被删除的方式完全相同,没有任何问题。

 
Dimka-novitsek:

这真是令人惊讶。我正以完全相同的方式向修理工下订单。有了同样的一切--地段、开盘价、利润。而第一笔订单不是由OrderType定义的--它是0,尽管第一笔订单实际上是买入限价。但下一个开仓订单是由OrderType()正确决定的,在这段代码中,我把它们设定为4或5,它们表现正常。

我也不能用OrderDelete(OrderTicket( ))删除第一个订单。随后的就这样,顺序被正确删除。


看来通灵师们都在度假。我们应该给你看整个代码。

虽然,考虑到之前发布的内容,有很多的错误

 
我的逻辑代码中没有错误。我应该去哪里?这是否是语言或平台制作者的某种暗示。
 
//+------------------------------------------------------------------+
//|                                                      показзз.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
  int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price; int stsBUY;int stsSELL;double Price;int C=0;int GH;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if (GH<10){
//----
   double price=(Ask+Bid)/2; 
   
    Alert ("OrdersTotal()",OrdersTotal());
       
       if(C==0){ Price = price ;  C=1;}
   //----    
       
       tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); 
   
   for(int i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_BUYSTOP", OrderType( ));
   OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vseOP_BUYSTOP",  GetLastError( ) );}
              
//----
  tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, Price -otstup*Point, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    for( i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_SELLSTOP", OrderType( ));
     OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vseOP_SELLSTOP",  GetLastError( ) );}
//----
 
   //tiket= OrderSend( Symbol(), OP_BUY,  volume*A, Bid, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUY", 1000,  expiration, Red); 
   //Alert ("OP_BUY", GetLastError( ));
   //for( i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_BUY", OrderType( ));              
   //OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);Alert ("OrderCloseOP_BUY",  GetLastError( ) ); }
    
//----
    //tikett= OrderSend( Symbol(), OP_SELL,  volume*A, Ask, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    //Alert ("OP_SELL", GetLastError( )); 
    //for( i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_SELL", OrderType( ));
    //OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);Alert ("OrderCloseOP_SELL",  GetLastError( ) ); } 
    GH++;
    
                         }

是的,是的,在这里。

在所谓的陈列室里,只是简单地下了订单并立即删除。

 
这是从雪崩顾问开始下三单而不是两单时开始的。
 
Dimka-novitsek:
这是从雪崩顾问开始下三单而不是两单时开始的。

真是一团糟。该EA无法让该订单被删除。你投入什么,就会得到什么。
 
abolk:

https://docs.mql4.com/ru/basis/types/datetime

bool ObjectCreate( 字符串 name, int type, int window,datetime time1, double price1,datetime time 2=0, double price2=0, datetime time3=0, double price3=0)

我这样做了。
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //resign lines
ObjectSet(Up,OBJPROP_COLOR,DeepPink)。

我想画一条线,直到当前日期结束,但由于某些原因,它是无限的?

 
Stells:

我这样做了。
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //resign lines
ObjectSet(Up,OBJPROP_COLOR,DeepPink)。

我想把线画到当天结束,但由于某种原因,它是无限的?

ObjectSet(Up,OBJPROP_RAY,false)。
 
Vinin:

真是一团糟。其中一个订单应立即删除。你投入什么,就会得到什么。


是的,这只是检查它的工作方式,所有这些都不清楚。我做的第一件事是下一个待定的 bylimit订单,比价格高20点。然后我立即用OrderType检查。

结果发现它不是零,是零!!!!。它怎么可能是零,它是一个二进制限制!!!。此外,它也没有被删除,它说有某种错误。此外,所有随后的订单都被纠正为4或5,它们被正常删除,它们的行为正常。

此外,即使是在第一个订单之上开出的订单也表现正常,具有相同的手数和位置,简而言之,都是一体的!"。除了第一个,其他都是。