Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нашел интересную программу? Опубликуй ее в CodeBase - миллионы трейдеров оценят это!
ask
518
ask 2010.10.27 10:50 

Писал 2 недели индикатор, сломал весь мозг, но написал. Считает все как нужно, но возникла проблема. Может кто сталкивался.

Расчет индикатора идет в цикле (допустим) for (i=limit ; i<=0;i--), индикатор дает значения лесенкой на гистограме, каждая следующая ступенька (длина ступеньки не зависит от количества баров и может быть в один бар, а может быть и в 20-ть баров) выше предыдущей на некоторое количество.

Теперь нужно получить n ближайщих к нулевому бару ступенек, но чтобы их получить придется задействовать другой цикл с i++; вынести значения из первого цикла не могу и делать этого нельзя.

Вопрос: как внутри цикла for (i=limit ; i<=0;i--) организовать расчет с нулевого бара ( в моем случае получить значение последних, скажем, 10 ступенек) 

Victor Nikolaev
Модератор
14061
Victor Nikolaev 2010.10.27 11:12  
ask:


Писал 2 недели индикатор, сломал весь мозг, но написал. Считает все как нужно, но возникла проблема. Может кто сталкивался.

Расчет индикатора идет в цикле (допустим) for (i=limit ; i<=0;i--), индикатор дает значения лесенкой на гистограме, каждая следующая ступенька (длина ступеньки не зависит от количества баров и может быть в один бар, а может быть и в 20-ть баров) выше предыдущей на некоторое количество.

Теперь нужно получить n ближайщих к нулевому бару ступенек, но чтобы их получить придется задействовать другой цикл с i++; вынести значения из первого цикла не могу и делать этого нельзя.

Вопрос: как внутри цикла for (i=limit ; i<=0;i--) организовать расчет с нулевого бара ( в моем случае получить значение последних, скажем, 10 ступенек)


С таким циклом ничего не получится

надо хотя бы делать так

for (i=limit ; i>=0;i--) 
ask
518
ask 2010.10.27 11:21  
Vinin:


С таким циклом ничего не получится

надо хотя бы делать так



Да, разумеется, просто опечатка.
o_O
Модератор
23304
o_O 2010.10.27 11:24  
ask:


Теперь нужно получить n ближайщих к нулевому бару ступенек, но чтобы их получить придется задействовать другой цикл с i++; вынести значения из первого цикла не могу и делать этого нельзя.

Какое то неясное ограничение у вас. Это почему же нельзя из цикла вынести значения?

Вопрос: как внутри цикла for (i=limit ; i<=0;i--) организовать расчет с нулевого бара ( в моем случае получить значение последних, скажем, 10 ступенек)

так и организовать for (k=10; k>=0;k--) - только он ведь будет выполнятся limit раз
ask
518
ask 2010.10.27 11:31  
sergeev:

Какое то неясное ограничение у вас. Это почему же нельзя из цикла вынести значения?

   



А как можно вынести значение из цикла (в учебнике этого нет) с i-- и передать его в цикл с i++ не убив при этом терминал о_О ? Я не подтруниваю, правда в недоумении, в учебнике тогда бы написали как это сделать.

 так и организовать for (k=10; k>=0;k--) - только он ведь будет выполнятся limit раз

 Угу... =( Поэтому и спрашиваю.

ask
518
ask 2010.10.27 22:12  
Ну хоть кто-нить подскажите, хоть что-нить =(
Victor Nikolaev
Модератор
14061
Victor Nikolaev 2010.10.28 02:49  
ask:
Ну хоть кто-нить подскажите, хоть что-нить =(

Индикатор покажи
Eugeni Neumoin
1306
Eugeni Neumoin 2010.10.28 08:42  

Если этот индикатор рисует ступеньки, то, скорее всего, ступеньки - их значение - заносятся в буфер.

После окончания первого цикла организовывайте второй цикл от нулевого бара в сторону увеличения до тех пор, пока не сосчитаете 10 ступенек. Во втором проводите анализ буфера. 

ask
518
ask 2010.10.28 12:16  
Vinin:

Индикатор покажи



Нильзя. Он секретный и очень прибыльный =) Но спасибо огромное за отзывчивость! Вы всегда всем помогаете. Но нужно и самому учиться, не все же на шее у кого-то сидеть. Вы уже переделывали итак мне два индикатора от Годзилы.

nen:

Если этот индикатор рисует ступеньки, то, скорее всего, ступеньки - их значение - заносятся в буфер.

После окончания первого цикла организовывайте второй цикл от нулевого бара в сторону увеличения до тех пор, пока не сосчитаете 10 ступенек. Во втором проводите анализ буфера. 

Спасибо! Весьма правильно вы сказали, только я чуточку иначе сделал. Я сделал так (может коряво вышло, но работает, вроде, пока недостаточно проверил) внутри того же цикла занес значения в массив, далее с помощью int ary=ArrayBsearch (massive, shet-n,WHOLE_ARRAY,i,MODE_DESCEND ); получил номер бара от конца, соотетсвующий нужной мне ступеньке, затем bars- ary и получил номер бара от которого мне и нужно проводить расчет в if 

Спасибо большое, я как-то о буферах и массивах что-то не поумал самостоятельно =( А теперь вроде все вышло =) ! 

TVA_11
815
TVA_11 2010.10.28 12:26  

Ну так порадуйте хоть Скриншотом ).

ask
518
ask 2010.10.28 13:29  
TVA_11:

Ну так порадуйте хоть Скриншотом ).



Низя. По скрину и истории сделок можно догадаться или нейронками подобрать нечто похожее.

Вон Решетов что хочет догадается. Нет уж. Итак сам своровал идеи у более удачливых людей.  Месяц сидел мозх взрывал себе. Решил-если сам глупый в этом вопросе, нужно украсть у умных.

Похвастаюсь только. Протестировал с постоянным стопом и лосом. Радует пока =)

Но терминал убивает нереально. Пришлось расчет делать с bars, нужно переделывать-оптимизировать индикаторы, чтоб не грузили. Тестирует очень долго, а если еще и второй добавить и третий-вообще три года буду ждать. Снова сидеть две недели =( 

 

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