Эксперт MT4 каждый раз работает на неправильный тикер - PullRequest
0 голосов
/ 28 октября 2018

У меня есть простой скрипт, который записывает данные в файл OnTick событие, но я не могу выбрать, для какого символа он будет работать, если я активирую окно тикера на терминале (например, DE30), он все равно открывает окно EURUSD и пишетэти данные в файл, перекомпиляция не помогает.

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   //---
   //Nazwa pliku
   string  fileName = "D300_" + TimeToStr(TimeCurrent(),TIME_DATE);
   int replaced = StringReplace(fileName, ".", "");
   fileName = fileName + ".csv"; 
   //MessageBox(fileName);

   //Tworzenie pliku
   int handle;
   datetime dataOtwarciaPozycji = TimeCurrent();
   handle=FileOpen(fileName, FILE_CSV|FILE_READ|FILE_WRITE, ';');
   //MessageBox(Close[0]);

   //Zapis do pliku
   if(handle>0)
   {
   if(FileSeek(handle, 0, SEEK_END)) {
      string sekunda;
      sekunda = Seconds();

      if(StrToInteger(sekunda) < 10){
         sekunda = "0" + sekunda;
      }

      FileWrite(handle, TimeToStr(TimeCurrent())+":"+sekunda, Close[0] + ";" + Bid + ";" + Ask + ";" + Symbol());
      Print("appending to file");   
   }

   FileClose(handle);
   }
  }
//+------------------------------------------------------------------+
...