Помогите прочитать .set файл - страница 2

 
Aleksandr Klapatyuk:

может не читает - версии разные у вас 4 а в сет 3

а у вас

я не думаю что на чтение влияет, что у меня там в заголовке написано. файл открывается, количество строк получаю, а вот сами строки не могу извлечь ни как. 

2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    1 : File name = AUDCAD_M30_10000_13_P.set
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Получено строк: 5. Использован разделитель '_' с кодом 95
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Symbols[1]="AUDCAD"
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    TimeFrames[1]="M30"
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    StartDepo[1]="10000"
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Procent[1]="13"
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Файл AUDCAD_M30_10000_13_P.set открыт для чтения
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 0: 
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 1: ﻾
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 2: 
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 3: 
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 4: 
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 5: 
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 6: 
2019.11.08 16:57:11.849 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 7: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 8: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 9: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 10: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 11: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 12: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 13: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 14: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 15: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 16: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 17: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 18: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 19: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 20: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 21: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 22: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 23: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 24: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 25: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 26: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 27: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 28: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 29: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 30: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 31: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 32: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 33: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 34: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 35: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 36: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 37: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 38: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 39: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 40: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 41: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 42: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 43: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 44: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 45: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 46: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 47: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 48: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 49: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 50: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 51: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 52: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 53: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 54: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 55: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 56: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 57: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 58: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 59: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 60: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 61: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 62: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 63: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 64: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 65: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 66: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 67: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 68: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 69: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 70: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 71: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 72: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 73: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 74: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 75: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 76: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 77: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 78: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 79: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 80: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 81: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 82: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 83: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 84: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 85: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 86: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 87: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 88: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 89: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 90: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 91: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 92: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 93: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 94: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 95: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 96: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 97: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 98: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 99: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 100: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 101: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 102: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 103: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 104: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 105: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 106: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 107: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 108: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 109: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 110: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 111: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 112: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 113: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 114: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 115: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 116: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 117: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 118: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 119: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 120: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 121: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 122: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 123: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 124: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 125: 
2019.11.08 16:57:11.850 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки с номером 126: 
 

Что вы пытаетесь сделать таким манером?

for(int q=0; q<size; q++)
{
    if(FileSeek(file_handle,q,SEEK_SET)==true)
 
ReadDouble("bb_deviation");
 
Igor Zakharov:

судя по логу, открывает успешно, но у вас нет переменной deviation2d, этоо имя из моего примера. возьмите реальное имя переменной, например, bb_deviation (такая у вас есть)

тоже самое 

2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    2 : File name = EURUSD_M30_10000_10_P.set
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    Получено строк: 5. Использован разделитель '_' с кодом 95
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    Symbols[2]="EURUSD"
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    TimeFrames[2]="M30"
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    StartDepo[2]="10000"
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    Procent[2]="10"
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    Файл EURUSD_M30_10000_10_P.set открыт для чтения
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    bb_deviation read failed!!! Data not found
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    Текст строки -1
2019.11.08 17:01:43.026 Buldozer_v4.0 (EURUSD_i,M30)    Файл EURUSD_M30_10000_10_P.set закрыт
 
SeriousRacoon:

Что вы пытаетесь сделать таким манером?

Прочитать, каждую строку в файле

 
Sergey Gritsay:

Прочитать, каждую строку в файле

FileSeek

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

 
string text;
while(!FileIsEnding(handle))
{
    text = FileReadString(handle);
    Print(text);
}

И замените FILE_CSV на FILE_TXT.

 
SeriousRacoon:

FileSeek

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

А как мне каждую строку прочитать?

 
Sergey Gritsay:

А как мне каждую строку прочитать?

Код постом выше. GetStringPositions не нужна.

 
SeriousRacoon:

И замените FILE_CSV на FILE_TXT.

Вот тестовый код, не получается, или еще что-то не так сделал?

//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                                                   Sergey Gritsay |
//|                         https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link      "https://www.mql5.com/ru/users/sergey1294"
#property version   "1.00"

string InpFilter="*";
string Symbols[];
string TimeFrames[];
string Procent[];
double StartDepo=10000.0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   FileSeting();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void FileSeting()
  {
   string file_name;
   int    i=1;
   string to_split=""; // строка для разбивки на подстроки
   string sep="_";                  // разделитель в виде символа
   ushort u_sep;                    // код символа разделителя
   string result[];                 // массив для получения строк
   int file_handle;
   ulong pos[];
   int   size=0;



//--- получим код разделителя
   u_sep=StringGetCharacter(sep,0);

//--- получение хэндла поиска в корне локальной папки
   long search_handle=FileFindFirst(InpFilter,file_name,FILE_COMMON);
//--- проверим, успешно ли отработала функция FileFindFirst()
   if(search_handle!=INVALID_HANDLE)
     {
      //--- в цикле проверим являются ли переданные строки именами файлов или директорий
      do
        {
         ResetLastError();
         //--- если это файл, то функция вернет true, а если директория, то функция генерирует ошибку ERR_FILE_IS_DIRECTORY
         FileIsExist(file_name);
         PrintFormat("%d : %s name = %s",i,GetLastError()==ERR_FILE_IS_DIRECTORY ? "Directory" : "File",file_name);
         //--- разобьем строку на подстроки
         int k=StringSplit(file_name,u_sep,result);
         PrintFormat("Получено строк: %d. Использован разделитель '%s' с кодом %d",k,sep,u_sep);
         if(StartDepo==NormalizeDouble(StringToDouble(result[2]),0))
           {
            ArrayResize(Symbols,i);
            ArrayResize(TimeFrames,i);
            ArrayResize(Procent,i);
            Symbols[i-1]=result[0];
            TimeFrames[i-1]=result[1];
            Procent[i-1]=result[3];
            PrintFormat("Symbols[%d]=\"%s\"",i,Symbols[i-1]);
            PrintFormat("TimeFrames[%d]=\"%s\"",i,TimeFrames[i-1]);
            PrintFormat("StartDepo[%d]=\"%s\"",i,result[2]);
            PrintFormat("Procent[%d]=\"%s\"",i,result[3]);

            ResetLastError();
            file_handle=FileOpen(file_name+".set",FILE_TXT|FILE_SHARE_READ|FILE_ANSI,"\r\n");
            //file_handle=FileOpen(file_name+".set",FILE_SHARE_READ|FILE_CSV);

            if(file_handle!=INVALID_HANDLE)
              {
               PrintFormat("Файл %s открыт для чтения",file_name);

               int q=1;
               while(!FileIsEnding(file_handle))
                 {
                  string text = FileReadString(file_handle);
                  PrintFormat("Текст строки с номером %d: %s",q,text);
                  q++;
                 }
               //--- закроем файл
               FileClose(file_handle);
               PrintFormat("Файл %s закрыт",file_name);
              }
            else
               PrintFormat("Не удалось открыть файл %s, Код ошибки = %d",file_name,GetLastError());

            i++;
           }
        }
      while(FileFindNext(search_handle,file_name));
      //--- закрываем хэндл поиска
      FileFindClose(search_handle);
     }
   else
      Print("Files not found!");
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Возвращает таймфрейм по строке                                   |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES StringToTimeframe(const string timeframe)
  {
   if(timeframe=="M1")
      return(PERIOD_M1);
   if(timeframe=="M2")
      return(PERIOD_M2);
   if(timeframe=="M3")
      return(PERIOD_M3);
   if(timeframe=="M4")
      return(PERIOD_M4);
   if(timeframe=="M5")
      return(PERIOD_M5);
   if(timeframe=="M6")
      return(PERIOD_M6);
   if(timeframe=="M10")
      return(PERIOD_M10);
   if(timeframe=="M12")
      return(PERIOD_M12);
   if(timeframe=="M15")
      return(PERIOD_M15);
   if(timeframe=="M20")
      return(PERIOD_M20);
   if(timeframe=="M30")
      return(PERIOD_M30);
   if(timeframe=="H1")
      return(PERIOD_H1);
   if(timeframe=="H2")
      return(PERIOD_H2);
   if(timeframe=="H3")
      return(PERIOD_H3);
   if(timeframe=="H4")
      return(PERIOD_H4);
   if(timeframe=="H6")
      return(PERIOD_H6);
   if(timeframe=="H8")
      return(PERIOD_H8);
   if(timeframe=="H12")
      return(PERIOD_H12);
   if(timeframe=="D1")
      return(PERIOD_D1);
   if(timeframe=="W1")
      return(PERIOD_W1);
   if(timeframe=="MN")
      return(PERIOD_MN1);
//--- Значение по умолчанию
   return((ENUM_TIMEFRAMES)::Period());
  }
//+------------------------------------------------------------------+

Результат 

2019.11.08 17:22:56.163 test (EURUSD_i,M30)     1 : File name = AUDCAD_M30_10000_13_P.set
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     Получено строк: 5. Использован разделитель '_' с кодом 95
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     Symbols[1]="AUDCAD"
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     TimeFrames[1]="M30"
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     StartDepo[1]="10000"
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     Procent[1]="13"
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     Файл AUDCAD_M30_10000_13_P.set открыт для чтения
2019.11.08 17:22:56.163 test (EURUSD_i,M30)     Файл AUDCAD_M30_10000_13_P.set закрыт
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     2 : File name = EURUSD_M30_10000_10_P.set
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     Получено строк: 5. Использован разделитель '_' с кодом 95
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     Symbols[2]="EURUSD"
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     TimeFrames[2]="M30"
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     StartDepo[2]="10000"
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     Procent[2]="10"
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     Файл EURUSD_M30_10000_10_P.set открыт для чтения
2019.11.08 17:22:56.164 test (EURUSD_i,M30)     Файл EURUSD_M30_10000_10_P.set закрыт
Причина обращения: