FOREX - Тенденции, прогнозы и следствия 2017 - страница 467

 
Lesorub:

а по луню КУКЛ все пустил на самотек, без заморочек:



По старой картинке верх не зацепили, сейчас туда?
 

Всем удачи и успехов в торговле, и чтоб в вашем торговом терминале за день всё выглядело примерно так и более:

пока...

 
sterva:

По старой картинке верх не зацепили, сейчас туда?

аукцион на часе:


 
Lesorub:

аукцион на часе:



Понятно...Отложек и так пока много.

Поищу пока еще что-нибудь.) Спасибо.

 
sterva:


Понятно...Отложек и так пока много.

Поищу пока еще что-нибудь.) Спасибо.

например?
 
Lesorub:
например?


Я про кроссы.

Пардон, непонятно выразилась.

 
sterva:


Я про кроссы.

Пардон, непонятно выразилась.

Не надо жадничать, не к добру...
 



//+------------------------------------------------------------------+
//|                               КВАНТОВОЕ ПРЕОБРАЗОВАНИЕ ЦЕНЫ      |
//|                              ИСПОЛЬЗОВАТЬ от 1мс до  M1          |
//|                             КАЧЕСТВО ПРЕДСКАЗАННОЙ ЦЕНЫ 99%      |
//+------------------------------------------------------------------+
#property copyright "ЛАБАРАТОРИЯ КВАНТОВЫХ ВЫЧИСЛЕНИЙ"

#property indicator_chart_window
#property indicator_buffers 8

extern int T=4444;
extern int shift=0;
extern bool showprofit=true;
extern bool alert=false;

int Tmin=20;
int bars=0;
int flagdrow=1;
int Ti;
int TLR;

double aa,bb,w;
double pi=1;
double ak0,ak[],bk[],spectr[],prognoz[];
double profit[];

int deinit()
  {
  
  ObjectDelete("time_line");  
  ObjectDelete("price_line");
  
   return(0);
  }

int start()
  {
   
if ((T+shift)>Bars) T=Bars-shift;
if (shift==0) showprofit=false;
   
   
if (bars==0)
{

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3,DarkOrange);
SetIndexBuffer(0, prognoz);
SetIndexStyle(1,DRAW_NONE);
SetIndexBuffer(1, ak);
SetIndexStyle(2,DRAW_NONE);
SetIndexBuffer(2, bk);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3, spectr);
SetIndexStyle(4,DRAW_LINE,STYLE_SOLID,1,DodgerBlue);
SetIndexBuffer(4,profit);

int count=0;

double h3[],ak3[],bk3[],aabuf[],bbbuf[],ak0buf[]; int Tbuf[]; 

ArrayInitialize(prognoz,EMPTY_VALUE);


ArrayResize(h3,T/3);
ArrayResize(ak3,T/3);
ArrayResize(bk3,T/3);
ArrayResize(aabuf,T/3);
ArrayResize(bbbuf,T/3);
ArrayResize(ak0buf,T/3);
ArrayResize(Tbuf,T/3);

ArrayInitialize(h3,0.0);
ArrayInitialize(ak3,0.0);
ArrayInitialize(bk3,0.0);
ArrayInitialize(aabuf,0.0);
ArrayInitialize(bbbuf,0.0);
ArrayInitialize(ak0buf,0.0);
ArrayInitialize(Tbuf,0.0);


while (T>=Tmin)
{
   ArrayInitialize(ak,EMPTY_VALUE);
   ArrayInitialize(bk,EMPTY_VALUE);
   ArrayInitialize(spectr,0.0);
   SetIndexShift(0,TLR-shift);
   SetIndexShift(4,TLR-shift);

   
   Ti=T+1;
   af_LR(Ti,shift);
   w=2*pi/Ti;
   af_FT(Ti,shift);
      
   for (int i=2;i<6;i++) {spectr[i]=MathPow(ak[i]*ak[i]+bk[i]*bk[i],0.5)/2;}   
   
   if (ArrayMaximum(spectr)==3)
   {
      h3[count]=spectr[3];
      ak3[count]=ak[3];
      bk3[count]=bk[3];
      Tbuf[count]=T;
      if (flagdrow==1) {aabuf[count]=aa; bbbuf[count]=bb; ak0buf[count]=ak0;}
      count++;

   }
   
   if (ArrayMaximum(spectr)!=3 && count!=0)
   {
   
      count=0;
      int amax=ArrayMaximum(h3);
      w=2*pi/(Tbuf[amax]+1);

      if (flagdrow==0)
      {
         if (alert==true) Alert(Tbuf[amax]/3);

         for (i=Tbuf[amax]/3; i>=0; i--) 
         {
            prognoz[TLR-Tbuf[amax]/3+i]+=ak3[amax]*MathCos(3*i*w)+bk3[amax]*MathSin(3*i*w)
                                        -ak3[amax]*MathCos(Tbuf[amax]*w)-bk3[amax]*MathSin(Tbuf[amax]*w);
            
         }
         ArrayInitialize(h3,0.0);
         ArrayInitialize(ak3,0.0);
         ArrayInitialize(bk3,0.0);
         ArrayInitialize(Tbuf,0.0);
      }

      if (flagdrow==1) 
      {
         if (alert==true) { Alert("---- start new cycle ----");Alert(Tbuf[amax]/3);}

         for (i=Tbuf[amax]/3; i>=0; i--) 
         {
            prognoz[i]=0.0;
            prognoz[i]+=ak3[amax]*MathCos(3*i*w)+bk3[amax]*MathSin(3*i*w);
            prognoz[i]+=bbbuf[amax]+aabuf[amax]*(i-Tbuf[amax]/3)+ak0buf[amax];
         }
         flagdrow=0;
         TLR=Tbuf[amax]/3;
         
         ArrayInitialize(h3,0.0);
         ArrayInitialize(ak3,0.0);
         ArrayInitialize(bk3,0.0);
         ArrayInitialize(Tbuf,0.0);
      }
   }
   
T--;
}

double delta=Close[shift]-prognoz[TLR];
for (i=TLR;i>=0;i--) {prognoz[i]+=delta;}


//*********Рассчет массива прибыли profit[]******************************

if (showprofit==true)
{

   for (i=TLR-1; i>=0; i--)
   {
      double i1=prognoz[i];
      double i2=prognoz[i-1];
      
      profit[TLR]=Close[shift];
      
      double tlri=TLR-i;
      
      if (shift>=tlri)
      {
         if (i1>i2) 
         {
            profit[i]=profit[i+1]+Open[shift-TLR+i]-Close[shift-TLR+i];
         }
     
         if (i1<i2) 
         {
            profit[i]=profit[i+1]-Open[shift-TLR+i]+Close[shift-TLR+i];
         }
      
         if (i1==i2) 
         {
            profit[i]=profit[i+1];
         }
         
      }
   }
   
   int prlnt; if (TLR>=shift) {prlnt=0;} else {prlnt=shift-TLR;}
   
   ObjectCreate("price_line",OBJ_TREND,0,Time[shift],Close[shift],Time[prlnt],Close[shift]);
   ObjectSet("price_line",OBJPROP_RAY,false);
   ObjectSet("price_line",OBJPROP_COLOR,DodgerBlue);
   ObjectCreate("time_line",OBJ_VLINE,0,Time[shift],0);
   ObjectSet("time_line",OBJPROP_STYLE,2);
   ObjectSet("time_line",OBJPROP_COLOR,DarkOrange);
   
}
//**********************************************************************

bars=Bars;
}
return(0);
}


//*******************************************************************
void af_FT(int T,int i0)
{
   int i,k;
   double sum_cos,sum_sin,dci; 
   
   ak0=0.0; 
   for (i=0; i<T; i++) ak0+=Close[i+i0]-bb-aa*i; 
   ak0=ak0/T; 

   for (k=1; k<=6; k++) 
   { 
      sum_cos=0.0; 
      sum_sin=0.0;  
      for (i=0; i<T; i++) 
      {
         dci=Close[i+i0]-bb-aa*i;
         sum_cos+=dci*MathCos(k*i*w); 
         sum_sin+=dci*MathSin(k*i*w);
      }
      ak[k]=sum_cos*2/T; 
      bk[k]=sum_sin*2/T; 
   }
}

//*******************************************************************
void af_LR(int p,int i) // af_LR(Ti,i0)
   double sx=0,sy=0,sxy=0,sxx=0;
   
   if (p<2) p=2;
   for (int n=0; n<p; n++) 
   {
      sx+=n; 
      sy+=Close[n+i]; 
      sxy+=n*Close[n+i]; 
      sxx+=n*n; 
   }   
   aa=(sx*sy-p*sxy)/(sx*sx-p*sxx);
   bb=(sy-aa*sx)/p;
}

 
Renat Akhtyamov:
Не надо жадничать, не к добру...


Все понятно.....

Питон уполз.............. или сам убрал?))

(где денег взять?)

 
sterva:


Все понятно.....

Питон уполз.............. или сам убрал?))

(где денег взять?)

ничо я не убирал. просто написал прогу и котир задумался надолго... об этом было.

Стерва, пойми, кросс - это обычный коэффициент меж мажорами, т.е. график между ними, собственно составляющая твоего эквити. И попробуй только обманись, т.е. не правльно открой кросс (2 варианта всего - бай/селл), как получишь треугольник, т.е. 100% убыток. Если у тебя открыты мажоры, то лучше забудь про кроссы.

Сааамый лучший вариант - торговля одной парой! Только в этом случае будет не важно - кросс это или мажор.
Причина обращения: