Yalnızca ürünü satın alan veya kiralayan kullanıcılar yorum yazabilir
123
Tarun Chaudhry  

HI,

Very good indicator. Thank you.

Is there a chance that you output the buy and sell target also in the data

so that it can be used by EA?

Thanks

Taras Slobodyanik  
Tarun Chaudhry:

HI,

Very good indicator. Thank you.

Is there a chance that you output the buy and sell target also in the data

so that it can be used by EA?

Thanks

I will think about it.
These targets are similar to my indicator Predictor.

Taras Slobodyanik  

Here is an example for reading last five points.
In the parameters you need to enable "Save points to global variables ".

void Read_GV_ZZ()
{
   //prefix for variable names: ZZ + Symbol + Period
   string prefix_gv="ZZ_"+_Symbol+"_"+"M15"+"_"; 
   
   //last five points
   int len=5; 
   
   //buffers
   double   zz_price[];
   datetime zz_time_beg[];
   datetime zz_time_end[];
   bool     zz_visible[];
   int      zz_direction[];
   
   ArrayResize(zz_price,len);
   ArrayResize(zz_time_beg,len);
   ArrayResize(zz_time_end,len);
   ArrayResize(zz_visible,len);
   ArrayResize(zz_direction,len);
   
   //collect points
   for(int i=0;i<len;i++)
      {
      string name=prefix_gv+"Price_"+IntegerToString(i,4,'0');
      if (GlobalVariableCheck(name))
         zz_price[i]=GlobalVariableGet(name);
      
      name=prefix_gv+"TimeBeg_"+IntegerToString(i,4,'0');
      if (GlobalVariableCheck(name))
         zz_time_beg[i]=(int)GlobalVariableGet(name);
      
      name=prefix_gv+"TimeEnd_"+IntegerToString(i,4,'0');
      if (GlobalVariableCheck(name))
         zz_time_end[i]=(int)GlobalVariableGet(name);
      
      name=prefix_gv+"Visible_"+IntegerToString(i,4,'0');
      if (GlobalVariableCheck(name))
         zz_visible[i]=(bool)GlobalVariableGet(name);
      
      name=prefix_gv+"Direction_"+IntegerToString(i,4,'0');
      if (GlobalVariableCheck(name))
         zz_direction[i]=(int)GlobalVariableGet(name);
      }
}
Taras Slobodyanik  

If you want to read the ZigZag (or Fractals) points using iCustom, then you need to specify the number of points in the very first parameter.
The current (last) point will have the index 0, the previous index 1, the previous one 2, etc.

For example :

//+------------------------------------------------------------------+ 
string   num="10";      // calculate the last 10 points. If "0" then all points.
int      Depth=12;      // Depth 
int      Deviation=5;   // Deviation 
int      Backstep=3;    // Backstep

   
   int handle_zz=iCustom(_Symbol,_Period,"Market\\ZigZagLines",num,0,Depth,Deviation,Backstep);
   if (handle_zz==INVALID_HANDLE)  
      {Print("ZigZag Error = ",GetLastError()); return(INIT_FAILED);}
   
   // read the last point
   int      i=0;  // point of ZZ
   double   price     =          iZZ(0,i);
   datetime start_time=(datetime)iZZ(1,i);
   datetime end_time  =(datetime)iZZ(2,i);
   bool     unbroken  =    (bool)iZZ(3,i);
   int      direction =     (int)iZZ(4,i);
   double   targetDN  =          iZZ(5,i);
   double   targetUP  =          iZZ(6,i);
   
   Comment( "point="+IntegerToString(i)+"\n"+
            "price="+DoubleToString(price,_Digits)+"\n"+
            "start="+TimeToString(start_time)+"\n"+
            "end="+TimeToString(end_time)+"\n"+
            "unbroken="+(string)unbroken+"\n"+
            "direction="+((direction==1)?"up":"dn")+"\n"+
            "lower target="+DoubleToString(targetDN,_Digits)+"\n"+
            "upper target="+DoubleToString(targetUP,_Digits)
            );


//+------------------------------------------------------------------+ 
double iZZ(int num_buff, int index)
{
double ArrDouble[1];

if(index < 0) return(0);
if(CopyBuffer(handle_zz,num_buff,index,1,ArrDouble)>0) 
   return(ArrDouble[0]);
   
return(0);
}

data

timurzyan  
Тарас, добрый день. Купил индикатор и он мне очень понравился. Но хотелось бы еще одну нужную мелочь...Может я плохо искал в настройках. Очень не хватает функции показа количества пунктов пройденных от хая к лою и наоборот. Вижу что на левелах рядом с ценой есть скобочки с цифрой, но там ноль всегда. Это не трудно допилить? Или подскажите где включить. Счетчик пипсов в диапазоне свечи я вижу, но это не то что нужно. Спасибо!
Taras Slobodyanik  
timurzyan #:
Тарас, добрый день. Купил индикатор и он мне очень понравился. Но хотелось бы еще одну нужную мелочь...Может я плохо искал в настройках. Очень не хватает функции показа количества пунктов пройденных от хая к лою и наоборот. Вижу что на левелах рядом с ценой есть скобочки с цифрой, но там ноль всегда. Это не трудно допилить? Или подскажите где включить. Счетчик пипсов в диапазоне свечи я вижу, но это не то что нужно. Спасибо!

Доброго дня.

Как это должно быть? (в каком месте, как выравнивать текст)

timurzyan  
Taras Slobodyanik #:

Доброго дня.

Как это должно быть? (в каком месте, как выравнивать текст)

https://prnt.sc/M0JMES7Snjsv Вот тут, выделил красным. Функция "показывать хай-лоу рендж в пунтках" включена, но я так понял что это относится к свечам? А между вершиной и лоем можно сделать?

Taras Slobodyanik  
timurzyan #:

https://prnt.sc/M0JMES7Snjsv Вот тут, выделил красным. Функция "показывать хай-лоу рендж в пунтках" включена, но я так понял что это относится к свечам? А между вершиной и лоем можно сделать?


Параметр "Show High-Low range (points)" относится к  "Candles" и показывает количество пунктов в свече.

тот же вопрос:
Как это должно быть? (в каком месте, как выравнивать текст)
Как это будет выглядеть?

timurzyan  
Taras Slobodyanik #:


Параметр "Show High-Low range (points)" относится к  "Candles" и показывает количество пунктов в свече.

тот же вопрос:
Как это должно быть? (в каком месте, как выравнивать текст)
Как это будет выглядеть?

там же где стоит значение котировки и значение количества касаний, нельзя добавить еще количество пунктов? Слева, справа, снизу, сверху?

Taras Slobodyanik  
timurzyan #:

там же где стоит значение котировки и значение количества касаний, нельзя добавить еще количество пунктов? Слева, справа, снизу, сверху?

ну вот где?

Taras Slobodyanik  
timurzyan #:

https://prnt.sc/KHsJ_Xs__Hn2 Ну вот хотя бы так

а почему не нарисовали на моем индикаторе?

Если у вас уже есть это, зачем это нужно еще и у меня?

timurzyan  
Taras Slobodyanik #:

а почему не нарисовали на моем индикаторе?

Если у вас уже есть это, зачем это нужно еще и у меня?

Этот индикатор для мт4 и не выглядит так классно как ваш. )) Просто рисует зигзаг и пипсы. Мне нужен для мт5. Ну да ладно. Нет, так нет. Несколько грубовато как то...Извините, что побеспокоил.

Taras Slobodyanik  
timurzyan #:

Этот индикатор для мт4 и не выглядит так классно как ваш. )) Просто рисует зигзаг и пипсы. Мне нужен для мт5. Ну да ладно. Нет, так нет. Несколько грубовато как то...Извините, что побеспокоил.

Вы предлагаете что-то добавить, и не отвечаете на мои вежливые вопросы сразу.

Мой индикатор имеет много меток/линий/индикаторов. Если сверху наложить еще кучу цифр то будет "каша".
Это все должно взаимодействовать друг с другом. и не мешать.
И быть полезным.

Ну нет так нет.

timurzyan  
Taras Slobodyanik #:

Вы предлагаете что-то добавить, и не отвечаете на мои вежливые вопросы сразу.

Мой индикатор имеет много меток/линий/индикаторов. Если сверху наложить еще кучу цифр то будет "каша".
Это все должно взаимодействовать друг с другом. и не мешать.
И быть полезным.

Ну нет так нет.

Я до этого понятия не имел, как рисовать в терминале. Впрочем я просто с графикой не умею и не знаю как обращаться. Но теперь умею, в терминале по крайней мере )) Вот, накропал как сумел https://prnt.sc/prUrOitTCQrd . Думаю все таки штука полезная, для тех кто торгует средний диапазон. Места вроде много не занимает. 

Taras Slobodyanik  
timurzyan #:

Вот, накропал как сумел https://prnt.sc/prUrOitTCQrd . Думаю все таки штука полезная, для тех кто торгует средний диапазон. Места вроде много не занимает. 

В МТ невозможно сделать текстовый объект многострочным, только в одну строку.
А если рисовать один текст под другим, то при масштабировании чарта эти текстовые объекты будут "наезжать" друг на друга (или "разъезжаться").

Если делать в одну строку, то будет длинная строка: цена + касания + длина.
И что делать с пробитыми линиями, на них цена не показывается и они заканчиваются в прошлом 

Если делать надписи над точками ЗигЗага, тогда они часто будут накладываться на надписи дней недели, придется что-то отключать чтобы не мешало.

Taras Slobodyanik  
Сделаю над/под точками ЗигЗага.
timurzyan  
Taras Slobodyanik #:

В МТ невозможно сделать текстовый объект многострочным, только в одну строку.
А если рисовать один текст под другим, то при масштабировании чарта эти текстовые объекты будут "наезжать" друг на друга (или "разъезжаться").

Если делать в одну строку, то будет длинная строка: цена + касания + длина.
И что делать с пробитыми линиями, на них цена не показывается и они заканчиваются в прошлом 

Если делать надписи над точками ЗигЗага, тогда они часто будут накладываться на надписи дней недели, придется что-то отключать чтобы не мешало.

 То есть вот так не выйдет? https://prnt.sc/6pzB42F9L60w Жалко. Со значениями пробитых уровней, я думаю морочится и не стоит. Вполне хватит текущих двух. А с проблемой масштабирования, если над/под, я бы забил. Кому сильно мешает, могут отключить эту функцию, отображение пройденных пунктов. Эстетика пострадает с налазящими цифрами, конечно. Я просто пользуюсь масштабом редко. Смотрю как есть. Но людям, которые часто тянут график, может конечно не понравится. 

timurzyan  
Taras Slobodyanik #:
Сделаю над/под точками ЗигЗага.

+++

Taras Slobodyanik  

Версия 4.6

1) Добавлены параметры для отображения дистанции между точками ЗигЗага — "Show ZZ-Distance at the start of the line" и "Key to show Distance".

Yalnızca ürünü satın alan veya kiralayan kullanıcılar yorum yazabilir
123