FOREX&STOX Опубликовано 20 ноября, 2007 Жалоба Поделиться Опубликовано 20 ноября, 2007 Может где то уже есть, но сделал свой. http://depositfiles.com/files/2431243Основные принципы заложенные в индикатор (для разворота вниз):- Фрактал DOWN ниже предыдущего (-пробитие уровня);- Фрактал UP ниже предыдущего (-коррекция 2 волны но не 100%);- Пробитие уровня последнего DOWN-фрактала (- подтверждение)»Не знаю насколько верна собственная интерпретация идей Мастера, но Вы, если что поправите.Полагаю:- обязательным использование только с учетом многомерности рынка т.е. на разных ТФ.- использованием в сочетании Фибоначчи и с Пивотом. - др. элементами ТС.Плюсы: просто и наглядно дают вход в 3 волну Эллиота.Минусы: много ложных сигналов во флэте.Буду дорабатывать, чтобы стрелки рисовал, а также с целью получить эксперта //+-----------------------------------------------------------------+ //| FZR.mq4 | //| Copyright c FOREX&STOX | //| roman_kr_2006@mail.ru | //|12.2007 Версия 1.0 | //+-----------------------------------------------------------------+ //| Индикатор Фрактально-зигзагового разворота. | //| Написан по идеям из книги3 Masterforex-V. | //| Правильность интерпретации идеи не гарантирую. | //| | //| | //+-----------------------------------------------------------------+ #property copyright "FOREX&STOX" #property link "roman_kr_2006@mail.ru " #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Green //---- ВХОДНЫЕ ПАРАМЕТРЫ----// int fPeriod=1; int fShift=0; extern int ДлиннаЛинии=8; extern color ЦветВеерх=Green; extern color ЦветВниз=Red; extern int СтильЛиний=STYLE_SOLID; extern int ТолщинаЛиний=2; extern string M="FZR"; //---- БУФЕРА ----ВЫХОДНые ----// double ExtMapBuffer1[]; double ExtMapBuffer2[]; //---- int ExtCountedBars=0; int mMonth; int mYear; int mDay ; datetime mDatBegin; //+------------------------------------------------------------------+ //| ИНИЦИАЛИЗАЦИЯ | //+------------------------------------------------------------------+ int init() { int draw_begin; string short_name; //---- drawing settings SetIndexStyle(0,DRAW_LINE); SetIndexShift(0,fShift); SetIndexStyle(1,DRAW_LINE); SetIndexShift(1,fShift); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)); if(fPeriod<2) fPeriod=13; draw_begin=fPeriod-1; //---- indicator short name short_name="FZR("; draw_begin=0; IndicatorShortName(M); SetIndexDrawBegin(0,draw_begin); //---- indicator buffers mapping SetIndexBuffer(0,ExtMapBuffer1); SetIndexBuffer(1,ExtMapBuffer2); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| ПОДГОТОВОЧКА | //+------------------------------------------------------------------+ int start() { if(Bars<=fPeriod) return(0); ExtCountedBars=IndicatorCounted(); //---- check for possible errors if (ExtCountedBars<0) return(-1); //---- last counted bar will be recounted if (ExtCountedBars>0) ExtCountedBars--; //+------------------------------------------------------------------+ //| ГЛАВНЫЙ МОДУЛЬ | //+------------------------------------------------------------------+ double FractalUPn; //ПОСЛЕДНИЙ UP ФРАКТАЛ double POSFractalUPn; //его позиция с конца double FractalUPp; //ПРЕДПОСЛЕДНИЙ UP ФРАКТАЛ double POSFractalUPp; //его позиция с конца double FractalDn; //ПОСЛЕДНИЙ DOWN ФРАКТАЛ double POSFractalDn; //его позиция с конца double FractalDp; //ПРЕДПОСЛЕДНИЙ DOWN ФРАКТАЛ double POSFractalDp; //его позиция с конца int Cond1,Cond2,Cond3,ЛинияВверх, ЛинияВниз; string d; int i,pos=Bars-ExtCountedBars-1,f; //---- initial accumulation if(pos<fPeriod) pos=fPeriod; //---- main calculation loop while(pos>=0) //ВОТ ВОТ, ЗДЕСЬ ВСЁ КРУТИТСЯ {f=0; // UP & nbsp;ФРАКТАЛЫ___________________________________________________________________ _____________________________ if (iFractals(NULL,0,MODE_UPPER, pos)!=0) //находим последний UP фрактал, { FractalUPn=iFractals(NULL,0,MODE_UPPER, pos); // его значение POSFractalUPn=pos; //и позицию с конца } i=10; //ну уж на дести то барах ранее должен появиться предыдущий фрактал while(i>0) {//======= if (iFractals(NULL,0,MODE_UPPER, POSFractalUPn+i)!=0) //находим предпоследний UP фрактал, { FractalUPp=iFractals(NULL,0,MODE_UPPER, POSFractalUPn+i); // его значение POSFractalUPp=POSFractalUPn+i; //и позицию с конца } i--; }//======= // DOWN ФРАКТАЛЫ________________________________________________________________________ _______________________ if (iFractals(NULL,0,MODE_LOWER, pos)!=0) //находим последний DOWN фрактал, { FractalDn=iFractals(NULL,0,MODE_LOWER, pos); // его значение POSFractalDn=pos; //и позицию с конца } /**/ i=10; //ну уж на дести то барах ранее должен появиться предыдущий фрактал /**/ while(i>0) /**/ {//======= /**/ if (iFractals(NULL,0,MODE_LOWER, POSFractalDn+i)!=0) //находим предпоследний DOWN фрактал, /**/ { /**/ FractalDp=iFractals(NULL,0,MODE_LOWER, POSFractalDn+i); // его значение /**/ POSFractalDp=POSFractalDn+i; //и позицию с конца /**/ } /**/ i--; /**/ }//======= // ЗАКОНЧИЛИ С ФРАКТАЛАМИ______________________________________________________________________ ________________ //-- SELL SELL SELL -- if(FractalUPp>FractalUPn){Cond1=-1;}//верхний фрактал меньше предыдущего(это коррекционное движение) if(FractalDp>FractalDn){Cond2=-1;}// нижний фрактал меньше предыдущего if(POSFractalDn<POSFractalUPp && POSFractalDn>POSFractalUPn){Cond3=-1;}// последний нижний фрактал располагается между двумя верхними if (Cond1==-1 && Cond2==-1 && Cond3==-1 && ЛинияВниз<0)//все 3 условия вместе собираем { //ExtMapBuffer1[pos]=FractalDn; //Comment("ГОТОВИМСЯ ПРОДАВАТЬ!"); ЛинияВниз=7; //- для того, чтобы несколько раз одно и тоже не рисовал if (pos-ДлиннаЛинии<0){f=ДлиннаЛинии-pos;} //- чтобы на правом краю хорошо отображался //ну РИСУЕМ ObjectCreate ("FZR "+TimeToStr(iTime(NULL,0, pos)), OBJ_TREND,0,iTime(NULL,0, pos+POSFractalDn-POSFractalUPn),FractalDn,iTime(NULL,0, pos-ДлиннаЛинии+f),FractalDn); if (pos>10){ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_RAY, false);}//- чтобы на правом краю отображался как луч ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_COLOR, ЦветВниз); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_STYLE, СтильЛиний); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_WIDTH, ТолщинаЛиний); } // ОТОБРАЖАЕМ НА //-- BUY BUY BUY -- if(FractalUPp<FractalUPn){Cond1=1;}// if(FractalDp<FractalDn){Cond2=1;}// if(POSFractalDp>POSFractalUPn && POSFractalUPn>POSFractalDn){Cond3=1;}// if (Cond1==1 && Cond2==1 && Cond3==1 && ЛинияВверх<0) { //ExtMapBuffer2[pos]=FractalUPn; // Comment("ГОТОВИСМСЯ ПОКУПАТЬ!"); ЛинияВверх=7; if (pos-ДлиннаЛинии<0){f=ДлиннаЛинии-pos;} //ну РИСУЕМ ObjectCreate ("FZR "+TimeToStr(iTime(NULL,0, pos)), OBJ_TREND,0,iTime(NULL,0, pos+POSFractalUPn-POSFractalDn),FractalUPn,iTime(NULL,0, pos-ДлиннаЛинии+f),FractalUPn); if (pos>10){ ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_RAY, false);} ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_COLOR, ЦветВеерх); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_STYLE, СтильЛиний); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_WIDTH, ТолщинаЛиний); } // ОТОБРАЖАЕМ НА Cond1=0;Cond2=0;Cond3=0; ЛинияВверх--; ЛинияВниз--; pos--; } return(0); } //+-----------------------------+ Ссылка на комментарий Поделиться на другие сайты Поделиться
_Серега_ Опубликовано 18 декабря, 2007 Жалоба Поделиться Опубликовано 18 декабря, 2007 Мастер увязывает ФЗР с волновым анализом - тут вот проблемка и еще неплохо было бы связывать попробовать фракталы не со встроенным фрактализером а с зигзагом - он еще ко времени немного привязывается - это тоже важно для ФЗР. Ссылка на комментарий Поделиться на другие сайты Поделиться
911 Опубликовано 9 января, 2008 Жалоба Поделиться Опубликовано 9 января, 2008 Попробовал скомпилироватьна фунте чтот много черточек различных получаетсяпо евре все нормально вроде. FOREX&STOX а вот со стрелками входа в сделкубыло б просто замечтательно.Если доделаете,воложите на эту ветку,хочется всеж понять смысл его работы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Malmsteen Опубликовано 15 апреля, 2008 Жалоба Поделиться Опубликовано 15 апреля, 2008 Может где то уже есть, но сделал свой. http://depositfiles.com/files/2431243Основные принципы заложенные в индикатор (для разворота вниз):- Фрактал DOWN ниже предыдущего (-пробитие уровня);- Фрактал UP ниже предыдущего (-коррекция 2 волны но не 100%);- Пробитие уровня последнего DOWN-фрактала (- подтверждение)»Не знаю насколько верна собственная интерпретация идей Мастера, но Вы, если что поправите.Полагаю:- обязательным использование только с учетом многомерности рынка т.е. на разных ТФ.- использованием в сочетании Фибоначчи и с Пивотом. - др. элементами ТС.Плюсы: просто и наглядно дают вход в 3 волну Эллиота.Минусы: много ложных сигналов во флэте.Буду дорабатывать, чтобы стрелки рисовал, а также с целью получить эксперта //+-----------------------------------------------------------------+ //| FZR.mq4 | //| Copyright c FOREX&STOX | //| roman_kr_2006@mail.ru | //|12.2007 Версия 1.0 | //+-----------------------------------------------------------------+ //| Индикатор Фрактально-зигзагового разворота. | //| Написан по идеям из книги3 Masterforex-V. | //| Правильность интерпретации идеи не гарантирую. | //| | //| | //+-----------------------------------------------------------------+ #property copyright "FOREX&STOX" #property link "roman_kr_2006@mail.ru " #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Green //---- ВХОДНЫЕ ПАРАМЕТРЫ----// int fPeriod=1; int fShift=0; extern int ДлиннаЛинии=8; extern color ЦветВеерх=Green; extern color ЦветВниз=Red; extern int СтильЛиний=STYLE_SOLID; extern int ТолщинаЛиний=2; extern string M="FZR"; //---- БУФЕРА ----ВЫХОДНые ----// double ExtMapBuffer1[]; double ExtMapBuffer2[]; //---- int ExtCountedBars=0; int mMonth; int mYear; int mDay; datetime mDatBegin; //+------------------------------------------------------------------+ //| ИНИЦИАЛИЗАЦИЯ | //+------------------------------------------------------------------+ int init() { int draw_begin; string short_name; //---- drawing settings SetIndexStyle(0,DRAW_LINE); SetIndexShift(0,fShift); SetIndexStyle(1,DRAW_LINE); SetIndexShift(1,fShift); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)); if(fPeriod<2) fPeriod=13; draw_begin=fPeriod-1; //---- indicator short name short_name="FZR("; draw_begin=0; IndicatorShortName(M); SetIndexDrawBegin(0,draw_begin); //---- indicator buffers mapping SetIndexBuffer(0,ExtMapBuffer1); SetIndexBuffer(1,ExtMapBuffer2); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| ПОДГОТОВОЧКА | //+------------------------------------------------------------------+ int start() { if(Bars<=fPeriod) return(0); ExtCountedBars=IndicatorCounted(); //---- check for possible errors if (ExtCountedBars<0) return(-1); //---- last counted bar will be recounted if (ExtCountedBars>0) ExtCountedBars--; //+------------------------------------------------------------------+ //| ГЛАВНЫЙ МОДУЛЬ | //+------------------------------------------------------------------+ double FractalUPn; //ПОСЛЕДНИЙ UP ФРАКТАЛ double POSFractalUPn; //его позиция с конца double FractalUPp; //ПРЕДПОСЛЕДНИЙ UP ФРАКТАЛ double POSFractalUPp; //его позиция с конца double FractalDn; //ПОСЛЕДНИЙ DOWN ФРАКТАЛ double POSFractalDn; //его позиция с конца double FractalDp; //ПРЕДПОСЛЕДНИЙ DOWN ФРАКТАЛ double POSFractalDp; //его позиция с конца int Cond1,Cond2,Cond3,ЛинияВверх, ЛинияВниз; string d; int i,pos=Bars-ExtCountedBars-1,f; //---- initial accumulation if(pos<fPeriod) pos=fPeriod; //---- main calculation loop while(pos>=0) //ВОТ ВОТ, ЗДЕСЬ ВСЁ КРУТИТСЯ {f=0; // UP & nbsp;ФРАКТАЛЫ___________________________________________________________________ _____________________________ if (iFractals(NULL,0,MODE_UPPER, pos)!=0) //находим последний UP фрактал, { FractalUPn=iFractals(NULL,0,MODE_UPPER, pos); // его значение POSFractalUPn=pos; //и позицию с конца } i=10; //ну уж на дести то барах ранее должен появиться предыдущий фрактал while(i>0) {//======= if (iFractals(NULL,0,MODE_UPPER, POSFractalUPn+i)!=0) //находим предпоследний UP фрактал, { FractalUPp=iFractals(NULL,0,MODE_UPPER, POSFractalUPn+i); // его значение POSFractalUPp=POSFractalUPn+i; //и позицию с конца } i--; }//======= // DOWN ФРАКТАЛЫ________________________________________________________________________ _______________________ if (iFractals(NULL,0,MODE_LOWER, pos)!=0) //находим последний DOWN фрактал, { FractalDn=iFractals(NULL,0,MODE_LOWER, pos); // его значение POSFractalDn=pos; //и позицию с конца } /**/ i=10; //ну уж на дести то барах ранее должен появиться предыдущий фрактал /**/ while(i>0) /**/ {//======= /**/ if (iFractals(NULL,0,MODE_LOWER, POSFractalDn+i)!=0) //находим предпоследний DOWN фрактал, /**/ { /**/ FractalDp=iFractals(NULL,0,MODE_LOWER, POSFractalDn+i); // его значение /**/ POSFractalDp=POSFractalDn+i; //и позицию с конца /**/ } /**/ i--; /**/ }//======= // ЗАКОНЧИЛИ С ФРАКТАЛАМИ______________________________________________________________________ ________________ //-- SELL SELL SELL -- if(FractalUPp>FractalUPn){Cond1=-1;}//верхний фрактал меньше предыдущего(это коррекционное движение) if(FractalDp>FractalDn){Cond2=-1;}// нижний фрактал меньше предыдущего if(POSFractalDn<POSFractalUPp && POSFractalDn>POSFractalUPn){Cond3=-1;}// последний нижний фрактал располагается между двумя верхними if (Cond1==-1 && Cond2==-1 && Cond3==-1 && ЛинияВниз<0)//все 3 условия вместе собираем { //ExtMapBuffer1[pos]=FractalDn; //Comment("ГОТОВИМСЯ ПРОДАВАТЬ!"); ЛинияВниз=7; //- для того, чтобы несколько раз одно и тоже не рисовал if (pos-ДлиннаЛинии<0){f=ДлиннаЛинии-pos;} //- чтобы на правом краю хорошо отображался //ну РИСУЕМ ObjectCreate ("FZR "+TimeToStr(iTime(NULL,0, pos)), OBJ_TREND,0,iTime(NULL,0, pos+POSFractalDn-POSFractalUPn),FractalDn,iTime(NULL,0, pos-ДлиннаЛинии+f),FractalDn); if (pos>10){ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_RAY, false);}//- чтобы на правом краю отображался как луч ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_COLOR, ЦветВниз); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_STYLE, СтильЛиний); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_WIDTH, ТолщинаЛиний); } // ОТОБРАЖАЕМ НА //-- BUY BUY BUY -- if(FractalUPp<FractalUPn){Cond1=1;}// if(FractalDp<FractalDn){Cond2=1;}// if(POSFractalDp>POSFractalUPn && POSFractalUPn>POSFractalDn){Cond3=1;}// if (Cond1==1 && Cond2==1 && Cond3==1 && ЛинияВверх<0) { //ExtMapBuffer2[pos]=FractalUPn; // Comment("ГОТОВИСМСЯ ПОКУПАТЬ!"); ЛинияВверх=7; if (pos-ДлиннаЛинии<0){f=ДлиннаЛинии-pos;} //ну РИСУЕМ ObjectCreate ("FZR "+TimeToStr(iTime(NULL,0, pos)), OBJ_TREND,0,iTime(NULL,0, pos+POSFractalUPn-POSFractalDn),FractalUPn,iTime(NULL,0, pos-ДлиннаЛинии+f),FractalUPn); if (pos>10){ ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_RAY, false);} ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_COLOR, ЦветВеерх); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_STYLE, СтильЛиний); ObjectSet ("FZR "+TimeToStr(iTime(NULL,0,pos)),OBJPROP_WIDTH, ТолщинаЛиний); } // ОТОБРАЖАЕМ НА Cond1=0;Cond2=0;Cond3=0; ЛинияВверх--; ЛинияВниз--; pos--; } return(0); } //+-----------------------------+день добрый:-))))немогля бы кинуть существующую cskre на индикатор:-)))) Ссылка на комментарий Поделиться на другие сайты Поделиться
fanatic Опубликовано 6 сентября, 2009 Жалоба Поделиться Опубликовано 6 сентября, 2009 Здраствуйте пробовал зайти по сылке можна сказать што неработает сылка эта .прозьба у каво есть такой индикатар вылажите штоб я мог скатать ево сибе . зараня блогадарен. Ссылка на комментарий Поделиться на другие сайты Поделиться
fxsuper Опубликовано 20 сентября, 2009 Жалоба Поделиться Опубликовано 20 сентября, 2009 У вас пардон вверху что написано- его код. зайдите в мета эдитор создайте новый индикатор введите туда его код и скомпелируйте. я знаю что скажете спасибо поэтому заранее пожалуйста Ссылка на комментарий Поделиться на другие сайты Поделиться
Jentry Опубликовано 24 сентября, 2009 Жалоба Поделиться Опубликовано 24 сентября, 2009 Хороший индикатор!Можно еще добавить чтобы при переходе с одного ТФ на другой, удалялись метки предыдущего. А то если постоянно прыгаешь по ТФ слишком много черточек Чтобы в настройках был такой пункт. Ссылка на комментарий Поделиться на другие сайты Поделиться
sidsv3413 Опубликовано 5 октября, 2009 Жалоба Поделиться Опубликовано 5 октября, 2009 В МЭ создать пользовательский индикатор, вставил строки кода, скомпилировал. В списке индикаторов FZR есть, но на график не устанавливается.В чем может быть причина?Подскажите пожалуйста Ссылка на комментарий Поделиться на другие сайты Поделиться
alexgomel Опубликовано 9 октября, 2009 Жалоба Поделиться Опубликовано 9 октября, 2009 В МЭ создать пользовательский индикатор, вставил строки кода, скомпилировал. В списке индикаторов FZR есть, но на график не устанавливается.В чем может быть причина?Подскажите пожалуйста Если ошибки не выдал, то не знаю. вот попробовал, что то показывает. fzr.zip (предварительно разархивировать! ) Ссылка на комментарий Поделиться на другие сайты Поделиться
loutand Опубликовано 22 октября, 2009 Жалоба Поделиться Опубликовано 22 октября, 2009 Хороший индикатор!Можно еще добавить чтобы при переходе с одного ТФ на другой, удалялись метки предыдущего. А то если постоянно прыгаешь по ТФ слишком много черточек <img src="http://forum.masterforex-v.org/public/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid="" border="0" alt="smile.gif" /> Чтобы в настройках был такой пункт.И впрямь чёрточек остаётся очень много даже после удаления индикатора. Не есть хорошо. Кто-нибудь может это исправить? Ссылка на комментарий Поделиться на другие сайты Поделиться
alexgomel Опубликовано 23 октября, 2009 Жалоба Поделиться Опубликовано 23 октября, 2009 И впрямь чёрточек остаётся очень много даже после удаления индикатора. Не есть хорошо. Кто-нибудь может это исправить? Ловите. fzr.zip Теперь он мусор за собой убирает. При переключении таймферймов, при изменении пары, при удалении с графика. Ссылка на комментарий Поделиться на другие сайты Поделиться
just_Trader Опубликовано 30 ноября, 2009 Жалоба Поделиться Опубликовано 30 ноября, 2009 (изменено) И впрямь чёрточек остаётся очень много даже после удаления индикатора. Не есть хорошо. Кто-нибудь может это исправить? Ловите. fzr.zip Теперь он мусор за собой убирает. При переключении таймферймов, при изменении пары, при удалении с графика. Большое спасибо! Но выходит что этот индикатор вовсе не ФЗР, а чертит попросту линии поддержки и сопротивления. Изменено 30 ноября, 2009 пользователем just_Trader Ссылка на комментарий Поделиться на другие сайты Поделиться
вячик Опубликовано 16 сентября, 2011 Жалоба Поделиться Опубликовано 16 сентября, 2011 Ещё по индикатору .Индикатор неплохой , но вот нельзя ли было бы привязать его обязательно к АО : есть заход за 0 на АО -есть линия ,можно даже со стрелкой. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения