| / | Форум |
|
Toxa
19.04.2006 00:21
скачал случайно но не знаю как работает
//+------------------------------------------------------------------+ //| Forecast Oscillator.mq4 | //| Copyright © 2005, Nick Bilak, beluck[AT]gmail.com | //| http://forexsystems.ru/phpBB/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Nick Bilak, beluck[AT]gmail.com" #property link "http://forexsystems.ru/phpBB/index.php" #property indicator_separate_window #property indicator_buffers 4 #property indicator_level1 0 #property indicator_color1 DarkTurquoise #property indicator_color2 LawnGreen #property indicator_color3 Magenta #property indicator_color4 Aqua //---- input parameters extern int regress=15; extern int t3=10; extern double b=0.7; //---- buffers double osc[]; double osct3[]; double hiSig[]; double loSig[]; int shift,limit,length; double b2,b3,c1,c2,c3,c4,w1,w2,n,WT,forecastosc,t3_fosc,sum,e1,e2,e3,e4,e5,e6,tmp, tmp2; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,osc); SetIndexEmptyValue(0,0); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,osct3); SetIndexStyle(2,DRAW_ARROW); SetIndexBuffer(2,hiSig); SetIndexEmptyValue(2,EMPTY_VALUE); SetIndexArrow(2,159); SetIndexStyle(3,DRAW_ARROW); SetIndexBuffer(3,loSig); SetIndexEmptyValue(3,EMPTY_VALUE); SetIndexArrow(3,159); //---- return(0); } int start() { int counted_bars=IndicatorCounted(); if (counted_bars<0) return(-1); if (counted_bars>0) counted_bars--; limit=Bars-31; if(counted_bars>=31) limit=Bars-counted_bars+2; for (shift=limit+30;shift>=0;shift--) { b2=b*b; b3=b2*b; c1=-b3; c2=(3*(b2+b3)); c3=-3*(2*b2+b+b3); c4=(1+3*b+b3+3*b2); n=t3; if (n<1) n=1; n = 1 + 0.5*(n-1); w1 = 2 / (n + 1); w2 = 1 - w1; length=regress; sum = 0; for (int i = length; i>0; i--) { tmp = length+1; tmp = tmp/3; tmp2 = i; tmp = tmp2 - tmp; sum = sum + tmp*Close[shift+length-i]; } tmp = length; WT = sum*6/(tmp*(tmp+1)); forecastosc=(Close[shift]-WT)/WT*100; e1 = w1*forecastosc + w2*e1; e2 = w1*e1 + w2*e2; e3 = w1*e2 + w2*e3; e4 = w1*e3 + w2*e4; e5 = w1*e4 + w2*e5; e6 = w1*e5 + w2*e6; t3_fosc = c1*e6 + c2*e5 + c3*e4 + c4*e3; osc[shift] = forecastosc; osct3[shift] = t3_fosc; if (osc[shift+1] > osct3[shift+2] && osc[shift+2] <= osct3[shift+3] && osct3[shift+1]<0) loSig[shift+1] = t3_fosc-0.05; if (osc[shift+1] < osct3[shift+2] && osc[shift+2] >= osct3[shift+3] && osct3[shift+1]>0) hiSig[shift+1] = t3_fosc+0.05; } Comment("WT=",WT); return(0); } //+------------------------------------------------------------------+ |
|
Увеличьте эффективность групповой работы Поставьте TeamWox и увеличьте эффективность групповой работы в вашей компании. TeamWox позволяет хранить всю рабочую информацию в одном месте: письма, документы, файлы, платежи и история сообщений в чате. Так решается проблема сохранности данных и удобной групповой работы с ними. |
|
Toxa
19.04.2006 00:21
Хотелось бы по нему эсперта написать. на днях красиво работает
Но я не знаю как из него суть вытащить |
33759 |
Rosh
19.04.2006 09:55
Тэги ставить - красивее выглядит. Один из юриковских вариантов сглаживания(насколько я понимаю), самый распространенный. |
|
Bookkeeper
19.04.2006 12:14
Rosh: Симпотично.......... Один из юриковских вариантов сглаживания (насколько я понимаю), самый распространенный. Не могли бы Вы дать еще ссылки на индикаторы сигналов разворота. Я в программировании не силен, так что единственный путь - смотреть, как делают другие и использовать (читай - воровать) подходящие куски кода. Максимум - чуть-чуть видоизменяя. |
33759 |
Rosh
19.04.2006 12:39
На самом деле, индикатор слегка с подковыркой, проше это показать
наглядно, я запустил индикатор утром, а попозже добавил второй
с точно такими же параметрами. По коду видно, что он перегонялся
из МТ3, без логической обработки (раз) и фиксации указанного
баг (2)ю То есть, он перерисовывает себя на истории. Я собираюсь
перегнать подобный индикатор из МТ3 в МТ4 с подробными комментариями
- http://forum.alpari-idc.ru/showthread.php?p=387171#post387171
|
|
Bookkeeper
19.04.2006 13:27
Во-первых, не удивляйтесь репликам, а то уже было... :). У нас разные
весовые категории, Ваши посты я читаю.
Rosh: Если давно тому назад, то и ... хотя и обидно. Я ищу не точки входа,
а чтоб соскочить, лучше раньше чем с лосем. А то, что все зигзаги,
мягко говоря, на пипсовке не очень удобоваримы как и многое
другое из-за малого ТФ, это мне уже давно понятно. Достаточно
паралельно построить резиновую нить через медианы(например)
баров, где зигзаг дает вершины, и в конце меняющуюся к close[0]
от последнего отмеченного зигзагом бара - и картина станет не
всегда столь приятной для глаза.На самом деле, индикатор слегка с подковыркой... Поэтому я смотрю в сочетании с другими сигналами, стараясь понять - есть ли путь просто не строить некоторые вершины, отсеять. А то, что стопроцентную гарантию дает только паталогоанатом. .. Так на это есть аксиома имени мене "Все индикаторы - для самообмана". Но (я уже где-то писал) - нет ничего увлекательнее изобретения перпетуум-мобиля. Особенно - красивого. За ссылку спасибо. |
|
Bookkeeper
19.04.2006 14:01
Rosh, не поможете с прогой:
- Сделал МинМакс а ля Порамон, но не для дня, а для внутридневного периода (например - сессии); - Вопрос: можно ли закрасить фон между двумя ломаными (Мин и Макс)? У KimIV есть индикатор i-Sessions, где время сессий выделяется закраской фона, но прямоугольником. Посылал вопрос ему, но занят наверное... :). Индюк ниже. |
33759 |
Rosh
19.04.2006 14:11
Закрасить можно только гистограммлй, но будет не очень красиво.
Заливку каналов разработчики в ближайшее время не обещают.
|
|
Bookkeeper
19.04.2006 14:15
Rosh: Спасибо. Закрасить можно только гистограммлй, но будет не очень красиво. Заливку каналов разработчики в ближайшее время не обещают. Тогда уж лучше бары в разный цвет. С учетом перекрытия сессий. |
|
Bookkeeper
19.04.2006 18:00
Rosh: А OBJ_CHANNEL не употребить никак? Для меня это только название...Закрасить можно только гистограммлй, но будет не очень красиво. Заливку каналов разработчики в ближайшее время не обещают. |
33759 |
Rosh
20.04.2006 13:13
OBJ_CHANNE - это объект, получается несколько тяжеловесно и придется
впихивать логику обработки объектов при смене тайм-фрейма и
приходе нового тика.
|
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий