Вопрос по таймфреймам
а если другие функции используют другие таймфреймы?
А кто вам мешает сделать так:
Сейчас нажимаю 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)); //и будет считать на любом ТФ!
Большое спасибо!!!
А кто вам мешает сделать так:
Сейчас нажимаю SRC для вставки кода и:
Кодплохочитаем - не добежал глазками до конца кода. :)
Согласен на поправку - скорее всего это описька автора, хотя "чужие мысли всегда потёмки"... :)))
так и делаю
Не могу понять почему не правильно считает
так и делаю
Не могу понять почему не правильно считает
Сделайте указание таймфреймов через переменные, за одно проверите, везде ли указываются нужные таймфреймы. Потом установить везде таймфрейм 0 или выбраный в тестере, будет проще проверить правильность работы эксперта, будет видно где что и как. Потом легко вернуть нужные таймфреймы через переменные.
Интересная вещь происходит!!!
Ниже функция, в индикаторе вписан таймфрейм,
а на тестере использует то значение которое в тестере.
Как решить эту проблему?
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);
}