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

 
novichok2018:

Добрый день!

Помогите решить проблему, или подскажите где такое уже решалось: открываю позиции по разным условиям - БАЙ по условиям 1, 2, 3, СЕЛЛ по 4,5. Как прописать в коде, чтобы БАЙ,открытый по условию 1 (бай1) закрывался по условию 6, бай2 и бай3 по условию 7, селл4 по условию 8 и селл5 по условию9? У меня почему-то все баи закрываются по 7, а все селлы по 9. Мучаюсь третий день. Спасибо.

Для условия 1 выставляйте идентификатор magic number +1, для условия 2 magic number +2 и так далее. Таким образом потом можно понять, что эта позиция была открыта по условию 1 или по условию 2 ...

 
Vladimir Karputov:

Для условия 1 выставляйте идентификатор magic number +1, для условия 2 magic number +2 и так далее. Таким образом потом можно понять, что эта позиция была открыта по условию 1 или по условию 2 ...

СПАСИБО! Пока всё получается.

 
2018/02/08 00:25:21 Completed #69381 panFX
 
 
fxsaber:

Чудеса. Только что был ваш ответ, теперь его нет.

Повторите, пожалуйста, второй вариант.

 
#include <MT4Orders.mqh>

int CountProfit( const string Symb, const long MagicNumber = 0 )
{
  int Count=0;
 
  for (int i = OrdersHistoryTotal() - 1; i >= 0; i--)
    if (OrderSelect(i ,SELECT_BY_POS, MODE_HISTORY) &&
        (OrderMagicNumber() == MagicNumber) &&
        (OrderType() <= OP_SELL) && (OrderSymbol() == Symb))
    {
      if (OrderProfit() < 0)
        break;
        
      Count++;
    }

 return(Count);
}

int CountProfit( const string Symb, const long MagicNumber = 0 )
{
  int Count=0;
  ulong Ticket;
 
  if (HistorySelect(0, LONG_MAX))
    for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
      if ((bool)(Ticket = HistoryDealGetTicket(i)) &&
          (HistoryDealGetInteger(Ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT) &&
          (HistoryDealGetInteger(Ticket, DEAL_MAGIC) == MagicNumber) &&
          (HistoryDealGetString(Ticket, DEAL_SYMBOL) == Symb))
      {
        if (HistoryDealGetDouble(Ticket, DEAL_PROFIT) < 0)
          break;
          
        Count++;
      }

 return(Count);
}
 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".
 
Vladimir Karputov:
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".

Вот те раз! И кто мне там ответит, если последнее сообщение было 5 февраля?  А № 8284 тоже вроде как по МТ4.

 
novichok2018:

Вот те раз! И кто мне там ответит, если последнее сообщение было 5 февраля? 

Вы находитесь в главном разделе форума MQL5. Кстати эта тема также имеет название, в котором точно указанна принадлежность к MQL5.

Для языка MQL4 существует отдельный раздел MQL4 и MetaTrader 4, дабы не возникало путаницы.

 
Vladimir Karputov:

Вы находитесь в главном разделе форума MQL5. Кстати эта тема также имеет название, в котором точно указанна принадлежность к MQL5.

Для языка MQL4 существует отдельный раздел MQL4 и MetaTrader 4, дабы не возникало путаницы.

 А № 8284 тоже вроде как по МТ4.