新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 952

 
A123272:
你不要看屏幕上的错误代码。Fxssi联系人就在那里,但他们说问题出在MT4上。

谁是 "他们"?谁是 "fxssi"??

 
你好。我在主图上画OBJ_RECTANGLE。但是当我在历史中滚动时,图表越来越宽,越来越窄,OBJ_RECTANGLE越来越小,然后OBJ_RECTANGLE里面的文字移出了OBJ_RECTANGLE的线,然后又移回来。如果OBJ_RECTANGLE的大小始终不变,而且文字不会跳出OBJ_RECTANGLE,这个问题有什么解决办法?
 
Igor Kryuchkov:
你好。我在主图上画OBJ_RECTANGLE。但是当我在历史中滚动时,图表越来越宽,越来越窄,OBJ_RECTANGLE越来越小,然后OBJ_RECTANGLE里面的文字移出了OBJ_RECTANGLE的线,然后又移回来。如果OBJ_RECTANGLE的大小始终不变,而且文字不会跳出OBJ_RECTANGLE,这个问题有什么解决办法?
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE_LABEL
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE_LABEL
  • www.mql5.com
//| Создает прямоугольную метку                                      |              chart_ID=0,                              sub_window=0,                            x=0,                                     y=0,                                     width=50,                                height=18,                ...
 
Artyom Trishkin:

你需要找到最后一个被打开的订单。找到它的票。然后我们将在对象名称列表中搜索包含在对象名称行中找到的最后一张订单票的子串。只要在对象名称中找到最后订单的票据,这就是必要的图形对象。剩下的就是要从这个图形对象中提取你需要的东西。

int RisB() 
  {    
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
           {
            int Tik=OrderTicket();
           }
        }
     }
   for(int no1=0; no1<ObjectsTotal(); no1++)
     {
      if(OrderTicket()==Tik)
        {
         string Ris=ObjectDescription("LOTB"+OrderTicket());
        }  } return(Ris);}

我有什么毛病?我怎样才能使只有未结清的订单被考虑?这段代码仍然捕获了部分关闭的订单,而我不需要这些订单。

 
Rustam Bikbulatov:

我怎样才能使只有未结清的订单被考虑?这段代码还捕获了部分关闭的订单,我不需要这些。

你需要使用MODE_TRADES参数。

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

MODE_TRADES - 当前订单
MODE_HISTORY - 历史

 
Yevhenii Levchenko:

你必须使用MODE_TRADES参数。

MODE_TRADES - 当前订单
MODE_HISTORY - 历史

不是一个选项。它不依赖于这个

 
Yevhenii Levchenko:

你必须使用MODE_TRADES参数。

MODE_TRADES - 当前订单
MODE_HISTORY - 历史

bool  OrderSelect( 
   int     index,            // индекс или тикет ордера 
   int     select,           // флаг способа выбора 
   int     pool=MODE_TRADES  // источник данных для выбора 
   );

pool=MODE_TRADES

[in] 用于选择的数据源。当选择参数等于SELECT_BY_POS时使用。可以是以下数值之一。

MODE_TRADES (默认) - 在未结订单挂单 中选择订单。
MODE_HISTORY - 该订单在已关闭和已删除的订单中被选中。


这个参数根本不需要,因为它是默认设置的。

 
Artyom Trishkin:

我有一个OBJ_RECTANGLE 对象,通过价格和时间链接,而不是通过坐标。

 
Rustam Bikbulatov:

我有什么毛病?我怎样才能使只有未结清的订单被考虑?这段代码还捕获了部分关闭的订单,我不需要这样做

在mql4中,头寸和挂单 之间没有分离。此外,也不存在从部分关闭的头寸中筛选出来的情况。在一个订单的评论中,有一个票据号码,来自于它所形成的部分关闭。因此,我们应该根据这条评论筛选出我们不需要的人。

 
Artyom Trishkin:

我需要在每个条形图周围画一个OBJ_RECTANGLE 框架,而OBJ_RECTANGLE_LABEL是为GUI设计而创建。我需要使用OBJ_RECTANGLE,但如何才能使其不被缩放?

原因: