Волновое изменение цены

 
При проектирования индикатора обнаружил удивительную вещь цена  производит измение по волновому закону при эттом при построении индикатора четко видны как впадины так и вершины. .Кому интересна данная тема можно будет обсудить..
 
forte928:
При проектирования индикатора обнаружил удивительную вещь цена производит измение по волновому закону при эттом при построении индикатора четко видны как впадины так и вершины. .Кому интересна данная тема можно будет обсудить..

Можно Вас поздравить, Вы открыли волновую теорию.  Эллиот и Вильямсы рвут волосы. Может хоть индикатор покажите? - Обсудим.
 

никто их выводы не пытается приуменьшать..Просто то что получилось можно в дальнейшем великолепно использовать для торговли на минутных тиках причем прогноз как в ручном так и автоматическом варианте довольно прост нужно только немного доработка идея есть как доделать но необходимо выделить время..

Прилагаю индикатор но к сожалению просто очередную переработку основная идея в доработке..

Файлы:
 

Можно вкраце описать принцип торговли по индикатору?

 

Создается окно с индикатором и затем бросается еще един параметры диапазонов (8,5) (13,5) пробовал на EURUSD при пересечении проводим опирацию открытия ордера, так же само

 

Тиковый объем бара имеет в некоторой степени постоянство, а даже не периодичность. Зависимость между обемом и HIGH-LOW корелляционная, так что можно предположить размер бара. Осталось только определить CLOSE-OPEN ,будет + или -, но это уже другой вопрос.Чтобы не быть голословным небольшой график объемов по часам EURUSD60. При чем объемы возрастают от понедельнику к пятнице.

 

при детальном просмотре графиков (EURUSD) выявил интересную закономерность что при наличии флета перед самым началом тренда начинается всплеск который и приводит к началу тренда причем все индикаторы (DMI, FTLM, Ergodic CCI Triger) показываю начало всплеска и дальнейшее развитие волны как бокового тренда так и самого тренда..Причем при помощи индикатора Моментум можна отфильтровывать время наростания тренда и выход к точке максимума или же минимума до 1-2 тика до завершения волны..

 

Всем привет.

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

Пропали лишние и незначительные пересечения и изломы. Там где раньше он читался двояко сейчас вроде бы появилась определенность.

А вообще подход интересный. Специально сделаю эксперта для тестирования. А пока вот что я там наворотил - ничего особенного - простое Т3 сглаживание.

Попутного тренда и больших профитов.

//+------------------------------------------------------------------+
//|                                                   smSA_Price.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/"
// модернизация: Gep
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LawnGreen
#property indicator_color2 Gold
#property indicator_color3 FireBrick
 
extern int Range=8;
extern int Shift=3;
extern int OfPoint=0;
extern int Counter=300;
extern int t3_period=8;
extern double b=0.7;
 
double OpenBuf[];
double CloseBuf[];
//double PercentBuf[];
double PriceOpen,PriceClose,PriceMax,t3op,t3cl;
double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexBuffer(0,OpenBuf);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
   SetIndexBuffer(1,CloseBuf);
   IndicatorShortName("SA_Price("+Range+","+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_period;
 
   if (n<1) n=1;
   n = 1 + 0.5*(n-1);
   w1 = 2 / (n + 1);
   w2 = 1 - w1;
 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double UpValue=0;
   double UpPrev[5]={0,0,0,0,0};
   double DnValue=0;
   double DnPrev[5]={0,0,0,0,0};
   
   int Rx;
   if (Shift<=0) Shift=1;
   PriceMax=0;
   int    counted_bars=IndicatorCounted();
   if (Counter==0) Counter=Bars;
   
   for (int Ix=Counter-Range;Ix>=0;Ix--)
   {
      PriceOpen=0;
      PriceClose=0;
      for (Rx=Ix;Rx<=Ix+Range;Rx++)
      {
      PriceOpen=PriceOpen+(iOpen(NULL,0,Ix)-iClose(NULL,0,Rx+Shift))/iClose(NULL,0,Rx+Shift)*100;
      PriceClose=PriceClose+(iClose(NULL,0,Ix)-iOpen(NULL,0,Rx+Shift))/iOpen(NULL,0,Rx+Shift)*100;
      }
      e1 = w1*PriceOpen + 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;
    t3op = c1*e6 + c2*e5 + c3*e4 + c4*e3;
      OpenBuf[Ix]=t3op;
      
      e1 = w1*PriceClose + 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;
    t3cl = c1*e6 + c2*e5 + c3*e4 + c4*e3;      
      CloseBuf[Ix]=t3cl;
   }
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

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

 

Всем привет.

Ещё немного изврата и получилось то, что видно на скрине.

//+------------------------------------------------------------------+
//|                                                    smSA_Trig.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/"
// модернизация: Тартан
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 White
#property indicator_color4 White
 
extern int Range=8;
extern int Shift=3;
extern int OfPoint=0;
extern int Counter=300;
extern int t3_period=8;
extern double b=0.7;
extern int trup=3;
extern int trdn=-3;
double OpenBuf[];
double CloseBuf[];
double TrigUp[],TrigDn[];
double PriceOpen,PriceClose,PriceMax,t3op,t3cl,av,t3av;
double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3;
int pr;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM,0,3,Lime);
   SetIndexBuffer(0,OpenBuf);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,3,Red);
   SetIndexBuffer(1,CloseBuf);
   SetIndexStyle(2,DRAW_LINE,0,2,White);
   SetIndexBuffer(2,TrigUp);
   SetIndexStyle(3,DRAW_LINE,0,2,White);
   SetIndexBuffer(3,TrigDn);
   IndicatorShortName("smSA_Price("+Range+","+Shift+","+trup+","+trdn+")");
 
   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_period;
 
   if (n<1) n=1;
   n = 1 + 0.5*(n-1);
   w1 = 2 / (n + 1);
   w2 = 1 - w1;
 
   if (Point>0.0002) pr=2; else pr=4;
 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double UpValue=0;
   double UpPrev[5]={0,0,0,0,0};
   double DnValue=0;
   double DnPrev[5]={0,0,0,0,0};
   
   int Rx;
   if (Shift<=0) Shift=1;
   PriceMax=0;
   int    counted_bars=IndicatorCounted();
   if (Counter==0) Counter=Bars;
   
   for (int Ix=Counter-Range;Ix>=0;Ix--)
   {
      PriceOpen=0;
      PriceClose=0;
      for (Rx=Ix;Rx<=Ix+Range;Rx++)
      {
      PriceOpen=PriceOpen+(iOpen(NULL,0,Ix)-iClose(NULL,0,Rx+Shift))/iClose(NULL,0,Rx+Shift)*100;
      PriceClose=PriceClose+(iClose(NULL,0,Ix)-iOpen(NULL,0,Rx+Shift))/iOpen(NULL,0,Rx+Shift)*100;
      }
      e1 = w1*PriceOpen + 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;
    t3op = c1*e6 + c2*e5 + c3*e4 + c4*e3;
 
      
      e1 = w1*PriceClose + 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;
    t3cl = c1*e6 + c2*e5 + c3*e4 + c4*e3;  
    
    av= NormalizeDouble(((t3op+t3cl)/2),pr);
      
      e1 = w1*av + 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;
    t3av = c1*e6 + c2*e5 + c3*e4 + c4*e3;
    
    if (t3av>=0) {OpenBuf[Ix]=t3av;TrigUp[Ix]=trup;}
    if (t3av<0)  {CloseBuf[Ix]=t3av;TrigDn[Ix]=trdn;}   
      
   }
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

Попутного тренда и больших профитов.

 

Gep привет!

Да твоя доработка это класно но еще что-то нехватает, существують несколько класификаций движения тренда как я смог выявить :

1) полнейшее спокойствие рынка тобишь флет..

2) боковой тренд

3) тренд с затяжной тенденцией как при росте так и падении

и наконец 4) сам тренд будь то подъема или спада..

но сама суть в том что сам процесс свершившевося события (1-4) мы константируем при использовании индикаторов с запаздываниие в 2-4 тика это как минимум, но идея состоит сама в том что намечающиеся событие можно заранее определить по зараждающимся признакам. Вот и тот индикатор который ты доработал он дает тоже запаздывание но при этом если движение цены у нас есть волновой процесс то он как правило дает импульс на начало формирования более сильной волны будьто спад или подъем в это роли не играет а только определяется знаком волны..

Для бокового тренда я могу с опережение на 1 тик выявить вершину смены направления..

 

Привет.

Я тут посмотрел на днях и можно с уверенностью сказать, что при помощи твоего индикатора и индикатора Б.Вильямса - Фрактал на днях я иогу с точночтью до 1 бара показать вершину или подошву как говорят моряки волны. Посомтри на скрине я это пока зываю с помощью одного из своих индикаторов и подтверждаю твоим. Получается просто класс. Дай мыло пришлю этот индикатор, а выкладывать его здесь не буду. Он работает только на днях, т.к. там работаю я и предупреждает об этом. Если их использовать совместно, то веры сигналу много больше. Стрелка только предупреждение, что возможна смена глобально тренда и она будет стоять пока так и будет - работает по принципу гусеницыы на 50 барах. с 2-я стрелками и показом вершинок и впадин по Вильямсу. Попутного тренда и боьших профитов.