Ошибки, баги, вопросы - страница 3591

 
Vladislav Boyko #:

Правильно ли я понимаю, что MQL_MEMORY_USED возвращает размер кучи?

Да, размер явно использованной пользователем памяти из кучи, под динамические массивы и объекты.

Стек, индикаторные буфера, торговые данные (массивы в параметрах OnCalculate) сюда не попадают.

 

Привет. Подскажите, как сделать чтоб при новом окне графика, торговая история была отключена?

 
Andrei Sokolov #:

Привет. Подскажите, как сделать чтоб при новом окне графика, торговая история была отключена?

Сохранить дефолтный шаблон с отключенной историей. Сам не пробовал, но должно сработать.

 
Andrei Sokolov #:

Привет. Подскажите, как сделать чтоб при новом окне графика, торговая история была отключена?

А никак. Эта кнопка почему то не сохраняется в шаблонах. Хоть как делай, торговая история всё равно будет показана на новом графике. 

Это баг такой или фича, я хз. 

 
Aleksandr Slavskii #:

А никак. Эта кнопка почему то не сохраняется в шаблонах. Хоть как делай, торговая история всё равно будет показана на новом графике. 

Это баг такой или фича, я хз. 

У меня новый чарт открывается с отключенной торговой историей. Но не могу точно сказать, как этого добился, не помню.))) Как-то давно настроил и теперь всегда так, так что способ точно есть.
 

В настройках есть способ скрыть\отобразить торговую историю:


Скрываем, закрываем график, где она есть. Открываем новый. Убеждаемся, что он чист, создаём дефолтный шаблон...

 
Denis Kirichenko и остальным, кто пытался, спасиб.
 
Denis Kirichenko #:

В настройках есть способ скрыть\отобразить торговую историю:

Скрываем, закрываем график, где она есть. Открываем новый. Убеждаемся, что он чист, создаём дефолтный шаблон...

 

 

Наверное снимка совсем недостаточно, но всё-же попробую спросить. Вдруг кто поймёт и скажет что так и должно быть…

Почему магик ордера в структуре MqlTradeRequest не соответствует действительности? Если так должно быть, то когда магик отложенного ордера будет показан в  структуре MqlTradeRequest


И что самое непонятное, trans.type == TRADE_TRANSACTION_ORDER_UPDATE не бывает…

 

Вот подготовил короткий код.

Открываются два ордера. И вот код функции

void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
 {
  Print(EnumToString(trans.type));
  if(trans.type == TRADE_TRANSACTION_ORDER_UPDATE)
    Print("УРА¡¡¡ Победа ", EnumToString(trans.type));
  if(trans.type == TRADE_TRANSACTION_ORDER_ADD)
   {
    if(OrderSelect(trans.order))
     {
      ulong opdMagic=OrderGetInteger(ORDER_MAGIC);
     printf("ORDER_MAGIC %d ——— request.magic %d",opdMagic,request.magic);
     }
   }
 }/******************************************************************/

Казалось бы должен печатать все типы транзакций… Ан нет. Только два типа. Это видимо сделано для повышения скорости обработки, но это кажется перебор… 

Результат отладки на исторических данных

2024.11.27 20:14:39.967 2024.11.11 00:00:57   GBPUSD 11 ***** 
2024.11.27 20:14:39.967 2024.11.11 00:00:57   buy limit 0.1 GBPUSD at 1.28878 tp: 1.29078 (1.29078 / 1.29201)
2024.11.27 20:14:39.969 2024.11.11 00:00:57   GBPUSD 11 ***** 
2024.11.27 20:14:39.969 2024.11.11 00:00:57   sell limit 0.1 GBPUSD at 1.29278 tp: 1.29078 (1.29078 / 1.29201)
2024.11.27 20:14:46.847 2024.11.11 00:00:57   TRADE_TRANSACTION_ORDER_ADD
2024.11.27 20:14:48.915 2024.11.11 00:00:57   ORDER_MAGIC 11 ——— request.magic 0
2024.11.27 20:14:49.566 2024.11.11 00:00:57   TRADE_TRANSACTION_REQUEST
2024.11.27 20:14:50.698 2024.11.11 00:00:57   TRADE_TRANSACTION_ORDER_ADD
2024.11.27 20:14:52.000 2024.11.11 00:00:57   ORDER_MAGIC 11 ——— request.magic 0
2024.11.27 20:14:52.525 2024.11.11 00:00:57   TRADE_TRANSACTION_REQUEST

А где тип TRADE_TRANSACTION_ORDER_UPDATE ведь он кажется должен быть…

Файлы:
TestBug.mq5  10 kb