初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1227

 
你好!请解释或指出如何用对冲/对冲账户类型编程关闭未结 头寸。如何在Mql5中关闭对冲头寸?只找到这个材料。https://www.mql5.com/ru/articles/4830
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
BlackCoffee:
你好!请解释或指出如何用对冲/对冲账户类型编程关闭未结 头寸。如何在Mql5中关闭对冲头寸?只找到这个材料 https://www.mql5.com/ru/articles/4830

关闭所有职位 代码的例子

在处理位置时,有必要将所有位置循环到零

//+------------------------------------------------------------------+
//| Close all positions                                              |
//+------------------------------------------------------------------+
void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }

Close all positions
Close all positions
  • www.mql5.com
Закрытие позиций при достижении уровня прибыли  Close all if Profit . При этом суммируется общая прибыль по всем позициям: вне зависимости от символа и magic number. Подсчёт прибыли происходит только в момент рождения нового бара.
 
Vladimir Karputov:

关闭所有职位 代码的例子

在处理位置时,有必要将所有位置循环到零

谢谢你的回答!!。如果你只需要关闭一个卖出头寸呢?我是否应该添加这些行?
if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
                       {
                         //--- prepare request for close SELL position
                        mrequest.type =ORDER_TYPE_BUY;
                        mrequest.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
                       }
 

这就是我做的那种东西。要关闭自己的篱笆。


void CloseSellPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
                       {
                            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
                       }
  }
但有时由于某种原因,会有一个职位空缺。如果我们设置条件:如果有五个以上的位置就关闭。
 
BlackCoffee:

这就是我做的那种东西。要关闭自己的篱笆。


但有时有一个位置由于某种原因没有关闭。如果我们设置一个条件:如果有五个以上的头寸就关闭。

那就已经对了。

void CloseSellPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.PositionType()==POSITION_TYPE_SELL)
            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }

如果它未能关闭,请查看日志文件。可能有一百万个理由:重新定向,没有交易,没有价格,接近止损点......。

 
你好。为什么我需要在去初始化中删除类对象?终端关闭后,它们是否会保留在内存中?还是在终端运行时,它们会留在内存中,没有EA?除了类对象,还有什么需要被删除?
 
Ivan_Invanov:
你好。为什么在去初始化时需要删除类对象?终端关闭后,它们是否会保留在内存中?还是在终端运行时,它们会保留在内存中,而没有专家顾问?除了类对象,还有什么需要被删除?

例如,你从图表中删除了专家顾问,但所有绘图(对象)仍保留在图表上。在去初始化中,删除所有不必要的东西,以获得一个干净的图表。它是这样的。

 
Nauris Zukas:

例如,你从图表中删除了专家顾问,但所有绘图(对象)仍保留在图表上。在去初始化中,删除所有不必要的东西,以获得一个干净的图表。它是这样的。

我不使用图形代码。我在其他人的程序中看到,类对象 被删除。我的理解是否正确,如果它们在去初始化时没有被删除,它们将留在内存中直到终端关闭。除了类对象之外,还有什么是比较好删除的?谢谢你。
 

嗨!

如何为一个指标指定一个ID?我买了一个EA,它面向一个较高的时间框架,在一个较低的时间框架上交易。开发者写道,我必须把指标放在较高的图表上,并给它分配一个ID。我是MT的新手,我不知道该怎么做。如果有人知道怎么做,请告诉我。(我使用的是MT5版本)

 
secret:

如何防止其他图表中的交易出现在图表上?

只有在给定图表上的机器人的交易。

难道只有我一个人对一个图表上许多机器人的杂乱无章的交易感到困扰吗?没有人打扰吗?