Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 934

 
Дак в статье про сигналы. Это не то
 
void ClosePositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current orders
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==Magic)
            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }
Подскажите как изменить эту функцию чтобы найти и закрыть позицию у которой комментарий ААА
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
EgorKim:
Подскажите как изменить эту функцию чтобы найти и закрыть позицию у которой комментарий ААА

Справка: CPositionInfo

Доступ к текстовым свойствам ...
 

Спасибо.

Ещё подскажите пожалуйста почему при компиляции ругается на implicit conversion from 'number' to 'string'

if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp,"AAA")

Как правильно команда на покупку должна выглядеть?

 
EgorKim:

Спасибо.

Ещё подскажите пожалуйста почему при компиляции ругается на implicit conversion from 'number' to 'string'

if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp,"AAA")

Как правильно команда на покупку должна выглядеть?

Справка: Buy.

Справка: Условный оператор if-else

 

Не так код записал.

Вот код

long     chislo       =5;
if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp,"AAA"+chislo))

Компилятор ругается на "AAA"+chislo

 
EgorKim:

Не так код записал.

Вот код

Компилятор ругается на "AAA"+chislo

Справка: IntegerToString


Добавлено: На сегодня всё. Я уже сплю.

 
EgorKim:

Не так код записал.

Вот код

Компилятор ругается на "AAA"+chislo

long     chislo       =5;
if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp,"AAA"+(string)chislo))
 

Vladimir Karputov,Alexey Viktorov

Спасибо

 

Подскажите по коду пожалуйста.

На данный момент открыто 4бай обьемом 1лот каждый  и 4селл обьемом 1лот каждый. Символ одинаковый.

В таком виде закрывается встречно только 1 бай и 1 селл

void CloseBy()
  {
   ulong ticket_buy=ULONG_MAX;
   ulong ticket_sell=ULONG_MAX;
   for(int i=0;i<PositionsTotal();i++) // ATTENTION! Here, specially began a detour with "0"
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         {
         if(m_position.PositionType()==POSITION_TYPE_BUY && ticket_buy==ULONG_MAX)
            ticket_buy=m_position.Ticket();

         if(m_position.PositionType()==POSITION_TYPE_SELL && ticket_sell==ULONG_MAX)
            ticket_sell=m_position.Ticket();
        }
   if(ticket_buy!=ULONG_MAX && ticket_sell!=ULONG_MAX)
      m_trade.PositionCloseBy(ticket_buy,ticket_sell);
//---
   return;
  }

В таком виде вообще ничего не закрывается

void CloseBy()
  {
   ulong ticket_buy=ULONG_MAX;
   ulong ticket_sell=ULONG_MAX;
   for(int i=0;i<PositionsTotal();i++) // ATTENTION! Here, specially began a detour with "0"
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         if(m_position.PositionType()==POSITION_TYPE_BUY && ticket_buy==ULONG_MAX)
            ticket_buy=m_position.Ticket();

         if(m_position.PositionType()==POSITION_TYPE_SELL && ticket_sell==ULONG_MAX)
            ticket_sell=m_position.Ticket();
        }
   if(ticket_buy!=ULONG_MAX && ticket_sell!=ULONG_MAX)
      m_trade.PositionCloseBy(ticket_buy,ticket_sell);
//---
   //return;
  }

Как правильно сделать чтобы все 4 бая и 4 селла закрылись встречными?

Причина обращения: