Новая версия платформы MetaTrader 5 build 3620: улучшения веб-терминала, поддержка ONNX и ускоренное умножение матриц в MQL5 - страница 16

 

Вот Вам ещё одна идея:

//+------------------------------------------------------------------+
//|                                                     OnBarNew.mq5 |
//|                                       Copyright 2023, MrBrooklin |
//|                         https://www.mql5.com/ru/users/mrbrooklin |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MrBrooklin"
#property link      "https://www.mql5.com/ru/users/mrbrooklin"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(OnBarNew())
      Print("< ========== NEW_BAR ========== >"); // выводим на печать или сюда вставляем любое своё условие
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool OnBarNew()
  {
   bool open_new_bar=false;
   static int old_bar=0;
   int new_bar=iBars(_Symbol,PERIOD_CURRENT);
   if(old_bar!=new_bar)
     {
      open_new_bar=true;
      old_bar=new_bar;
     }
   return(open_new_bar);
  }
//+------------------------------------------------------------------+

С уважением, Владимир.

 
Denis Kirichenko #:

К примеру, у конкурирующей организации есть такая функция - OnBar().


привлекает бестолковщина?

 
Denis Kirichenko #:

К примеру, у конкурирующей организации есть такая функция - OnBar().


а что мешает вам реализовать этот метод в своих классах ? назовите хотя-бы одну причину

 
JRandomTrader #:

У кого-то для только для отчётов, а у кого-то вся логика работы с ордерами и сделками на ней держится.

Смысла нет. Функция пропускает события и пишет лишнее что не во власти трейдера.  Легче проверить есть ли изменение в байтах. Сначала я тоже так думал но профессионалы рекомендуют именно не использовать этот метод. 

 
BillionerClub #:

Смысла нет. Функция пропускает события и пишет лишнее что не во власти трейдера.  Легче проверить есть ли изменение в байтах. Сначала я тоже так думал но профессионалы рекомендуют именно не использовать этот метод. 

Про байты не понял.

 
JRandomTrader #:

Про байты не понял.

Если байты ордера-ов изменились значит есть событие 

union OrdersData

{

Orders[Billions];

uchar data[sizeoff( Orders )];

};



if( data != prevbytesdata) 

{
What'sGoingOn( data  );

data = prevbytesdata;

}
else return;
 
BillionerClub #:

Если байты ордера-ов изменились значит есть событие 

Каким механизмом меняются байты?

 
JRandomTrader #:

Каким механизмом меняются байты?

 что то подобным memcpy

Вот хорошая статья в Вам в помощь https://www.mql5.com/ru/articles/364

Избавляемся от балласта самодельных DLL
Избавляемся от балласта самодельных DLL
  • www.mql5.com
Если MQL5-программисту недостаточно функционала языка, он вынужден обращаться к дополнительным инструментам. Для этого приходится использовать другой язык программирования и создавать промежуточную DLL. В MQL5 имеется механизм представления разных типов данных с помощью структур и передачи их в API, но к сожалению, MQL5 не отвечает нам на вопрос о том, как вытянуть данные из принятого указателя. В данной статье мы поставим точку в этом вопросе и покажем простые механизмы обмена сложными типами данных и работе с ними.
 
BillionerClub #:

 что то подобным memcpy

Вот хорошая статья в Вам в помощь https://www.mql5.com/ru/articles/364

Что такое memcpy, я представляю как минимум со времён LDI, LDD, LDIR, LDDR.

Я пытаюсь понять, откуда берутся исходные данные по всем ордерам.

 
Maxim Kuznetsov #:

а что мешает вам реализовать этот метод в своих классах ? назовите хотя-бы одну причину

Кривые руки.

Andrey F. Zelinsky #:

привлекает бестолковщина?

Вы теперь в моём чёрном списке ))