Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2452

 
Ivan Butko #:

Ещё такой вопрос:

Некоторые брокеры на МТ4 работают опционами. И в поле "КОмментарий" при открытии вручную позиции указывается число - время экспирации в минутах. По истечении времени открытая позиция закрывается. 

Я так понимаю брокер читает комментарий и сам закрывает, поскольку в языке нет такой функции. Поправьте, если не так, видел только время экспирации для отложенных ордеров. 


Как в коде реализовать это поле? То есть, как советником отправлять время экспирации по опционам

пишите в комметн количество минут

 
Tretyakov Rostyslav #:

пишите в комметн количество минут

Это вот здесь?

int  OrderSend(
   string   symbol,              // символ
   int      cmd,                 // торговая операция
   double   volume,              // количество лотов
   double   price,               // цена
   int      slippage,            // проскальзывание
   double   stoploss,            // stop loss
   double   takeprofit,          // take profit
   string   comment=NULL,        // комментарий
   int      magic=0,             // идентификатор
   datetime expiration=0,        // срок истечения ордера
   color    arrow_color=clrNONE  // цвет
   );
 
Ivan Butko #:

Это вот здесь?

да, и скорее всего время в секундах

 
Vitaly Muzichenko #:

Вот. Тогда вопрос: Как программно получить MAC, и по нему делать идентификацию?

Спасибо!

Нашёл пример кода, но как-то не складывается у меня с ним для mql

https://arxont.blogspot.com/2011/08/mac-c.html

Получаю вылет dll

---

Кто сможет помочь сделать получение МАС кодом mql 

Спасибо!

Получение MAC адрес в C#
Получение MAC адрес в C#
  • 2011.08.14
  • arxont.blogspot.com
Как ни странно, но в C# нет функции для определения MAC адреса удалённой машины (но определение локального МАС адреса есть). Но тем не менее решается достаточно просто -
 
Vitaly Muzichenko #:

да, и скорее всего время в секундах

В минутах.
 
Vitaly Muzichenko #:

да, и скорее всего время в секундах

Tretyakov Rostyslav #:
В минутах.

Благодарю

 

Господа, приветствую. Нужна подсказка. 

Делаю индикатор, в котором две одинаковые логики, который берет данные с RSI и с выбором тф.

Тут индикатор включен на H1. На первой его части выбран H1, который соответствует периоду графика, эта часть отображается синими стрелками, и тут все ок. 

На второй части выбран период M30, и она отображается красными стрелками. Есть проблема не соответствия работы на новых данных. Посмотрел причину - в буферы поступают данные странным и непонятным образом. Подскажите, почему так?


Файлы:
 
Vitaly Muzichenko #:

Нашёл пример кода, но как-то не складывается у меня с ним для mql

https://arxont.blogspot.com/2011/08/mac-c.html

Получаю вылет dll

---

Кто сможет помочь сделать получение МАС кодом mql 

Спасибо!

// Test MAC.mq5
#property copyright "(c)2020-2024 Edgar Akhmadeev"
#property link      "https://www.mql5.com/en/users/dali"



union bytes4 {
	uint	v;
	uchar	b[4];
};

union bytes6 {
	ulong	v;
	uchar	b[6];
};



#import "IPHlpAPI.dll"
uint SendARP(
	uint	DestIP,
	uint	SrcIP,
	uchar&	Mac[],
	uint&	MacLen
);
#import



void 
OnStart() {
	bytes4 IP;
	IP.b[0] = 192;
	IP.b[1] = 168;
	IP.b[2] = 1;
	IP.b[3] = 2;
    
	bytes6 MAC;
	if (!GetMAC(IP.v, MAC)) {
		Print("!GetMAC()");
		return;
	}
        
	Print(StringFormat("%X-%X-%X-%X-%X-%X", MAC.b[0], MAC.b[1], MAC.b[2], MAC.b[3], MAC.b[4], MAC.b[5]));
}



bool
GetMAC(uint IP, bytes6& MAC) {
	MAC.v = 0;
        
	uchar mac[6];
	uint len = 6;
	uint rc = SendARP(IP, 0, mac, len);
	if (rc != 0 || len != 6) {
		Print("!SendARP()");
		return false;
	}
	
	ArrayCopy(MAC.b, mac);
	return true;
}
Для привязки к железу я бы использовал не MAC (его можно изменить), а UUID матплаты. Ну или вместе, на случай неуникального UUID.
Получение информации из SMBIOS - Используйте программу hwinfo для чтения информации о железе из SMBIOS. Закомментируйте DEBUG с вкладок BIOS, System, Mainboard и System enclosure
Получение информации из SMBIOS - Используйте программу hwinfo для чтения информации о железе из SMBIOS. Закомментируйте DEBUG с вкладок BIOS, System, Mainboard и System enclosure
  • 2021.03.23
  • Edgar Akhmadeev
  • www.mql5.com
Написал код для чтения информации о железе из SMBIOS. что данные из SMBIOS выдаются в фиксированном порядке. желательно дать полный выхлоп теста и скриншоты из hwinfo с вкладок BIOS. Mainboard и System enclosure с дерева Motherboard SMBIOS DMI
 
Edgar Akhmadeev #:
// Test MAC.mq5 #property copyright "(c)2020-2024 Edgar Akhmadeev" #property link      "https://www.mql5.com/en/users/dali" union bytes4 { uint v; uchar b[4]; }; union bytes6 { ulong v; uchar b[6]; }; #import "IPHlpAPI.dll" uint SendARP( uint DestIP, uint SrcIP, uchar& Mac[], uint& MacLen ); #import void OnStart() { bytes4 IP; IP.b[0] = 192; IP.b[1] = 168; IP.b[2] = 1; IP.b[3] = 2;      bytes6 MAC; if (!GetMAC(IP.v, MAC)) { Print("!GetMAC()"); return; }          Print(StringFormat("%X-%X-%X-%X-%X-%X", MAC.b[0], MAC.b[1], MAC.b[2], MAC.b[3], MAC.b[4], MAC.b[5])); } bool GetMAC(uint IP, bytes6& MAC) { MAC.v = 0;          uchar mac[6]; uint len = 6; uint rc = SendARP(IP, 0, mac, len); if (rc != 0 || len != 6) { Print("!SendARP()"); return false; } ArrayCopy(MAC.b, mac); return true; }

Спасибо за уделённое время!

Запустил скрипт, результат такой


===

P.S. Сменил IP и заработало

==

Получается, что IP на разных машинах разный, и данный способ не особо надёжен?

 
Vitaly Muzichenko #:

Спасибо за уделённое время!

Запустил скрипт, результат такой


===

P.S. Сменил IP и заработало

==

Получается, что IP на разных машинах разный, и данный способ не особо надёжен?

Я завёл тему https://www.mql5.com/ru/forum/473904, вдруг кому-то пригодится. Обсуждать лучше там. Там и отвечу.

Определение MAC-адреса
Определение MAC-адреса
  • 2024.09.28
  • Edgar Akhmadeev
  • www.mql5.com
По просьбе в ветке вопросов сделал код https://www.mql5...