Вопрос по таймфреймам

 

Интересная вещь происходит!!!

Ниже функция, в индикаторе вписан таймфрейм,

а на тестере использует то значение которое в тестере.

Как решить эту проблему?

int sltp()
{
int s;
int i, j;
double h, l;
for(i = 1;;i++)
{
if(iFractals(Symbol(),1440,MODE_UPPER,i) > 0)
{

break;
}
else if(iFractals(Symbol(),1440,MODE_LOWER,i) > 0)
{

break;
}
}
for(j = i;;j++)
{
if(iFractals(Symbol(),1440,MODE_UPPER,j) > 0)
{

break;
}
else if(iFractals(Symbol(),1440,MODE_LOWER,j) > 0)
{

break;
}
}
h = High[iHighest(Symbol(),1440,MODE_HIGH,j+1,i)];
l = Low[iLowest(Symbol(),1440,MODE_LOW,j+1,i)];
double x = h - l;
s = x/Point;
return(s);
}

 
тестить на том таймфрейме который вписан.
 
а если другие функции используют другие таймфреймы?
 
Это такая стратегия. Если для торговли не используются другие индикаторы, где прописан текущий таймфрейм, то тестирование такого советника на меньших таймфреймах бесполезно, так как просто увеличивает время теста, а условие на открытие проверяется на дневном графике. Это общие рассуждения для вопроса общего плана (по одной представленной Вами функции).
 
liza:
а если другие функции используют другие таймфреймы?

А кто вам мешает сделать так:

Сейчас нажимаю SRC для вставки кода и:

h = High[iHighest(Symbol(),1440,MODE_HIGH,j+1,i)]; 
l = Low[iLowest(Symbol(),1440,MODE_LOW,j+1,i)]; 
//Поменяйте на:
h = iHigh(Symbol(),1440,iHighest(Symbol(),1440,MODE_HIGH,j+1,i)); 
l = iLow(Symbol(),1440,iLowest(Symbol(),1440,MODE_LOW,j+1,i)); 
//и будет считать на любом ТФ!
 

Большое спасибо!!!

 
borilunad:

А кто вам мешает сделать так:

Сейчас нажимаю SRC для вставки кода и:

Кодплохочитаем - не добежал глазками до конца кода. :)

Согласен на поправку - скорее всего это описька автора, хотя "чужие мысли всегда потёмки"... :)))

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

так и делаю

Не могу понять почему не правильно считает

 
liza:

так и делаю

Не могу понять почему не правильно считает


Сделайте указание таймфреймов через переменные, за одно проверите, везде ли указываются нужные таймфреймы. Потом установить везде таймфрейм 0 или выбраный в тестере, будет проще проверить правильность работы эксперта, будет видно где что и как. Потом легко вернуть нужные таймфреймы через переменные.
Причина обращения: