Проверка лицензии MQL4 + PHP

Простая проверка — разрешение на работу советника через сторонний сайт.
Нужны базовые знания MQL4 и PHP.

Для начала разрешаем ему работу со сторонним сайтом, добавляем URL. Сервис -> Настройки -> Советники.



Далее на готовом сервере(например LAMP) размещаем PHP скрипт примерного содержания.



После этого пишем MQL4 советник, который перед запуском проверяет наличие лицензии по Email.


//+------------------------------------------------------------------+
//|                                                       access.mq4 |
//|                                                          idarvel |
//|                               http://idarvel.opentraders.ru/bio/ |
//+------------------------------------------------------------------+
#property copyright "idarvel"
#property link      "http://idarvel.opentraders.ru/bio/"
#property version   "1.00"
#property strict

extern string    EmailLicense = "demo@demo.com";
string urldata = ""; // URL вида http://google.com/checklicense/
bool license = false;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
  	string resp = GetLicense();
  	if(resp == "ok")
    {
      license = true;
      Print("License successfully accepted.");
    }
    else
      Print("License incorrect.");

    return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
	if(license == true)
	{
		
	}
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string GetLicense()
{
      char post[];
      char result[];
      string headers;
      int res;      
      
      StringToCharArray("email="+EmailLicense,post);
      ResetLastError();
      res=WebRequest("POST",urldata,NULL,NULL,50,post,ArraySize(post),result,headers);
      
      if(res==-1)
        {
         Print("Error code =",GetLastError());
        }
      else
        {
         return CharArrayToString(result, 0);
        }  
     return("");    
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+


В следующий раз попробуем усложнить советник — разберем чуть больше PHP команды, добавим проверку по логину/паролю и сигналы на открытие/закрытие сделок будем принимать с нашего стороннего сервера.
  • +7
  • Просмотров: 9956
  • 7 сентября 2016, 21:32
  • vis
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Следующая запись в моем блоге  
Получаем сигналы со стороннего сервера
08 сентября 2016

Брокер для ваших роботов, 15 лет на рынке

Комментарии (1)

+
0
Мне нравится такой почин *good* 
avatar

  8  Miha Сообщений: 485 - Михаил

  • 7 сентября 2016, 21:45

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий