Ласло Подобедов: Это в приложении по решению тестов MQL5 Strategy Tester Agent , что сделать что бы оно заработало? свой ник ввести в последней вкладке и все ?
Вот, что нужно найти. На свече с галочкой поставить точку. В момент постановки точки на свече с галочкой фрактала не будет, да он и не нужен. Если и он нужен - это также можно сделать.
От него ищем в цикле первый high соответствующий low известного фрактала
Можно и так, но я бы сделал наоборот. Т.е. вначале находим хай предыдущей (сформированной) свечи, а потом последний фрактал вниз. Если совпали - ставим точку.
Alexey Kozitsyn: Можно и так, но я бы сделал наоборот. Т.е. вначале находим хай предыдущей (сформированной) свечи, а потом последний фрактал вниз. Если совпали - ставим точку.
Не понимаю. Я думала, мы делаем именно это в условии.
if( High[i+1]==Low[isFractalDn()])//максимум первой свечи равен первому фракталу Dn
Это в приложении по решению тестов MQL5 Strategy Tester Agent , что сделать что бы оно заработало? свой ник ввести в последней вкладке и все ?
Почитайте что есть фрактал
И может ли это условие выполнится? isFractalDn =i
Почитайте что есть фрактал
Вы лучше перечитайте, что нужно найти.
isFractalDn = i
Нужно найти чтобы high предидущей свечи от нижнего фрактала был равен low нижнего фрактала
такого не может быть потому что
у low нижнего фрактала обе предидущие свечи имеют low выше low фрактала
isFractalDn = i
Это не верно. isFractalDn() (если она написана правильно, конечно) должна возвращать номер свечи первого нижнего фрактала.
А первый фрактал нужно искать не ранее, чем на 2 свече. По условиям mila.com до 10 свечи.
Кажется, я понял, что ввело Вас в заблуждение. Область видимости i. Здесь - одна область видимости:
{
ExtMapBuffer3[i]=High[i+1];
}
Здесь - другая:
int isFractalDn()
{
for(int i=0; i != 10; i++)
{
if(iFractals(NULL, 0, MODE_LOWER, i)!= NULL) return(i);
}
return(-1);
}
В это случае - область видимости - в пределах цикла for.
Это не верно. isFractalDn() (если она написана правильно, конечно) должна возвращать номер свечи первого нижнего фрактала.
А первый фрактал нужно искать не ранее, чем на 2 свече. По условиям mila.com до 10 свечи.
Кажется, я понял, что ввело Вас в заблуждение. Область видимости i. Здесь - одна область видимости:
{
ExtMapBuffer3[i]=High[i+1];
}
Здесь - другая:
int isFractalDn()
{
for(int i=0; i != 10; i++)
{
if(iFractals(NULL, 0, MODE_LOWER, i)!= NULL) return(i);
}
return(-1);
}
В это случае - область видимости - в пределах цикла for.
Если high ищется в другом цикле зачем тогда ??
Не дали нам весь индикатор посмотреть, но это точно, что в другом.
Видимо я неправильно понял (
Если в другом:
Номер бара нижнего фрактала известен
От него ищем в цикле первый high соответствующий low известного фрактала
Номер бара нижнего фрактала известен
От него ищем в цикле первый high соответствующий low известного фрактала
Можно и так, но я бы сделал наоборот. Т.е. вначале находим хай предыдущей (сформированной) свечи, а потом последний фрактал вниз. Если совпали - ставим точку.
Не понимаю. Я думала, мы делаем именно это в условии.