新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 460

 
lil_lil:

谢谢你,那里的数值是来自一个文件和一个时间,但我的任务是分散在不同的时间。

在每天开始的30分钟内,每120秒记录一次当前价格和时间。

不要覆盖以前的条目。


开始写你的代码,不工作的地方,我们会把它拆开。

那么有什么可写的呢?取任何一天,读取偶数或奇数分钟的开盘价 PERIOD_M1...
 
lil_lil:

谢谢你,那里的数值是来自一个文件和一个时间,但我的任务是分散在不同的时间。

在每天开始的30分钟内,每120秒记录一次当前的价格和时间

不要覆盖以前的条目。

这是我曾经写的。使用OnTimer而不是OnTick。

#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:

开始写你的代码,不工作的地方,我们会把它拆开。

写道:"Janv 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:

这是我以前写的东西。使用OnTimer而不是OnTick。

谢谢

 
你好。你能告诉我,在激活虚拟服务器,是否可以关闭mt4网站?虚拟服务器能否工作或如何工作?
 
lil_lil:

写道:"1月51日

这是Excell的一个问题。在设置中用句号代替逗号作为整数部分 和小数部分 的分隔符,就能正确显示。
 
Alexey Viktorov:
这是Excell的一个问题。在设置中用点代替逗号,把整数部分 和小数部分 分开,就能正确显示。

写,如何让它在开栏后30分钟内每120秒写一次?

 
日安!请帮助我改进复印机代码。问题如下:无论我做什么,EA(从属)都会打印出无法访问该文件的信息。怎么了?

反编译:Artyom Trishkin

给你的说明。

 
lil_lil:

写,如何让它在开栏后30分钟内每120秒写一次?

事件SetTimer

 
Konstantin Nikitin:

事件SetTimer

它在脚本中不起作用吗?