Uladzimir Izerski page - страница 48

 

Владимир, возьмите пример с "волновиков-затейников", посмотрите в сети, их там есть и довольно толковые люди и с значительным опытом торговли.
Не скрывают методы, более того основывают свои методы на прежних/чужих разработках. Соблюдают термины, и собственные не выдумывают без надобности.

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

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

--

в случае если просто поговорить не с кем, то это не тот форум..

 
Uladzimir Izerski:

Нет это не минимальная высота. У меня это всё отсутствует. Назначается один параметр который определяет диапазон цен в котором определяются волны. На самом деле это и есть ЗЗ с определенными параметрами. Но ЗЗ не корректно определит волны. Надо умудриться подбирать оба параметра. 

Своя версия - только моя. Ни у кого ничего не подсматриваю. Может у них тоже один параметр, но мне это не интересно. Иду только своим путём.

Так 1 или все же 2 параметра? Одним параметром диапазон (от...до) сложно задать. Если только от=0 или до =бесконечность.
Если не код, то хотя бы принцип действия вашего ЗЗ опишите.

 
Maxim Kuznetsov:

Владимир, возьмите пример с "волновиков-затейников", посмотрите в сети, их там есть и довольно толковые люди и с значительным опытом торговли.
Не скрывают методы, более того основывают свои методы на прежних/чужих разработках. Соблюдают термины, и собственные не выдумывают без надобности.

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

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

--

в случае если просто поговорить не с кем, то это не тот форум..

Видите, Вы знаете где искать, ну тырьте у них  грааль) успехов
 
spiderman8811:
Вы не так все поняли.  Открой экономику, там все написано.

Можете рассказать, что нужно сделать, не усложняя жизнь?

 
Aleksei Stepanenko:

Можете рассказать, что нужно сделать, не усложняя жизнь?

читайте классиков: учиться, учиться и учиться !

чтобы не было мучиться больно..

 
spiderman8811:
Вы не так все поняли.  Открой экономику, там все написано.
Что там про трейдинг написано? Можно конкретно и с примерами, как вы торгуте легко и просто после учебника по экономике? Еще бы википедию или интернет посоветовали. Я понимаю, что это балабольская ветка имени главного водовоза, но совсем уж ниже плинтуса не надо наверное падать.
 
elibrarius:

Так 1 или все же 2 параметра? Одним параметром диапазон (от...до) сложно задать. Если только от=0 или до =бесконечность.
Если не код, то хотя бы принцип действия вашего ЗЗ опишите.

1 внешний параметр для управления индикатором. У меня диапазон цен это от нулевого бара до n бара. Этот диапазон своеобразно обрабатывается одним внешним параметром.

А внутреннее строение мне нет смысла всем показывать.

Не думаю, что кто то из вас стоящую готовую программу будет выкладывать. 

А вот о волновой структуре можно поговорить.

--------------

Поправил. В этот диапазон попадают несколько колен ЗЗ правильнее для меня волн.
 
Эх, Максим опять правду-матку режет.
 
Uladzimir Izerski:

1 внешний параметр для управления индикатором. У меня диапазон цен это от нулевого бара до n бара. Этот диапазон своеобразно обрабатывается одним внешним параметром.

А внутреннее строение мне нет смысла всем показывать.

Не думаю, что кто то из вас стоящую готовую программу будет выкладывать. 

А вот о волновой структуре можно поговорить.

--------------

Поправил. В этот диапазон попадают несколько колен ЗЗ правильнее для меня волн.
Приходит в голову такой вариант: Например за 100 баров определяем среднюю/максимальную высоту 10 баров, и считаем ее как пороговую для формирования нового колена. По сути это определение минимальной  высоты колена с учетом волатильности.
Или не 10 баров, а среднее колено предыдущих 5-10 колен. И т.п. вариации.
 

Зиг-заг на одном параметре: превышение минимального расстояния между предыдущим экстремумом и текущей ценой, в пунктах

struct sextr
   {
   datetime time;          //дата окончания волны
   double price;           //цена окончания волны
   int direction;          //направление волны +1/-1
   } Extremes[];

//записываем экстремумы в массив
void WriteExtremum(sextr &eExtremes[], double eDistance, string eSymbol, ENUM_TIMEFRAMES eTimeFrame, datetime eTime)
   {
   int eFinish=ArraySize(eExtremes)-1;
   int eShift=iBarShift(eSymbol,eTimeFrame,eTime);
   double eHigh=iHigh(eSymbol,eTimeFrame,eShift);
   double eLow=iLow(eSymbol,eTimeFrame,eShift);
   //если массив пустой
   if(eFinish<0)
      {
      ArrayResize(eExtremes,++eFinish+1);
      eExtremes[eFinish].time=eTime;
      eExtremes[eFinish].price=(eHigh+eLow)/2;
      eExtremes[eFinish].direction=0;
      }
   //если в массиве есть элементы
   else
      {
      //текущий элемент - максимум
      if(eExtremes[eFinish].direction==1)
         {
         //произошло обновление текущего экстремума
         if(eHigh-eExtremes[eFinish].price>0)
            {
            eExtremes[eFinish].time=eTime;
            eExtremes[eFinish].price=eHigh;
            }    
         else
            {     
            //произошло превышение расстояния между противоположными экстремумами
            if(eExtremes[eFinish].price-eLow>eDistance && eTime-eExtremes[eFinish].time>0)
               {
               ArrayResize(eExtremes,++eFinish+1,10000);
               eExtremes[eFinish].time=eTime;
               eExtremes[eFinish].price=eLow;
               eExtremes[eFinish].direction=-1;
               }
            }
         }
      //текущий элемент - минимум
      if(eExtremes[eFinish].direction==-1)
         {
         //произошло обновление текущего экстремума
         if(eExtremes[eFinish].price-eLow>0)
            {
            eExtremes[eFinish].time=eTime;
            eExtremes[eFinish].price=eLow;
            if(eFinish>0)
            }    
         else
            {     
            //произошло превышение расстояния между противоположными экстремумами
            if(eHigh-eExtremes[eFinish].price>eDistance && eTime-eExtremes[eFinish].time>0)
               {
               ArrayResize(eExtremes,++eFinish+1,10000);
               eExtremes[eFinish].time=eTime;
               eExtremes[eFinish].price=eHigh;
               eExtremes[eFinish].direction=1;
               }
            }
         }
      //эта ситуация, когда первый элемент не закрылся, и не понятно максимум это будет или минимум
      //если произошло превышение в любую сторону, тогда затираем значения первого элемента
      if(eExtremes[eFinish].direction==0)
         {         
         //произошло превышение расстояния между противоположными экстремумами
         if(eHigh-eExtremes[eFinish].price>eDistance)
            {
            eExtremes[eFinish].time=eTime;
            eExtremes[eFinish].price=eHigh;
            eExtremes[eFinish].direction=1;
            }            
         if(eExtremes[eFinish].price-eLow>eDistance)
            {
            eExtremes[eFinish].time=eTime;
            eExtremes[eFinish].price=eLow;
            eExtremes[eFinish].direction=-1;
            }
         }
      }   
   }
Причина обращения: