Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подними скорость в сети MQL5 Cloud Network. Установи Strategy Tester Agent!
Sergey5347
17
Sergey5347 2014.07.07 20:42 

Ребят нужна помощь. Сам уже голову сломал. Не знаю как реализовать.. просто в стену уперся. Тестировщик ни на экран ни в файл не хочет выводить..

Я написал советник и хочу прогнать его в тестере стратегии за год например. Но мне нужно чтобы при каждой итерации сохранялась бы переменная. В моем советнике есть переменная S=сумма. И я хотел бы чтобы после 10 000 итераций я бы получил список этих сумм и уже работал с ними в экселе.

Проблема в том, что не могу получить. Уже по всякому извращался... Не получается.

 Кто знает, помогите). Как.. вообще возможно сохранять переменные в тестере.

TarasBY
1744
TarasBY 2014.07.07 20:51  
Sergey5347:

Ребят нужна помощь. Сам уже голову сломал. Не знаю как реализовать.. просто в стену уперся. Тестировщик ни на экран ни в файл не хочет выводить..

Я написал советник и хочу прогнать его в тестере стратегии за год например. Но мне нужно чтобы при каждой итерации сохранялась бы переменная. В моем советнике есть переменная S=сумма. И я хотел бы чтобы после 10 000 итераций я бы получил список этих сумм и уже работал с ними в экселе.

Проблема в том, что не могу получить. Уже по всякому извращался... Не получается.

 Кто знает, помогите). Как.. вообще возможно сохранять переменные в тестере.

В OnDeinit() пишите значение своей переменной в файл, а затем открывайте его в Excel.
Sergey5347
17
Sergey5347 2014.07.07 21:24  

TarasBy, спасибо за ответ. Пробовал...

 

Я пробовал 2 способа с выводом в файл:

 

1) Просто чтобы он создавал разные файлы и записывал туда строки (пример):

int deinit()
 {
   int file_handle=FileOpen(Point1+"",FILE_READ|FILE_WRITE|FILE_CSV);
   if(file_handle!=INVALID_HANDLE)
     {
      FileWrite(file_handle, Point1, StopLoss, P1, P2, For_P2, S2);
      FileClose(file_handle);
     }
   return(0);
 }
 

2) Пробовал в один файл писать. Может этот код не совсем корректен.. может он файл просто заново перезаписывает, но судя по тому как работает тестер грешу на сам тестер и выбор решения...

 

int deinit()
 {
   int file_handle=FileOpen("result",FILE_READ|FILE_WRITE|FILE_CSV);
   if(file_handle!=INVALID_HANDLE)
     {
      FileWrite(file_handle, Point1, StopLoss, P1, P2, For_P2, S2);
      FileClose(file_handle);
     }
   return(0);
 }
 

 

Вот сижу у сломанного корыта). Тестер просто проглатывает все это и не выводит результаты..

TarasBY
1744
TarasBY 2014.07.07 21:37  
Sergey5347:

TarasBy, спасибо за ответ. Пробовал...

Вот сижу у сломанного корыта). Тестер просто проглатывает все это и не выводит результаты..

Тестер тут не причём. Для записи в конец файла, нужно туда "переместиться":

int deinit()
 {
   int file_handle=FileOpen("result.csv",FILE_READ|FILE_WRITE|FILE_CSV);
   if(file_handle!=INVALID_HANDLE)
     {
      FileSeek (file_handle, 0, SEEK_END);
      FileWrite(file_handle, Point1, StopLoss, P1, P2, For_P2, S2);
      FileClose(file_handle);
     }
   return(0);
 }
Sergey5347
17
Sergey5347 2014.07.08 15:31  

OОООOO, как вы помогли! Спасибо!)

Сам бы я не въехал бы.

Работает!!!

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