Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Как правильно создать свой сигнал и стать поставщиком
Aleksey Yakushev
139
Aleksey Yakushev 2012.12.18 20:05 

Вот полный код советника. Уже урезал всё лишнее. Примитивный пример.

int Handle,Qnt_Symb;
string File_Name="test.csv";

int init()  
  {   
   Handle=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");
   if(Handle==-1)                     
     {
      Alert("Ошибка при открытии файла. ");
      return(0);                          
     }
   return(0);
  }

int start()  
  {  
   double b= Bid;
   double ma_m15 = iMA(Symbol(),PERIOD_M15,14 ,0,MODE_SMA,PRICE_MEDIAN,0);  
   double ma_m30 = iMA(Symbol(),PERIOD_M30,14 ,0,MODE_SMA,PRICE_MEDIAN,0);
   Print(" res =   ",TimeToStr(TimeCurrent(), TIME_DATE | TIME_SECONDS)," ",b," ",ma_m15," ",ma_m30);
   Qnt_Symb=FileWrite(Handle,TimeToStr(TimeCurrent(), TIME_DATE | TIME_SECONDS),b,ma_m15,ma_m30); 
   return(0);
  }
   
int deinit()
  {
   FileClose(Handle);
   return(0); 
  }

Ставлю советник на график eurusd на M15, при тестировании указываю таймфрейм=М15, модель=все тики.

Уже пробовал и руками удалять всю историю котировок, и перегрухать её.

Результат из scv файла.

2012.12.18 21:57:29;1.32197;1.32268929;1.32076286
2012.12.18 21:57:29;1.32196;1.32268929;1.32076286
2012.12.18 21:57:30;1.32193;1.32268929;1.32076286
2012.12.18 21:57:31;1.32192;1.32268929;1.32076286
2012.12.18 21:57:32;1.32191;1.32268929;1.32076286
2012.12.18 21:57:33;1.32189;1.32268929;1.32076286
Только REALTIME.

При этом в окне журана при тестировании функция Print 

Print(" res =   ",TimeToStr(TimeCurrent(), TIME_DATE | TIME_SECONDS)," ",b," ",ma_m15," ",ma_m30); отрабатывает и данные выводятся

2012.12.18 23:55:31     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:07 1.2988 1.2998 1.3001
2012.12.18 23:55:31     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:06 1.2988 1.2998 1.3001
2012.12.18 23:55:31     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:06 1.2988 1.2998 1.3001
2012.12.18 23:55:31     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:05 1.2988 1.2998 1.3001
2012.12.18 23:55:31     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:04 1.2988 1.2998 1.3001
2012.12.18 23:55:31     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:03 1.2988 1.2998 1.3001
2012.12.18 23:55:30     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:02 1.2989 1.2998 1.3001
2012.12.18 23:55:30     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:01 1.2989 1.2998 1.3001
2012.12.18 23:55:30     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:00 1.2989 1.2998 1.3001
2012.12.18 23:55:30     2012.12.03 00:05  CoreAlexGru EURUSD,M15:  res =   2012.12.03 00:05:00 1.2989 1.2998 1.3001

Что не так?? уже всю голову сломал. Кажется тривиальщина, может какие-то нюансы?

Спасибо. 

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий