Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
liza
1052
liza  

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

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

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

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

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);
}

Vitalie Postolache
12389
Vitalie Postolache  
тестить на том таймфрейме который вписан.
liza
1052
liza  
а если другие функции используют другие таймфреймы?
TarasBY
1740
TarasBY  
Это такая стратегия. Если для торговли не используются другие индикаторы, где прописан текущий таймфрейм, то тестирование такого советника на меньших таймфреймах бесполезно, так как просто увеличивает время теста, а условие на открытие проверяется на дневном графике. Это общие рассуждения для вопроса общего плана (по одной представленной Вами функции).
Boris
3921
Boris  
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)); 
//и будет считать на любом ТФ!
liza
1052
liza  

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

TarasBY
1740
TarasBY  
borilunad:

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

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

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

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

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

так и делаю

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

Dmitry Fedoseev
44518
Dmitry Fedoseev  
liza:

так и делаю

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


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