//---- проверяем адекватность заголовка if(fread(&m_header,sizeof(m_header),1,m_file)==1 && m_header.version==TestHistoryVersion && m_header.model==model && m_header.period==scheme->period && strcmp(m_header.symbol,scheme->symbol)==0) { //---- проверяем дальше if(m_header.bars<=100 || m_header.modelquality<=0.0 || m_header.spread<0 || m_header.spread>100000 || m_header.digits<0 || m_header.digits>8 || m_header.lot_min<0 || m_header.lot_step<=0 || m_header.leverage<=0 || m_header.leverage>500 || m_header.swap_rollover3days<0 || m_header.swap_rollover3days>6 || m_header.stops_level<0) refresh=TRUE; //---- проверяем необходимость обновления if(refresh==FALSE) { m_testes_total=(_filelength(_fileno(m_file))-sizeof(m_header))/sizeof(TestHistory); return(TRUE); } }
опубликовано здесь "Формат файлов тестера *.FXT"
Была вроде еще проверка полей
reserved[1];1152835200
reserved[2];1153180800
Ее убрали?
reserved[1];1152835200
reserved[2];1153180800
Ее убрали?
В самописном файле эти поля должны быть обнулены
В самописном файле эти поля должны быть обнулены
Да, это я помню. Но этой проверки нет в приведенном блоке проверок. Может он несколько устарел - и есть еще какие-либо ограничения?
Уже готов эксперт, собирающий тики в FXT-файл. В том числе и в существующий. Поэтому проверки сделаны, как надо. В ближайшее время он будет выложен в code base
Ещё осталось написать пару скриптов для заделывания дыр в fxt. После этого будет опубликована статья о файловых операциях.
Ещё осталось написать пару скриптов для заделывания дыр в fxt. После этого будет опубликована статья о файловых операциях.
Есть ещё дополнительная проверка, оказывается представленный выше код неполон
if(fread(&m_header,sizeof(m_header),1,m_file)==1 && m_header.version==TestHistoryVersion && m_header.model==model && m_header.period==scheme->period && strcmp(m_header.symbol,scheme->symbol)==0 && (m_header.from==0 || fromdate==0 || m_header.from<=fromdate) && (m_header.to==0 || todate==0 || m_header.to>=todate))
m_header.from и m_header.to - это как раз и есть первые 2 поля из 64 зарезервированных
Уже готов эксперт, собирающий тики в FXT-файл. В том числе и в существующий. Поэтому проверки сделаны, как надо. В ближайшее время он будет выложен в code base
Ещё осталось написать пару скриптов для заделывания дыр в fxt. После этого будет опубликована статья о файловых операциях.
Ещё осталось написать пару скриптов для заделывания дыр в fxt. После этого будет опубликована статья о файловых операциях.
ok, спасибо за ответ, жду скрипт с проверками. Хотя, по возможности, просьба выложить отрывок эксперта (в части проверок) здесь.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вопрос возник собственно в такой ситуации - подсовываю тестеру ПУСТОЙ файл данных (EURUSD1_0.fxt), только с заголовком, запускаю тестирование - затирается сгенерированным.
Режим тестирования - по всем тикам. Даты начала и окончания - 2006.07.14 - 2006.07.18.
Заголовок содержит следующее:
Parameter;Value
version;402
copyright;(C)opyright 2005, MetaQuotes Software Corp.
symbol;EURUSD
period;1
model;0
bars;8
fromdate;01.05.2006 0:01:00
todate;01.05.2008
modelquality;99
currency;EUR
spread;2
digits;4
point;0,0001
lot_min;10
lot_max;1000000
lot_step;10
stops_level;10
gtc_pendings;1
contract_size;100000
tick_value;0
tick_size;0
profit_mode;0
swap_enable;1
swap_type;1
swap_long;-0,4
swap_short;0,2
swap_rollover3days;3
leverage;100
free_margin_mode;1
margin_mode;0
margin_stopout;10
margin_initial;0
margin_maintenance;0
margin_hedged;100000
margin_divider;1
margin_currency;EUR
comm_base;0
comm_type;0
comm_lots;0
from_bar;0
to_bar;20
start_period[1];0
..
start_period[6];0
reserved[1];0
..
reserved[64];0