Индикаторы: Exp - IndicatorZZ+Fibo

 

Exp - IndicatorZZ+Fibo:

Отличное сочетание казахского ZZ и Фибо уровней, отличный инструмент для ТА и создания Эксперта

Author: Vladislav Andruhenko

 

Влад а слабо лучи фибовеера прикрутить :)

 

да и чтоб лучи рисовались трендовыми линиями........

 

да не слабо, но тут дело не в слабости а в нужности :-)

 
Vladon:

да не слабо, но тут дело не в слабости а в нужности :-)


да вещь то полезная........


давай ты индюк сделаешь а я советник мне давно хотелось поиграться...... :)-

 

:-) а вопрос прог слабо был задан как мерение навыками? или просто нужен такой индюк?

 
Vladon:

:-) а вопрос прог слабо был задан как мерение навыками? или просто нужен такой индюк?



нужен индюк но писать лень но я лень переборол и уже написал тестирую........... :)

 

Влад косяк видишь надписи цену закрывают нужно в сторону сместить///

 
JS_Sergey:
Vladon:

:-) а вопрос прог слабо был задан как мерение навыками? или просто нужен такой индюк?



нужен индюк но писать лень но я лень переборол и уже написал тестирую........... :)

интересный подход к решению задачи лени. :-) пусть другие пишут,ыыыыыы. ор, зачем 5 баллов. учтем :-)

 

Что-то на этот удав многие покушаются.

Другая реализация.

//+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 2000-2007, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
// Казахский Удав.mq4
#property copyright "слова - Mandor, музыка - народная"
#property link "mandorr@gmail.com"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Aqua
//----
extern int Length=6;
extern int CountBars=1000;   // Количество обсчитываемых баров
extern bool fibo=true;
extern color colorFibo = Yellow;
//----
double buffer[];
double lBar, hBar;
datetime tiZZ;
double p1,p2;
datetime t1,t2;
double   fi_1[]={0, 0.236, 0.382, 0.5, 0.618, 1.0, 1.618, 2.618};
string   fitxt100_1[]={"0.0", "23.6", "38.2", "50.0", "61.8", "100.0", "161.8", "2.618"};
int Sizefibo;
string Period_tf;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void init()
  {
   SetIndexBuffer(0,buffer);
   SetIndexStyle(0,DRAW_SECTION,0,1);
   SetIndexEmptyValue(0,0.0);
   SetIndexLabel(0,"Value");
   SetIndexDrawBegin(0,0);
   Sizefibo=ArraySize(fi_1);
   string TF[]={"MN","W1","D1","H4","H1","m30","m15","m5","m1"};
   switch (Period())
     {
      case 1     : {Period_tf=TF[8];break;}
      case 5     : {Period_tf=TF[7];break;}
      case 15    : {Period_tf=TF[6];break;}
      case 30    : {Period_tf=TF[5];break;}
      case 60    : {Period_tf=TF[4];break;}
      case 240   : {Period_tf=TF[3];break;}
      case 1440  : {Period_tf=TF[2];break;}
      case 10080 : {Period_tf=TF[1];break;}
      case 43200 : {Period_tf=TF[0];break;}
     }
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function. Начало.              |
//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("_%fibo");
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function. Конец.               |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void start()
  {
   int shift, zu, zd, Swing, Swing_n, i, i1, i2;
   double HH, LL, BH, BL;
//----
   if (tiZZ!=Time[0] || lBar<Low[0] || hBar>High[0]) // micmed+nen
     {
      tiZZ=Time[0]; lBar=Low[0]; hBar=High[0];
      if ((Bars-IndicatorCounted()-1)>2) ArrayInitialize(buffer,0.0);
     }
   else return;
   Swing=0;
   Swing_n=0;
   shift=CountBars-1;
   zu=shift; 
   zd=shift;
   BH=High[shift];
   BL=Low[shift];
//----
   for(shift=CountBars-1; shift>=0; shift--)
     {
      HH=High[iHighest(NULL,0,MODE_HIGH,Length,shift+1)];
      LL=Low [iLowest (NULL,0,MODE_LOW ,Length,shift+1)];
      if (Low[shift]<LL && High[shift]>HH)
        {
         Swing=2;
         if (Swing_n== 1) zu=shift+1;
         if (Swing_n==-1) zd=shift+1;
        }
      else
        {
         if (Low [shift]<LL) Swing=-1;
         if (High[shift]>HH) Swing= 1;
        }
      if (Swing!=Swing_n && Swing_n!=0)
        {
         if (Swing== 2) {Swing=-Swing_n; BH=High[shift]; BL=Low[shift];}
         if (Swing== 1) {buffer[zd]=BL; i1=i2; i2=zd;}
         if (Swing==-1) {buffer[zu]=BH; i1=i2; i2=zu;}
         BH=High[shift];
         BL=Low [shift];
        }
      if (Swing== 1) {if (High[shift]>=BH) {BH=High[shift]; zu=shift;}}
      if (Swing==-1) {if (Low [shift]<=BL) {BL=Low [shift]; zd=shift;}}
      Swing_n=Swing;
     }
   if (fibo)
     {
      p1=buffer[i1]; t1=Time[i1];
      p2=buffer[i2]; t2=Time[i2];
      string nameObj="_%fibo";        
      ObjectDelete(nameObj);
      ObjectCreate(nameObj,OBJ_FIBO,0,t1,p1,t2,p2);
      ObjectSet(nameObj,OBJPROP_LEVELCOLOR,colorFibo);
      ObjectSet(nameObj,OBJPROP_COLOR,CLR_NONE);
      ObjectSet(nameObj,OBJPROP_STYLE,STYLE_DOT);
      ObjectSet(nameObj,OBJPROP_WIDTH,0);
      ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
      ObjectSet(nameObj,OBJPROP_LEVELWIDTH,0);
      ObjectSet(nameObj,OBJPROP_BACK,true);
//      ObjectSet(nameObj,OBJPROP_RAY,false);
      ObjectSet(nameObj,OBJPROP_FIBOLEVELS,Sizefibo);
      for (i=0;i<Sizefibo;i++)
        {
         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+i,fi_1[i]);
         ObjectSetFiboDescription(nameObj, i, fitxt100_1[i]+" "+DoubleToStr((p1-p2)*fi_1[i]+p2, Digits)+"-"+Period_tf); 
        }
     }
  }
//+------------------------------------------------------------------+
 
nen:

Что-то на этот удав многие покушаются.

Другая реализация.


меня попросил знакомый сделать из этого казахского что-то стоящее, говорит сюда обращался тут никто не хотел делать, вот я и сделал :-) сам ЗЗ интересный......... выкладываем варианты

Причина обращения: