Бэктестинг с тиковыми данными - страница 2

 

ага, опять мы друг друга не поняли. Могу ли я в принципе отказаться от данных об объеме, установив все значения объема в 1?

 
mikey:

Да. Ваш ответ только что появился, когда я отправил свой последний.

RE: volume...- если мой советник не "читает" объем, я в безопасности? Мне не нужно беспокоиться об этом? Я не думал об объеме - но, как я уже сказал, мой советник не "читает" его ни для чего. Итак, просто чтобы прояснить - я могу игнорировать объем? Или я должен установить объем равным 1 для всех баров?

Если ваш советник не использует данные об объеме, то его можно игнорировать. Чтобы ваш метод работал, нужно установить значение 1, иначе тестер будет создавать более одного тика на бар...
 

Да. У меня нет никаких индикаторов, которые смотрят на бары или что-то в этом роде. Свопы - это хорошая мысль. Буду иметь это в виду. Я просто хочу как можно скорее запустить этот новый метод.

У меня почти все готово, если я только смогу решить эту проблему со сдвигом во времени. Итак, рассмотрим эти бары (в текстовом файле .csv):

NB: дата, время, открытие, максимум, минимум, закрытие, объем

20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:01,71.75,71.75,71.75,71.75,1

Итак, я хочу изменить время второго бара на 18:01, чтобы два верхних бара имели разное время (конечно, они имеют разное время на субминутном уровне, но я хочу, чтобы они действительно имели разное время на минутном уровне).

Затем я должен изменить время третьего бара на 18:02. Таким образом, теперь все 3 бара имеют разное время.

Я думаю, что хорошим псевдокодом для этой операции будет:

time_of_next_bar = time_of_previous bar +1;

Но тогда там должны быть ограничения для учета того факта, что только 60 минут должны сдвинуть час, и в конечном итоге сдвинуть дату, месяц и т.д.

Вот на чем я застрял. У меня есть все мои бары в файле .csv, и мне нужно найти способ оперировать ими подобным образом. Может быть, используя Perl? Я посмотрел в файле MQl, на который вы ссылались, и не смог найти переносимого метода для этого.

 

Я думаю, что самый простой способ, если я могу просто найти очень очень длинный список в 2 столбца дат и времени откуда-то (с этим форматом):

20100831,18:00

20100831,18:01

20100831,18:02

20100831,18:03

20100831,18:04

20100831,18:05

и т.д. и т.п.

Возможно, лучше найти такой список, чем генерировать его.

Затем я могу просто подставить эти столбцы в мой csv-файл. Я пробовал идти по этому пути, например, экспортируя данные M1 из metatrader и затем беря их столбцы. Но количество исторических данных M1, которые я могу получить для metatrader (за несколько месяцев), недостаточно для моих целей. Возможно, если бы у меня были данные за несколько лет, это могло бы сработать.

 
mikey:

Да. У меня нет никаких индикаторов, которые смотрят на бары или что-то в этом роде.

Вы уверены в этом? Почти все индикаторы используют бары в своих расчетах... все индикаторы, где можно задать период, скорее всего, не сработают. все вызовы high[] low[] open[] close[], в основном все функции доступа к временным рядам будут затронуты.

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

 

Вот простой скрипт для выполнения этой работы. Я проверил его только один раз, так что будьте внимательны к ошибкам... Также, возможно, это не самый быстрый/лучший способ сделать это.

#property show_inputs
extern string     src_file = "sample.csv";             // source file name
extern string     trg_file = "output.csv";             // target file name
extern datetime   st_date = D'2000.01.01 00:00';       // start date for written data (this could be whatever...)

int start()
{
   string sclose;             // tick close price - we assume O=H=L=C
   
   // get handles for source and target file (NOTE: will overwrite target file if exists!!)
   int src_handle = FileOpen(src_file, FILE_CSV|FILE_READ, ',');
   int trg_handle = FileOpen(trg_file, FILE_CSV|FILE_WRITE, ',');
      
   // read each line from source, process it and write to target
   while(!FileIsEnding(src_handle)) {
      // read data from source by fields (convinient since it's a CSV file)
      FileReadString(src_handle);    // skip date     
      FileReadString(src_handle);    // skip time
      FileReadString(src_handle);    // skip open
      FileReadString(src_handle);    // skip high
      FileReadString(src_handle);    // skip low
      sclose = FileReadString(src_handle);   // GET CLOSE PRICE
      FileReadString(src_handle);    // skip volume
      
      // build output line as a single string (it's just simpler to do it this way)
      string output = StringConcatenate(
                        TimeToStr(st_date,TIME_DATE), ",",    // proper date and time format
                        TimeToStr(st_date,TIME_MINUTES), ",",
                        sclose, ",",      // to make sure OHLC are identical we just use close price
                        sclose, ",",
                        sclose, ",",
                        sclose, ",",
                        "1"               // this is fixed volume = 1 so as we'll have 1 tick per bar only
                      );          

      FileWrite(trg_handle,output);
      st_date += 60;                      // add 1 minute (60 seconds) to our time counter
   } // end while
   
   // close source and target file
   FileClose(src_handle);        
   FileClose(trg_handle);
   return(0);
}

Скрипт довольно самоочевиден... Исходный файл должен находиться в папке 'experts/files'. Для даты начала вы можете ввести любую дату, так как время будет растягиваться в любом случае, поэтому временные метки не имеют смысла...


Я все еще сильно сомневаюсь в том, что вы пытаетесь сделать, но буду рад, если вы сообщите о своих результатах здесь. Удачи.

 
gordon:

Вот простой скрипт для выполнения этой работы. Я проверил его только один раз, так что позаботьтесь о том, чтобы не пропустить ошибки... Также - это, вероятно, не самый быстрый/лучший способ сделать это.

Скрипт не требует пояснений... Исходный файл должен находиться в папке 'experts/files'. Для даты начала вы можете ввести любую дату, так как время будет растягиваться в любом случае, поэтому временные метки не имеют смысла...


Я все еще сильно сомневаюсь в том, что вы пытаетесь сделать, но буду рад, если вы сообщите о своих результатах здесь. Удачи.


Это великолепно!!! Спасибо!!!

Но у меня это пока не работает. Итак, я беру ваш код MLQ4, сохраняю и компилирую его и прикрепляю к графику символа CL (и ставлю галочку напротив "Allow live trading") - в журнале видно, что он загружается нормально и т.д.

В качестве прелюдии/подготовки к этому я создал 2 файла:

sample.csv (с данными) - я создал файл с небольшим количеством данных для тестирования, чтобы все происходило быстро, когда мы пытаемся заставить все это работать.

output.csv (пустой)

Поместил их ОБА в experts/files. Но я не вижу, что в output.csv записываются какие-либо данные. Правильно ли я разместил файл output.csv? Должен ли я вообще создать свой собственный пустой файл output.csv? Правильно ли это?

PS> На всякий случай, если это имеет какое-то значение - вырежьте и вставьте мой образец.csv ниже:

20100831,18:00,71.70,71.70,71.70,71.70,2
20100831,18:00,71.70,71.70,71.70,71.70,1
20100831,18:00,71.70,71.70,71.70,71.70,1
20100831,18:00,71.70,71.70,71.70,71.70,1
20100831,18:00,71.70,71.70,71.70,71.70,1
20100831,18:00,71.73,71.73,71.73,71.73,2
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.73,71.73,71.73,71.73,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.75,71.75,71.75,71.75,7
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.74,71.74,71.74,71.74,1
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.75,71.75,71.75,71.75,3
20100831,18:00,71.75,71.75,71.75,71.75,7
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.75,71.75,71.75,71.75,1
20100831,18:00,71.71,71.71,71.71,71.71,1
20100831,18:00,71.70,71.70,71.70,71.70,1
20100831,18:00,71.68,71.68,71.68,71.68,1
20100831,18:00,71.71,71.71,71.71,71.71,1
20100831,18:00,71.71,71.71,71.71,71.71,1
20100831,18:00,71.69,71.69,71.69,71.69,1
20100831,18:00,71.69,71.69,71.69,71.69,1
20100831,18:00,71.68,71.68,71.68,71.68,2
20100831,18:00,71.67,71.67,71.67,71.67,1
20100831,18:00,71.72,71.72,71.72,71.72,1
20100831,18:00,71.72,71.72,71.72,71.72,1
20100831,18:00,71.72,71.72,71.72,71.72,1
20100831,18:00,71.72,71.72,71.72,71.72,1
20100831,18:00,71.71,71.71,71.71,71.71,1
20100831,18:00,71.71,71.71,71.71,71.71,1
20100831,18:00,71.70,71.70,71.70,71.70,1
20100831,18:01,71.71,71.71,71.71,71.71,1
20100831,18:01,71.72,71.72,71.72,71.72,1
20100831,18:01,71.71,71.71,71.71,71.71,1
20100831,18:01,71.71,71.71,71.71,71.71,1
20100831,18:01,71.71,71.71,71.71,71.71,1
20100831,18:01,71.70,71.70,71.70,71.70,1
20100831,18:01,71.70,71.70,71.70,71.70,3
20100831,18:01,71.70,71.70,71.70,71.70,5
20100831,18:01,71.70,71.70,71.70,71.70,1
20100831,18:01,71.71,71.71,71.71,71.71,1
20100831,18:01,71.70,71.70,71.70,71.70,4
20100831,18:01,71.70,71.70,71.70,71.70,1
20100831,18:01,71.71,71.71,71.71,71.71,2
20100831,18:01,71.71,71.71,71.71,71.71,4
20100831,18:01,71.71,71.71,71.71,71.71,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.70,71.70,71.70,71.70,1
20100831,18:02,71.74,71.74,71.74,71.74,1
20100831,18:03,71.74,71.74,71.74,71.74,1
20100831,18:03,71.75,71.75,71.75,71.75,1
20100831,18:03,71.75,71.75,71.75,71.75,1
20100831,18:03,71.77,71.77,71.77,71.77,1
20100831,18:03,71.78,71.78,71.78,71.78,1
20100831,18:03,71.78,71.78,71.78,71.78,5
20100831,18:03,71.78,71.78,71.78,71.78,5
20100831,18:03,71.79,71.79,71.79,71.79,1
20100831,18:03,71.78,71.78,71.78,71.78,1
20100831,18:03,71.78,71.78,71.78,71.78,1
20100831,18:03,71.79,71.79,71.79,71.79,1
20100831,18:04,71.79,71.79,71.79,71.79,1
20100831,18:04,71.79,71.79,71.79,71.79,1
20100831,18:04,71.80,71.80,71.80,71.80,1
20100831,18:04,71.80,71.80,71.80,71.80,2
20100831,18:04,71.80,71.80,71.80,71.80,1
20100831,18:04,71.80,71.80,71.80,71.80,3
20100831,18:04,71.80,71.80,71.80,71.80,17
20100831,18:04,71.80,71.80,71.80,71.80,1
20100831,18:04,71.80,71.80,71.80,71.80,4
20100831,18:04,71.79,71.79,71.79,71.79,1
20100831,18:04,71.78,71.78,71.78,71.78,1
20100831,18:04,71.78,71.78,71.78,71.78,1
20100831,18:04,71.79,71.79,71.79,71.79,1
20100831,18:04,71.80,71.80,71.80,71.80,1
20100831,18:05,71.78,71.78,71.78,71.78,1
20100831,18:05,71.78,71.78,71.78,71.78,2
20100831,18:05,71.77,71.77,71.77,71.77,1
20100831,18:05,71.77,71.77,71.77,71.77,1
20100831,18:05,71.77,71.77,71.77,71.77,1
20100831,18:05,71.77,71.77,71.77,71.77,1
20100831,18:05,71.77,71.77,71.77,71.77,1
20100831,18:05,71.76,71.76,71.76,71.76,1
20100831,18:05,71.74,71.74,71.74,71.74,1
20100831,18:05,71.78,71.78,71.78,71.78,1
20100831,18:05,71.79,71.79,71.79,71.79,1
20100831,18:05,71.79,71.79,71.79,71.79,3
20100831,18:05,71.80,71.80,71.80,71.80,5
20100831,18:05,71.80,71.80,71.80,71.80,14
20100831,18:05,71.80,71.80,71.80,71.80,1
20100831,18:05,71.80,71.80,71.80,71.80,1
20100831,18:05,71.80,71.80,71.80,71.80,1
20100831,18:05,71.80,71.80,71.80,71.80,2
20100831,18:05,71.80,71.80,71.80,71.80,1
20100831,18:06,71.80,71.80,71.80,71.80,1
20100831,18:06,71.80,71.80,71.80,71.80,21
20100831,18:06,71.80,71.80,71.80,71.80,1
20100831,18:06,71.81,71.81,71.81,71.81,1
20100831,18:06,71.81,71.81,71.81,71.81,4
20100831,18:06,71.82,71.82,71.82,71.82,1
20100831,18:06,71.83,71.83,71.83,71.83,1
20100831,18:06,71.84,71.84,71.84,71.84,1
20100831,18:06,71.84,71.84,71.84,71.84,2
20100831,18:06,71.85,71.85,71.85,71.85,1
20100831,18:06,71.81,71.81,71.81,71.81,1
20100831,18:06,71.83,71.83,71.83,71.83,1
20100831,18:06,71.83,71.83,71.83,71.83,1
20100831,18:06,71.83,71.83,71.83,71.83,1
20100831,18:06,71.82,71.82,71.82,71.82,1
20100831,18:06,71.82,71.82,71.82,71.82,1
20100831,18:06,71.82,71.82,71.82,71.82,1
20100831,18:06,71.83,71.83,71.83,71.83,1
20100831,18:06,71.85,71.85,71.85,71.85,1
20100831,18:06,71.83,71.83,71.83,71.83,1
20100831,18:07,71.83,71.83,71.83,71.83,1
20100831,18:07,71.83,71.83,71.83,71.83,2
20100831,18:07,71.83,71.83,71.83,71.83,2
20100831,18:07,71.83,71.83,71.83,71.83,1
20100831,18:07,71.83,71.83,71.83,71.83,1
20100831,18:07,71.83,71.83,71.83,71.83,2
20100831,18:07,71.83,71.83,71.83,71.83,2
20100831,18:07,71.82,71.82,71.82,71.82,4
20100831,18:07,71.82,71.82,71.82,71.82,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.81,71.81,71.81,71.81,1
20100831,18:08,71.82,71.82,71.82,71.82,1
20100831,18:08,71.83,71.83,71.83,71.83,1
20100831,18:08,71.82,71.82,71.82,71.82,1
20100831,18:08,71.84,71.84,71.84,71.84,1
20100831,18:08,71.84,71.84,71.84,71.84,1
20100831,18:09,71.84,71.84,71.84,71.84,1
20100831,18:09,71.83,71.83,71.83,71.83,1
20100831,18:09,71.83,71.83,71.83,71.83,1
20100831,18:09,71.84,71.84,71.84,71.84,1
20100831,18:09,71.83,71.83,71.83,71.83,1
20100831,18:10,71.84,71.84,71.84,71.84,1
20100831,18:10,71.82,71.82,71.82,71.82,1
20100831,18:10,71.83,71.83,71.83,71.83,1
20100831,18:11,71.83,71.83,71.83,71.83,1
20100831,18:11,71.83,71.83,71.83,71.83,1
20100831,18:11,71.82,71.82,71.82,71.82,5
20100831,18:11,71.82,71.82,71.82,71.82,2
20100831,18:11,71.83,71.83,71.83,71.83,1
20100831,18:11,71.81,71.81,71.81,71.81,1
20100831,18:12,71.82,71.82,71.82,71.82,1
20100831,18:12,71.82,71.82,71.82,71.82,1
20100831,18:12,71.82,71.82,71.82,71.82,1
20100831,18:12,71.83,71.83,71.83,71.83,1
20100831,18:12,71.83,71.83,71.83,71.83,1
20100831,18:12,71.83,71.83,71.83,71.83,1
20100831,18:12,71.84,71.84,71.84,71.84,1
20100831,18:12,71.84,71.84,71.84,71.84,1
20100831,18:12,71.84,71.84,71.84,71.84,1
20100831,18:12,71.85,71.85,71.85,71.85,1
20100831,18:12,71.84,71.84,71.84,71.84,1
20100831,18:12,71.83,71.83,71.83,71.83,1
20100831,18:12,71.85,71.85,71.85,71.85,1
20100831,18:12,71.85,71.85,71.85,71.85,10
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,2
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.84,71.84,71.84,71.84,1
20100831,18:13,71.84,71.84,71.84,71.84,1
20100831,18:13,71.84,71.84,71.84,71.84,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.86,71.86,71.86,71.86,1
20100831,18:13,71.86,71.86,71.86,71.86,1
20100831,18:13,71.86,71.86,71.86,71.86,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:13,71.86,71.86,71.86,71.86,1
20100831,18:13,71.86,71.86,71.86,71.86,1
20100831,18:13,71.86,71.86,71.86,71.86,1
20100831,18:13,71.86,71.86,71.86,71.86,3
20100831,18:13,71.85,71.85,71.85,71.85,1
20100831,18:14,71.84,71.84,71.84,71.84,1
20100831,18:14,71.84,71.84,71.84,71.84,1
20100831,18:14,71.84,71.84,71.84,71.84,1
20100831,18:14,71.83,71.83,71.83,71.83,1
20100831,18:14,71.84,71.84,71.84,71.84,1
20100831,18:14,71.83,71.83,71.83,71.83,1
20100831,18:14,71.83,71.83,71.83,71.83,3
20100831,18:14,71.83,71.83,71.83,71.83,1
20100831,18:15,71.83,71.83,71.83,71.83,2
20100831,18:15,71.82,71.82,71.82,71.82,1
20100831,18:15,71.82,71.82,71.82,71.82,1
20100831,18:15,71.83,71.83,71.83,71.83,8
20100831,18:15,71.83,71.83,71.83,71.83,1
20100831,18:15,71.83,71.83,71.83,71.83,1
20100831,18:16,71.81,71.81,71.81,71.81,1
20100831,18:16,71.81,71.81,71.81,71.81,1
20100831,18:16,71.80,71.80,71.80,71.80,1
20100831,18:16,71.80,71.80,71.80,71.80,1
20100831,18:16,71.79,71.79,71.79,71.79,1
20100831,18:16,71.79,71.79,71.79,71.79,1
20100831,18:16,71.78,71.78,71.78,71.78,1
20100831,18:16,71.78,71.78,71.78,71.78,1
20100831,18:17,71.78,71.78,71.78,71.78,1
20100831,18:17,71.78,71.78,71.78,71.78,1
20100831,18:17,71.77,71.77,71.77,71.77,1
20100831,18:17,71.78,71.78,71.78,71.78,1
20100831,18:17,71.77,71.77,71.77,71.77,1
20100831,18:17,71.79,71.79,71.79,71.79,1
20100831,18:18,71.79,71.79,71.79,71.79,1
20100831,18:18,71.79,71.79,71.79,71.79,1
20100831,18:19,71.78,71.78,71.78,71.78,3
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,2
20100831,18:20,71.78,71.78,71.78,71.78,2
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,2
20100831,18:20,71.78,71.78,71.78,71.78,2
20100831,18:20,71.78,71.78,71.78,71.78,2
20100831,18:20,71.78,71.78,71.78,71.78,2
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:20,71.78,71.78,71.78,71.78,1
20100831,18:21,71.78,71.78,71.78,71.78,1
20100831,18:21,71.79,71.79,71.79,71.79,1
20100831,18:22,71.79,71.79,71.79,71.79,1
20100831,18:22,71.78,71.78,71.78,71.78,1
20100831,18:22,71.78,71.78,71.78,71.78,1
20100831,18:22,71.78,71.78,71.78,71.78,1
20100831,18:22,71.78,71.78,71.78,71.78,1
20100831,18:23,71.79,71.79,71.79,71.79,1
20100831,18:24,71.79,71.79,71.79,71.79,1
20100831,18:24,71.79,71.79,71.79,71.79,1
20100831,18:24,71.79,71.79,71.79,71.79,1
20100831,18:24,71.76,71.76,71.76,71.76,1
20100831,18:24,71.76,71.76,71.76,71.76,1
20100831,18:24,71.75,71.75,71.75,71.75,10
20100831,18:24,71.75,71.75,71.75,71.75,1
20100831,18:24,71.74,71.74,71.74,71.74,1
20100831,18:24,71.73,71.73,71.73,71.73,1
20100831,18:24,71.75,71.75,71.75,71.75,1
20100831,18:25,71.74,71.74,71.74,71.74,1
20100831,18:26,71.75,71.75,71.75,71.75,1
20100831,18:27,71.75,71.75,71.75,71.75,1
20100831,18:27,71.75,71.75,71.75,71.75,4
20100831,18:27,71.75,71.75,71.75,71.75,2
20100831,18:28,71.77,71.77,71.77,71.77,1
20100831,18:28,71.77,71.77,71.77,71.77,1
20100831,18:28,71.77,71.77,71.77,71.77,1
20100831,18:29,71.78,71.78,71.78,71.78,1
20100831,18:29,71.78,71.78,71.78,71.78,1
20100831,18:29,71.78,71.78,71.78,71.78,1
20100831,18:29,71.78,71.78,71.78,71.78,1
20100831,18:30,71.77,71.77,71.77,71.77,1
20100831,18:30,71.77,71.77,71.77,71.77,1
20100831,18:32,71.77,71.77,71.77,71.77,1
20100831,18:32,71.77,71.77,71.77,71.77,1
20100831,18:32,71.77,71.77,71.77,71.77,1
20100831,18:32,71.77,71.77,71.77,71.77,2
20100831,18:32,71.76,71.76,71.76,71.76,1
20100831,18:32,71.78,71.78,71.78,71.78,2
20100831,18:32,71.78,71.78,71.78,71.78,1
20100831,18:32,71.78,71.78,71.78,71.78,1
20100831,18:32,71.78,71.78,71.78,71.78,1
20100831,18:32,71.78,71.78,71.78,71.78,1
20100831,18:32,71.78,71.78,71.78,71.78,1
20100831,18:32,71.75,71.75,71.75,71.75,1
20100831,18:33,71.76,71.76,71.76,71.76,1
20100831,18:33,71.76,71.76,71.76,71.76,1
20100831,18:33,71.76,71.76,71.76,71.76,8
20100831,18:33,71.78,71.78,71.78,71.78,1
20100831,18:33,71.78,71.78,71.78,71.78,1
20100831,18:33,71.78,71.78,71.78,71.78,2
20100831,18:34,71.76,71.76,71.76,71.76,2
20100831,18:34,71.76,71.76,71.76,71.76,1
20100831,18:35,71.78,71.78,71.78,71.78,1
20100831,18:35,71.76,71.76,71.76,71.76,1
20100831,18:37,71.76,71.76,71.76,71.76,1
20100831,18:38,71.78,71.78,71.78,71.78,1
20100831,18:38,71.78,71.78,71.78,71.78,2
20100831,18:38,71.78,71.78,71.78,71.78,1
20100831,18:40,71.75,71.75,71.75,71.75,1
20100831,18:40,71.76,71.76,71.76,71.76,1
20100831,18:41,71.78,71.78,71.78,71.78,1
20100831,18:42,71.76,71.76,71.76,71.76,1
20100831,18:42,71.76,71.76,71.76,71.76,1
20100831,18:42,71.75,71.75,71.75,71.75,1
20100831,18:42,71.75,71.75,71.75,71.75,1
20100831,18:42,71.75,71.75,71.75,71.75,1
20100831,18:42,71.74,71.74,71.74,71.74,1
20100831,18:42,71.74,71.74,71.74,71.74,1
20100831,18:43,71.75,71.75,71.75,71.75,1
20100831,18:43,71.74,71.74,71.74,71.74,1
20100831,18:43,71.74,71.74,71.74,71.74,1
20100831,18:43,71.73,71.73,71.73,71.73,1
20100831,18:43,71.73,71.73,71.73,71.73,1
20100831,18:43,71.72,71.72,71.72,71.72,1
20100831,18:43,71.74,71.74,71.74,71.74,1
20100831,18:43,71.72,71.72,71.72,71.72,1
20100831,18:43,71.72,71.72,71.72,71.72,1
20100831,18:43,71.72,71.72,71.72,71.72,1
20100831,18:43,71.72,71.72,71.72,71.72,1
20100831,18:43,71.74,71.74,71.74,71.74,1
20100831,18:44,71.74,71.74,71.74,71.74,2
20100831,18:44,71.74,71.74,71.74,71.74,1
20100831,18:44,71.74,71.74,71.74,71.74,1
20100831,18:44,71.75,71.75,71.75,71.75,1
20100831,18:44,71.75,71.75,71.75,71.75,1
20100831,18:44,71.75,71.75,71.75,71.75,1
20100831,18:44,71.75,71.75,71.75,71.75,2
20100831,18:45,71.74,71.74,71.74,71.74,1
20100831,18:45,71.74,71.74,71.74,71.74,3
20100831,18:45,71.74,71.74,71.74,71.74,1
20100831,18:45,71.76,71.76,71.76,71.76,2
20100831,18:45,71.76,71.76,71.76,71.76,1
20100831,18:46,71.76,71.76,71.76,71.76,2
20100831,18:46,71.76,71.76,71.76,71.76,6
20100831,18:46,71.74,71.74,71.74,71.74,1
20100831,18:46,71.74,71.74,71.74,71.74,1
20100831,18:46,71.73,71.73,71.73,71.73,1
20100831,18:46,71.73,71.73,71.73,71.73,2
20100831,18:46,71.73,71.73,71.73,71.73,1
20100831,18:46,71.73,71.73,71.73,71.73,1
20100831,18:46,71.76,71.76,71.76,71.76,2
20100831,18:47,71.74,71.74,71.74,71.74,1
20100831,18:47,71.74,71.74,71.74,71.74,1
20100831,18:47,71.73,71.73,71.73,71.73,1
20100831,18:47,71.72,71.72,71.72,71.72,1
20100831,18:47,71.72,71.72,71.72,71.72,1
20100831,18:47,71.72,71.72,71.72,71.72,1
20100831,18:47,71.72,71.72,71.72,71.72,1
20100831,18:47,71.74,71.74,71.74,71.74,2
20100831,18:47,71.74,71.74,71.74,71.74,2
20100831,18:48,71.74,71.74,71.74,71.74,1
20100831,18:48,71.74,71.74,71.74,71.74,1
20100831,18:48,71.74,71.74,71.74,71.74,1
20100831,18:49,71.73,71.73,71.73,71.73,1
20100831,18:49,71.73,71.73,71.73,71.73,1
20100831,18:49,71.72,71.72,71.72,71.72,2
20100831,18:49,71.72,71.72,71.72,71.72,3
20100831,18:49,71.71,71.71,71.71,71.71,1
20100831,18:50,71.73,71.73,71.73,71.73,1
20100831,18:50,71.74,71.74,71.74,71.74,1
20100831,18:50,71.74,71.74,71.74,71.74,1
20100831,18:50,71.72,71.72,71.72,71.72,1
20100831,18:50,71.72,71.72,71.72,71.72,1

 
mikey:

Но у меня пока не получается. Итак, я беру ваш код MLQ4, сохраняю и компилирую его и прикрепляю его к графику символа CL (и ставлю галочку в поле "Разрешить торговлю в реальном времени") - в журнале видно, что он загружается нормально и т.д.

В качестве прелюдии/подготовки к этому я создал 2 файла:

sample.csv (с данными) - я создал файл с небольшим количеством данных для тестирования, чтобы все происходило быстро, когда мы пытаемся заставить все это работать.

output.csv (пустой)

Поместил их ОБА в experts/files. Но я не вижу, что в output.csv записываются какие-либо данные. Правильно ли я разместил файл output.csv? Должен ли я вообще создать свой собственный пустой файл output.csv? Правильно ли это?

  1. Нет необходимости создавать выходной файл, он будет создан автоматически (если он уже существует, он будет перезаписан).
  2. Убедитесь, что это скомпилировано как скрипт.
  3. Убедитесь, что файл примера находится в каталоге 'experts/files'.
  4. Получаете ли вы какие-либо ошибки/сообщения на вкладке экспертов?
 
Я повторно проверил с вашим примером, и он работает. Во вложении - скрипт, образец и вывод (в RAR-архиве).
Файлы:
files.rar  3 kb
 

Моя ошибка - поместил его как советник, а не как скрипт. Теперь он РАБОТАЕТ - как скрипт!

Одна вещь - не большая драма - но последняя строка выходного файла выглядит так:

2004.02.23,08:34,,,,,1

То есть это просто лишний, избыточный бит данных - никакой информации не теряется, если его вырезать. что я и сделал.

Итак, сейчас я пробую это с тестером стратегий. Запускается сейчас - это занимает много времени. Но я буду держать вас в курсе.

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