Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях - страница 5

 

При скроллинге (ползунок тяну мышкой) Обзора рынка возникают такие артефакты.


 

В журнале есть такие сообщения

03:37:53.592    Trades  'xxx': close position #2801067 buy 0.03 GBPAUD by position #2800885 sell 0.09 GBPAUD
03:37:53.692    Trades  'xxx': accepted close position #2801067 buy 0.03 GBPAUD by position #2800885
03:37:53.692    Trades  'xxx': rejected close position #2801067 buy 0.03 GBPAUD by position #2800885

И таких реджектов было много.

Но в Истории нет ни слова про реджекты. Это баг или фича, что CloseBy-реджеты никак не отображаются в таблице истории?

 
traveller00:

В журнале есть такие сообщения

И таких реджектов было много.

Но в Истории нет ни слова про реджекты. Это баг или фича, что CloseBy-реджеты никак не отображаются в таблице истории?

Интересно, что возвращал OrderSend на CloseBy-приказ.

 
fxsaber:

Интересно, что возвращал OrderSend на CloseBy-приказ.

Тут я дёргал через MT4Orders

    if(!OrderCloseBy(BuyTicket,SellTicket,CLR_NONE))
      ShowAlert(GetLastError(),MT4ORDERS::LastTradeResult.retcode,"OrderCloseBy failed");

Что выдавало

OrderCloseBy failed 4756 10006
Но что отдавал нативный OrderSend, не подскажу.
 
traveller00:

Тут я дёргал через MT4Orders

Что выдавало

Но что отдавал нативный OrderSend, не подскажу.

Видимо, отключили распечатку.

    else if (FlagCalc)
    {
      Result.comment += " " + ::DoubleToString(Interval1 / 1000.0, 3) + " ms";

      ::Print(TOSTR(::TimeCurrent()) + TOSTR(::TimeTradeServer()) + TOSTR(MT4ORDERS::TimeToString(PrevTimeCurrent)) +
              MT4ORDERS::TickToString(Request.symbol, PrevTick) + "\n" + MT4ORDERS::TickToString(Request.symbol) + "\n" +
              MT4ORDERS::ToString(Request) + MT4ORDERS::ToString(Result));

//      ExpertRemove();
    }
 
fxsaber:

Видимо, отключили распечатку.

Внутренний вывод алёртов в целях скорости был отключен, да.

 

Непонятно, почему разные терминалы имеют разные иконки.


 

Подскажите, как сделать, чтобы этот советник не алертил при переключении на другие счета?

const bool Init = EventSetMillisecondTimer(100);
const int TotalOrders = HistorySelect(0, INT_MAX) ? HistoryOrdersTotal() : HistoryOrdersTotal();

#define TOSTRING(A) #A + " = " + (string)(A) + " "

void OnTimer()
{
  if (HistorySelect(0, INT_MAX) && (TotalOrders != HistoryOrdersTotal()))
    Alert(TOSTRING(TotalOrders) + TOSTRING(HistoryOrdersTotal()));
}
 
fxsaber:

Подскажите, как сделать, чтобы этот советник не алертил при переключении на другие счета?

int OnInit()
{
  TotalOrders == HistoryOrdersTotal();
   return(INIT_SUCCEEDED);
}