Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся активность MQL5.community у тебя на ладони. Заходи в раздел Стена!
Anton
52
Anton 2011.07.22 00:57 

Добрый вечер! Подскажите, как можно реализовать цикл для поиска последнего уровня перепроданности 30 или перекупленности 70 только для расчетов iStochastic, если текущее положение его относительно этих уровней допустим неизвестно. Т.е. если вышел уже из зоны, то определить из какой до того, как выйдет из противоположной. Вот такая задача. Сам решить не могу циклом. Скажите, что делаю не правильно?

double overBought = 70;
double over50 = 50;
double overSold = 30;    
double  stochValue_y = iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,y);
double  stochValue_y1 = iStochastic(0,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,y+1);
double  stochValue_y2 = iStochastic(0,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,y+2); 

 for(y=1;y<Bars;y++)
    {
     if((stochValue_y2 <= overSold && stochValue_y1 >= overSold)||(stochValue_y2>=overBought && stochValue_y1<=overBought))
     break;
     //как здесь быть? stochValue_y  всегда выдает последнее ценовое значение                      
    }

    Alert("Вышли из overSold"); // либо это
             
    Alert("Вышли из overBought"); // либо это
Vladyslav Goshkov
1960
Vladyslav Goshkov 2011.07.22 07:03  
toha153:

Добрый вечер! Подскажите, как можно реализовать цикл для поиска последнего уровня перепроданности 30 или перекупленности 70 только для расчетов iStochastic, если текущее положение его относительно этих уровней допустим неизвестно. Т.е. если вышел уже из зоны, то определить из какой до того, как выйдет из противоположной. Вот такая задача. Сам решить не могу циклом. Скажите, что делаю не правильно?

Расчет значений делайте в цикле

и разделите проверку условий поскольку сработает только одно из них, то сможете распознать какое.

Sergey Guliaev
2303
Sergey Guliaev 2011.07.22 09:05  

Рекомендую считать стохастик на предыдущем младшем ТФ, тогда он точнее.

Для этого К, D и S нужно умножить int _Div = MathRound(TF_Indicator/Period());

Anton
52
Anton 2011.07.23 00:17  

VladislavVG, Большое спасибо, все заработало в отдельном коде!


valenok2003 Спасибо за инфу, надеюсь пригодится! Но пока не вижу выгоды от точности в расчетах стохастика на младшем ТФ, или скорее всего не понимаю результата.

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