Выпущены видеоролики по виртуальному хостингу - страница 3

 

Советник передаёт на хостинг два файла:

//+------------------------------------------------------------------+
//|                                         property_tester_file.mq5 |
//|                         Copyright © 2017-2021, Vladimir Karputov |
//|                      https://www.mql5.com/en/users/barabashkakvn |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017-2021, Vladimir Karputov"
#property link      "https://www.mql5.com/en/users/barabashkakvn"
#property version   "1.005"
//---
#property tester_file "HistoryDeals.txt"
#property tester_file "HistoryDeals2.txt"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   ResetLastError();
   if(!EventSetTimer(60*60))
     {
      Print("Error EventSetTimer# ",GetLastError());
      return(INIT_FAILED);
     }
   Sleep(1000*5);
   OnTimer();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   Print("");
   string Filter="*.txt";
   string file_name;
   int    i=1;
//--- receive search handle in local folder's root 
   long search_handle=FileFindFirst(Filter,file_name);
//--- check if FileFindFirst() function executed successfully 
   if(search_handle!=INVALID_HANDLE)
     {
      //--- check if the passed strings are file or directory names in the loop 
      do
        {
         ResetLastError();
         //--- if this is a file, the function will return true, if it is a directory, the function will generate error ERR_FILE_IS_DIRECTORY 
         FileIsExist(file_name);
         string name_file=
                          StringFormat("%d: %s name = %s",i,GetLastError()==ERR_FILE_IS_DIRECTORY ? "Directory" : "File",file_name);
         //--- correct way of working in the "file sandbox" 
         ResetLastError();
         int filehandle=FileOpen(file_name,FILE_READ|FILE_TXT|FILE_ANSI);
         string read_or_error="";
         if(filehandle!=INVALID_HANDLE)
           {
            //--- read the string 
            read_or_error=FileReadString(filehandle,-1);
            FileClose(filehandle);
           }
         else
            read_or_error="Operation FileOpen failed, error "+GetLastError();

         Print(name_file,", ",read_or_error);

         i++;
        }
      while(FileFindNext(search_handle,file_name));
      //--- close search handle 
      FileFindClose(search_handle);
     }
   else
      Print("Files not found!");
  }
//+------------------------------------------------------------------+


Файлы расположены в [data folder]\MQL5\Files


Мигрировал на хостинг и вот результат - советник на MQL5 VPS удачно прочел два файла, которые при помощи директивы '#property tester_file' также были переданы на хостинг:

2021.09.14 11:37:15.022 property_tester_file (EURUSD,H1) loaded successfully
2021.09.14 11:37:21.346 property_tester_file (EURUSD,H1)
2021.09.14 11:37:21.347 property_tester_file (EURUSD,H1) 1: File name = HistoryDeals.txt, Deal: 905299556
2021.09.14 11:37:21.347 property_tester_file (EURUSD,H1) 2: File name = HistoryDeals2.txt, Deal: 458299756


Вывод: директива '#property tester_file' работает.

 
Vladimir Karputov #:

Советник передаёт на хостинг два файла:


Файлы расположены в [data folder]\MQL5\Files


Мигрировал на хостинг и вот результат - советник на MQL5 VPS удачно прочел два файла, которые при помощи директивы '#property tester_file' также были переданы на хостинг:


Вывод: директива '#property tester_file' работает.

Спасибо, буду пробовать.

 
Vladimir Karputov #:

Советник передаёт на хостинг два файла:


Файлы расположены в [data folder]\MQL5\Files


Мигрировал на хостинг и вот результат - советник на MQL5 VPS удачно прочел два файла, которые при помощи директивы '#property tester_file' также были переданы на хостинг:


Вывод: директива '#property tester_file' работает.

На домашнем компьтере работает, на хостинге - нет:

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property tester_file "Big_u_ga.csv"

#include "OnNewBar.mqh"
#include <Math/Stat/Math.mqh>

sinput   string FileNameB="Big_u_ga.csv";
#include <Files\FileTxt.mqh>

sinput   double   kLots = 0.01;
sinput   int      numStrRead = 19008;

const double pip = 1e-4;

const int      win = 24;         // размер окна

double   Big[][25];
int asBig;
int u_data[];

double   arrOpen[24];
double   diffpip[23];
double   newPoint[25];

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
   {
// читать массивы Big и u из файлов (.csv, .txt)
   //int numStrRead = 19008;     // узнать количество строк в файле -------------------- !
   ArrayResize(Big, numStrRead);
   ArrayResize(u_data, numStrRead);
   asBig = ArrayRange(Big,0); // это numStrRead

   string Filter="*.csv";
   string file_name;
   long search_handle = FileFindFirst(Filter, file_name);
   if(search_handle != INVALID_HANDLE) 
      {
      Print("файл есть");
      FileFindClose(search_handle);
      }
   else
      Print("файл не найден");
 
Это может быть связано с типом (txt, csv) или размером (8 МБ)?
 
Vladimir Karputov #:

Советник передаёт на хостинг два файла:


Файлы расположены в [data folder]\MQL5\Files


Мигрировал на хостинг и вот результат - советник на MQL5 VPS удачно прочел два файла, которые при помощи директивы '#property tester_file' также были переданы на хостинг:


Вывод: директива '#property tester_file' работает.


Что-то изменили с VPS? 

Файлы не передаются с MetaTrader 5. 

Как минимум года 2-3 назад все работало. Годл назад примерно также работало.

Сегодня решил проверить  - не работает.... 


Файлы теперь отправляются в архивах! 

2022.02.07 16:40:31.836 Exp -  mt5 20220207 (GBPUSD,M5) 1: File name = ALL_GLOBAL.csv.zip, PK   
 
Vladislav Andruschenko #:


Что-то изменили с VPS? 

Файлы не передаются с MetaTrader 5. 

Как минимум года 2-3 назад все работало. Годл назад примерно также работало.

Сегодня решил проверить  - не работает.... 

Да, мой же пример не работает, при миграции пишет:

2022.02.07 17:44:35.510 Virtual Hosting 6260231: nothing to synchronize, no any EA or custom indicator

возможно потому что VPS имеет билд 3091

2022.02.07 17:46:38.129 Network '***': authorized on RoboForex-ECN through Germany (ping: 47.30 ms, build 3091)

а терминал 3185.

Выпущены видеоролики по виртуальному хостингу
Выпущены видеоролики по виртуальному хостингу
  • 2021.09.14
  • www.mql5.com
А из представленных видео вы узнаете, как арендовать виртуальную платформу, как управлять ее торговым окружением и контролировать выделенные ресурсы.
 
Vladimir Karputov #:

Да, мой же пример не работает, при миграции пишет:

возможно потому что VPS имеет билд 3091

а терминал 3185.

@MetaQuotes

Теперь файлы отправляются в ZIP но не распаковываются после миграции. 

Где-то сделали ошибку на VPS 

2022.02.07 16:40:31.836 Exp -  mt5 20220207 (GBPUSD,M5) 1: File name = ALL_GLOBAL.csv.zip, PK   


При этом файл обычный 

ALL_GLOBAL.csv

Весом около 500кб 

В котором находятся все глобальные переменные терминала. Чтобы советник, который был передан на сервер - работал дальше...  


При этом, билд MetaTrader 4 (1353) работает с VPS нормально! (Билд VPS MT4 = 1353)

 
Vladislav Andruschenko #:

@MetaQuotes

Теперь файлы отправляются в ZIP но не распаковываются после миграции. 

Где-то сделали ошибку на VPS 


При этом файл обычный 

Весом около 500кб 

В котором находятся все глобальные переменные терминала. Чтобы советник, который был передан на сервер - работал дальше...  

Похоже, 3185 отправляет запакованный, а 3091 не в курсе, что надо распаковать :)

 
JRandomTrader #:

Похоже, 3185 отправляет запакованный, а 3091 не в курсе, что надо распаковать :)


При этом МТ4 работает как ранее - все ок. (билд от 1353)


Скорее всего Вы правы ! 

Будем ждать обновление VPS 

Причина обращения: