Коэффициент соотношения инструментов

 

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

И второй вопрос, как сохранять данные расчитанные индикатором при работе в тестере в файл на диск?

 
Angela >>:

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

замысловатая постановка задачи. опишите подробнее что вам нужно.

И второй вопрос, как сохранять данные расчитанные индикатором при работе в тестере в файл на диск?

да так и сохранять. берёте файл и записываете туда значения индикатора.

 
sergeev писал(а) >>

замысловатая постановка задачи. опишите подробнее что вам нужно.

да так и сохранять. берёте файл и записываете туда значения индикатора.

Суть в том, что при работе с мультивалютной стратегией, нужно синхронно менять настройки индикатора на разных инструментах сохраняя пропорциональное соотношение. Например, для EURUSD и USDJPY пороги зиг-зага не одинаковы, и при автоматическом изменении настройки парога на одном инструменте, пропорциональное изменениена другом не получается. Вот и был вопрос, может кто-то вывел коэффициент взаимосвязи инструментов и таймфреймов для пропорциональной автоматической перестройки по одному общему изменяемому параметру.

Я пыталась сохранять результаты расчета в функции int deinit(), чтобы после удаления индикатора из тестора результаты сохранялись в файл, но это не страбатывает. Если ставить запись в функцию int start(), то это очень сильто тормозит работу, к тому же, при каждой записи по каждому бару происходит запись в лог файл и он раздувается неимоверно. Кстати, как отключить запись в лог файл при использовании функций FileWrite и FileReadNumber?

 

И еще вопрос, почему индикаторые линии в режиме визуализации в тесторе время от времени мигают? Значит происходят какие-то прерывания в работе индикаторов и в этот момент данные пропадают, что, соответственно, влечет за собой не верную работу ТС? Я думала такое только с моими индикаторами, наверное, не правильно что-то закодила, но поставила сразу три МА с периодом 55 с разными методами на одном графике, так с Simple - нормально, Smoothеd тоже временами мигает.

 
Специалисты по тестированию! Что, никто не сталкивался с этим глюком тестора? Я подозреваю, что это общая проблема, проделайте простенький эксперимент, помогите разобраться, в чем дело. В тесторе в режиме визуализации откройте несколько МА с разными методами в параметрах с периодом 55 - 70, с минимальным масштабом графиков, и увидите, что некоторые линии мигают, значит идут какие-то прерывания в работе индикаторов по мере продолжения тестирования.
 
Angela >>:
Специалисты по тестированию! Что, никто не сталкивался с этим глюком тестора? Я подозреваю, что это общая проблема, проделайте простенький эксперимент, помогите разобраться, в чем дело. В тесторе в режиме визуализации откройте несколько МА с разными методами в параметрах с периодом 55 - 70, с минимальным масштабом графиков, и увидите, что некоторые линии мигают, значит идут какие-то прерывания в работе индикаторов по мере продолжения тестирования.

Не сосредотачивайтесь на мелочах. Визуальный режим предназначен для просмотра, оптимизируете и тестируете Вы всегда втемную. Мигания эти наблюдаю частенько, это зависит от "тяжести" индикатора и советника. Машина просто не справляется с одновременным обсчетом и графической обработкой, поэтому и дергается. Данные при этом не теряются, и результаты не отличаются от результатов полученных втемную, по крайней мере я такого не встречал. Так что спите спокойно. :))

 

Что-то у меня никак не получается сохранить массив при работе тестора.

Загружаю индикатор в режиме визуализации,

устанавливаю счетчик баров mc=0; при каждом новом баре занашу в массив последнее расчетное значение одной из индикаторных линий:

TS[mc]= GM2[nq]; по комменту вижу, что накопление значений в массив производится.

Далее на предпоследнем баре графика пытаюсь сохранить массив

if(prevtime != Time[0])
      { 
         prevtime = Time[0]; 
         mc++;
       ArrayResize(TS, mc+1);   
     if (1247099400== Time[0])  
      handle=FileOpen("Trend.csv",FILE_CSV|FILE_WRITE,',');
    if (handle>0)
     {//0 
     for (i=0; i<mc; i++) 
      FileWrite(handle,TS[i]);
    FileClose(handle);
     }//0    
      } 
но ничего не получается. Подскажите, пожалуйста, как мне это сделать!
 
Angela >>:

Что-то у меня никак не получается сохранить массив при работе тестора.

Загружаю индикатор в режиме визуализации,

устанавливаю счетчик баров mc=0; при каждом новом баре занашу в массив последнее расчетное значение одной из индикаторных линий:

TS[mc]= GM2[nq]; по комменту вижу, что накопление значений в массив производится.

Далее на предпоследнем баре графика пытаюсь сохранить массив

но ничего не получается. Подскажите, пожалуйста, как мне это сделать!

Довольно таки странное условие 

if (1247099400== Time[0])  
  handle=FileOpen("Trend.csv",FILE_CSV|FILE_WRITE,',');

что бы это значило ?

 
Формализация женской логики, чего тут непонятного? Сама такое делала. :)
 
VladislavVG писал(а) >>

Довольно таки странное условие

if (1247099400== Time[0])
handle=FileOpen("Trend.csv",FILE_CSV|FILE_WRITE,',');

что бы это значило ?

1247099400 - это соответствует времени 1 бара в окне истории котировок EURUSD M1. В тесторе, когда расчет индикатора достигает предпоследнего бара т.е. 1 по индексации терминала (1247099400== Time[0]), перед тем, как тестор остановится, это условие должно срабатывать, и до того, как индикатор отключится, сохранить сформированный массив. И как Вы поступаете в подобных случаях и сохраняете расчетные значения при работе в тесторе?

 

Что,никто так ничего и не может сказать по моим вопросам?

Может кто поделится своим опытом, как решать проблему общета пропущенных баров при разрыве связи, после ее восстановления? Только с помощью IndicatorCounted - не предлагать, эта функция не решает проблему, а только усугубляет ее.

Например, у меня в индикаторе расчитывается значение только на нулевом баре, и по приходу нового бара расчитанное значение заносится в массив. Если произошел разрыв связи, нужно обработать серию пропущенных баров и занести результат в массив, а далее вести расчет в штатном режиме. Как определить сколько пропущенных баров, если ориентироваться на время поступления баров, то пропуски баров во времени могут быть не только в результате разрыва связи, но и в результате снижения активности на рынке, например, ночью.

Подскажите, как оптимальнее решить эту задачу.

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