Передача данных

 

Подскажите как правильно сделать чтоб работало на мт5

void OnStart()
{
   interface iRSI
   //---
   iRSI=FileOpen("FileClose.txt",FILE_CSV|FILE_WRITE, '\t')
   if[iRSI]
      {
         FileWrite(iRSI, Close)
         FileClose(iRSI)
      }
    return(0);
   } 
}
 

https://www.mql5.com/ru/docs/indicators

Документация по MQL5: Технические индикаторы
Документация по MQL5: Технические индикаторы
  • www.mql5.com
Все функции типа iMA, iAC, iMACD, iIchimoku и т.п., создают в глобальном кеше клиентского терминала копию соответствующего технического индикатора. Если копия индикатора с этими параметрами уже существует, то новая копия не создается, а увеличивается счетчик ссылок на данную копию. Эти функции возвращают хэндл соответствующей копии индикатора...
 
Сергей Таболин:

https://www.mql5.com/ru/docs/indicators

А как может помочь чтение об индикаторах, правильно записать файл?

 
Alexey Viktorov:

А как может помочь чтение об индикаторах, правильно записать файл?

Для начала нужно понять, что вы хотите записать. 

Это может быть значения индикатора на каждом баре или на каждом тике в таком виде:

1,5
1,8
1,73

может в виде csv

1,5 ;1,8;1,73

Это могут быть абсолютно любые данные. Может вы файл коды ошибок хотите записывать по датам 

Вариантов масса. 

Почитайте справку по индикаторам и по файлам. 

 

Вот рабочий код он подходит на мт4


int start() 
  { 
//---
   int iRSI; 
   iRSI=FileOpen("FileClose.txt", FILE_CSV|FILE_WRITE, '\t'); 
  //------------------------------------------------// 
   
  //-------------------------------------------------// 
  if(iRSI>0) 
    { 
     FileWrite(iRSI, Close[0]); 
     FileClose(iRSI); 
    }  
//---
   return(0); 
  }  


 
А переделать не получается
 

Данный код записывает котировку в файл

 
Dmitiry Ananiev:

Для начала нужно понять, что вы хотите записать.

Я ничего не хочу записывать и даже ничего не хочу считывать. Если-бы вы внимательно прочли первые два сообщения у вас не возникло-бы желания отвечать мне, цитируя моё сообщение.

 
Эдуард Бугаев:

Подскажите как правильно сделать чтоб работало на мт5

void OnStart()
{
   interface iRSI //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   //---
   iRSI=FileOpen("FileClose.txt",FILE_CSV|FILE_WRITE, '\t')
   if[iRSI]//!!!!!!!!!!!
      {
         FileWrite(iRSI, Close)
         FileClose(iRSI)
      }
    return(0);
   } 
}
Эдуард Бугаев:

Вот рабочий код он подходит на мт4

int start() 
  { 
//---
   int iRSI; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   iRSI=FileOpen("FileClose.txt", FILE_CSV|FILE_WRITE, '\t'); 
  //------------------------------------------------// 
   
  //-------------------------------------------------// 
  if(iRSI>0) 
    { 
     FileWrite(iRSI, Close[0]); 
     FileClose(iRSI); 
    }  
//---
   return(0); 
  }  

Вы видите отличия?

Я так думаю что должно быть вот так.

int OnCalcalate(........) для индикатора или void OnTick() для эксперта, или OnStart() для скрипта
  { 
//---
   int iRSI; 
   iRSI=FileOpen("FileClose.txt", FILE_CSV|FILE_WRITE, '\t'); 
  //------------------------------------------------// 
   
  //-------------------------------------------------// 
  if(iRSI>0) 
    { 
     FileWrite(iRSI, Close[0]); 
     FileClose(iRSI); 
    }  
//---
   return(0); 
  }  
 
int OnCalcalate(........) для индикатора или void OnTick() для эксперта, или OnStart() для скрипта
  { 
//---
   int iRSI; 
   iRSI=FileOpen("FileClose.txt", FILE_CSV|FILE_WRITE, '\t'); 
  //------------------------------------------------// 
   
  //-------------------------------------------------// 
  if(iRSI>0) 
    { 
     FileWrite(iRSI, Close[0]); 
     FileClose(iRSI); 
    }  
//---
   return(0); 
  }  int OnCalcalate(........) для индикатора или void OnTick() для эксперта, или OnStart() для скрипта
  { 
//---
   int filehandle; 
   filehandle=FileOpen("FileClose.txt", FILE_CSV|FILE_WRITE, '\t'); 
  //------------------------------------------------// 
   
  //-------------------------------------------------// 
  if(filehandle != INVALID_HANDLE) 
    { 
     FileWrite(filehandle, Close[0]); 
     FileClose(filehandle); 
    }  
  else return(ошибка);
//---
   return(0); 
  }  

https://www.mql5.com/ru/docs/indicators/irsi

iRSI - это функция. 

Документация по MQL5: Технические индикаторы / iRSI
Документация по MQL5: Технические индикаторы / iRSI
  • www.mql5.com
//|                                                    Demo_iRSI.mq5 | //|                        Copyright 2011, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Перечисление способов создания хэндла                            |  Creation             type=Call_iRSI;               ...
 
Alexey Viktorov:

А как может помочь чтение об индикаторах, правильно записать файл?

Это поможет понять, что имя функции в качестве файлового хэндла использовать нельзя. 

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