Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Изучаешь MQL5? Начни с документации!
liza
1051
liza 2014.02.14 13:21 

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

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

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

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

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
12135
Vitalie Postolache 2014.02.14 13:39  
тестить на том таймфрейме который вписан.
liza
1051
liza 2014.02.14 13:52  
а если другие функции используют другие таймфреймы?
TarasBY
1740
TarasBY 2014.02.14 14:00  
Это такая стратегия. Если для торговли не используются другие индикаторы, где прописан текущий таймфрейм, то тестирование такого советника на меньших таймфреймах бесполезно, так как просто увеличивает время теста, а условие на открытие проверяется на дневном графике. Это общие рассуждения для вопроса общего плана (по одной представленной Вами функции).
Boris
3900
Boris 2014.02.14 14:09  
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
1051
liza 2014.02.14 14:46  

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

TarasBY
1740
TarasBY 2014.02.14 14:48  
borilunad:

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

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

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

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

liza
1051
liza 2014.02.14 16:03  
Никаких потемок, просто хочу делать расчет стопа по расстоянию между двумя фракталами
Dmitry Fedoseev
42920
Dmitry Fedoseev 2014.02.14 16:09  
В тестере выбирать таймфрейм наименьший из всех таймфреймов к которым идет обращение из советника.
liza
1051
liza 2014.02.14 17:01  

так и делаю

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

Dmitry Fedoseev
42920
Dmitry Fedoseev 2014.02.14 17:11  
liza:

так и делаю

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


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