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

 
lil_lil:

Спасибо, там значения из файла и одним разом а у меня задача растянута по времени.

Записывать текущую цену и время в начале каждого дня в течение 30 минут, каждые 120 секунд 

Предыдущие записи не затирать. 


Начинайте писать свой код и что не будет получаться, будем разбирать.

Так а что их писать? Берёшь любой день и читаешь цену открытия чётных минут PERIOD_M1 или нечётных по желанию...
 
lil_lil:

Спасибо, там значения из файла и одним разом а у меня задача растянута по времени.

Записывать текущую цену и время в начале каждого дня в течение 30 минут, каждые 120 секунд 

Предыдущие записи не затирать.

Вот писал когда-то. Вместо OnTick используйте OnTimer

#property strict
enum Локаль   // Десятичный разделитель для отображения в Excel
{
  Точка,
  Запятая
};
extern Локаль   RUS = Запятая; // Для русской локализации запятую

string ИмяФайла;          // Имя файла на диске


void OnInit()
{
  ИмяФайла=Symbol()+".txt";
}


void OnTick()
{
   string Текст, Строка;

   // Открытие или создание файла и перемещение указателя в конец
   int Файл = FileOpen(ИмяФайла, FILE_CSV | FILE_READ | FILE_WRITE, " ");
   if(Файл == -1)
   {
      Alert("Ошибка при открытии файла ", ИмяФайла);
      return;
   }
   FileSeek(Файл, 0, SEEK_END);

   // Если новый файл записать строку заголовков колонок
   if(FileSize(Файл)==0)FileWrite(Файл, "           Время   ASK     BID");

   // Сбор информации и запись в файл
   FileWrite(Файл,
             TimeToStr(Time[0]),
             dstr(Ask),
             dstr(Bid) );
   FileClose(Файл);
   Файл = 0;                 // Заметая следы обнулим указатель
}


// Преобразование числа double в строку с запятой или точкой в соответствии с локализацией
string dstr(double Цена)
{
  if(!RUS) return DoubleToStr(Цена, Digits);
  return StringSetChar(DoubleToStr(Цена, Digits), StringFind(DoubleToStr(Цена, Digits), "."), ',');
}
 
Alexey Viktorov:

Начинайте писать свой код и что не будет получаться, будем разбирать.

Пишет Янв 51 

/********************Script program start function*******************/
void OnStart()
{
if(iVolume(0,PERIOD_D1,0)>=1)
  {
  int file_1;
   file_1=FileOpen("prise.csv",FILE_CSV|FILE_WRITE);
   if(file_1!=-1) 
     {
      FileWriteString(file_1,Bid,StringLen(Bid));
      FileClose(file_1);
     }
    }
   }
}/*******************************************************************/
 
STARIJ:

Вот писал когда-то. Вместо OnTick используйте OnTimer

Спасибо

 
Здравствуйте. Подскажите пожалуйста после активации виртуального сервера  можно ли закрыть площадку мт4 ? Виртуальный сервер будет работать или как это происходит?
 
lil_lil:

Пишет Янв 51 

Это проблемы Excell. Поставьте в настройках в качестве разделителя целой и дробной части точку вместо запятой и будет показывать правильно.
 
Alexey Viktorov:
Это проблемы Excell. Поставьте в настройках в качестве разделителя целой и дробной части точку вместо запятой и будет показывать правильно.

Пишет а как заставить писать каждые 120 секунд в течении 30 минут от открытия бара?

 
Доброе время суток! Прошу помощи по доработке кода копировщика. Проблема следующая: советник (Slave) выводит сообщение об отсутствии доступа к файлу, чтобы я не делал... Что не так? 

Декомпил удалён Artyom Trishkin

Вам - замечание.

 
lil_lil:

Пишет а как заставить писать каждые 120 секунд в течении 30 минут от открытия бара?

EventSetTimer

 
Konstantin Nikitin:

EventSetTimer

В скриптax не работает?

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