Петля Мёбиуса - страница 927

mvf358 #:
Кольцо это 8 валют куплено и 8 продано это даже подтвердил математик Роман.ладно вы мне не верите но математику Роману вы тоже не верите?

не 

;)

AntonR85 #:
Зря вы так, "артефакты" все таки "встречаються".
Что это, чья-то кардиограмма?
moskitman #:

Где искать и как добыть то, чего не может быть?
Ведь его ж на свете нету, сколько Землю не копыть...©

Что там делать? Что вы там ищете?

Роем вместе!!! Нарою ок - сообщу, тож смотрите.... 
moskitman #:
Что это, чья-то кардиограмма?

Ройте не останавливайтесь!!! ))) Синус, как и прочие торги - шире кольца ) 

Кольцо - частный случай синуса ) (и то не правильно трактованный и коэффы не правильно подобраны были.... у кольца  )

Roman Shiredchenko #:
Роем вместе!!!

Что? Что вы роете??? 

Roman Shiredchenko #:
Нарою ок - сообщу, тож смотрите.... 

Ааа, ну ладно, мож хоть узнаю что искали...

moskitman #:

Что? Что вы роете??? 

Ааа, ну ладно, мож хоть узнаю что искали...

торги по синусу - подбираю по графу символы и коэффы на торги! Уже многое нашел - расторговываю и виртуальные торги сделал - спалю в личку как настройки закончу.... МТ5 естественно!

moskitman #:

Что? Что вы роете??? 

Ааа, ну ладно, мож хоть узнаю что искали...

Вечный профит
Roman Shiredchenko #:

торги по синусу - подбираю по графу символы и коэффы на торги! Уже многое нашел - расторговываю и виртуальные торги сделал - спалю в личку как настройки закончу.... МТ5 естественно!

То есть я правильно понимаю, что формализованных правил отбора у вас нет и вы смотрите "на глазок" можно ли торговать, если продолжится также?
mvf358 #:
Вечный профит
Отрицательный?

может быть такая комбинация синуса поможет автору топика найти свой перпентум мобиле? возможно это то что он ищет. шестая пара это USDCAD. я думаю можно обойтись без USDJPY. расчеты лотов упростятся 

1

//+------------------------------------------------------------------+
//|                                                        USDXM.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property strict
#property indicator_separate_window
//--- indicator settings
#property indicator_buffers 2
#property indicator_type1   DRAW_LINE
#property indicator_color1  DarkGray
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  DarkGray
#property indicator_style2  STYLE_DOT
#property indicator_width2  1

#property indicator_levelcolor Silver
#property indicator_levelstyle STYLE_DOT
#property indicator_levelwidth 1
#property indicator_level1 0.0

//--- indicator parameters
input int  Count_bars       = 288;       // Count bars
input int  SMA_period       = 20;        // SMA period
input bool Reverse=true;                // Reverse chart
input bool CloseOpen=true;               // (close+open)/2
input int  InpMATimeframes=PERIOD_CURRENT;    // Binding to:
//--- indicator buffers
double Buffer0[],Buffer1[],Buffer2[],prevsum,previous;
string symbol[]= {"EURUSD","GBPUSD","USDCHF","AUDUSD","NZDUSD","USDJPY","USDCAD"};
double weight[]= {-1,-1,1,-1,-1,1,1};
int p,c;
double overturn=1.0;
uchar e;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   IndicatorDigits(5);
   IndicatorBuffers(3);
   SetIndexBuffer(0,Buffer0);
   SetIndexBuffer(1,Buffer1);
   SetIndexBuffer(2,Buffer2);
//---
// SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Lime);
// SetIndexStyle(1,DRAW_LINE,STYLE_DOT,1,DarkGray);
//---
   string text="USDX_ ";
   if(Reverse)
     {
      overturn=-1;
      text="-USDX_ ";
     }
   else
     {
      int q=0;
      string s=_Symbol;
      for(q=0; q<7; q++)
        {
         if(s==symbol[q])
           {
            if(weight[q]<0)
              {
               overturn=-1;
               text="-USDX_ ";
               break;
              }
           }
        }
     }
   if(SMA_period<1)
      p=1;
   else
      p=SMA_period;
//---
   IndicatorShortName(text);
   SetIndexLabel(0,text);
   SetIndexLabel(1,"SMA("+string(SMA_period)+")");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   string symb="n";
   int i,n,shift,limit;
   int counter=0;
   double value=0;
   double sum=0;
   double v=0;
   double x=0;
   int g=Count_bars;
   if(rates_total<g)
      g=rates_total;
//---
   c++;
   if(rates_total==prev_calculated)
     {
      if(e!=0 || c<20)
         limit=g-2;
      else
         limit=0;
     }
   else
      limit=g-2;
//---
   for(i=limit; i>=0; i--)
     {
      Buffer0[i]=EMPTY_VALUE;
      Buffer1[i]=EMPTY_VALUE;
      value=1;
      for(n=0; n<7; n++)
        {
         symb=symbol[n];
         shift=iBarShift(symb,InpMATimeframes,time[i],true);
         if(shift==EMPTY)
           {
            value=0;
            break;
           }
         else
           {
            x=weight[n];
            if(CloseOpen==true)
              {
               if(n==5)
                  value*=MathPow((iClose(symb,InpMATimeframes,shift)+iOpen(symb,InpMATimeframes,shift))/200,x);
               else
                  value*=MathPow((iClose(symb,InpMATimeframes,shift)+iOpen(symb,InpMATimeframes,shift))/2,x);
              }
            else
              {
               if(n==5)
                  value*=MathPow(iClose(symb,InpMATimeframes,shift),x)/100;
               else
                  value*=MathPow(iClose(symb,InpMATimeframes,shift),x);
              }
           }
        }
      //---
      if(value==0)
        {
         e=1;
         if(counter>0)
           {
            Buffer0[i]=Buffer0[i+1];
            Buffer1[i]=Buffer1[i+1];
           }
         continue;
        }
      e=0;
      value=overturn*MathPow(value,0.1428571);
      Buffer0[i]=value;
      Buffer2[counter]=value;
      if(counter>=p)
        {
         if(i==0)
            prevsum=sum-Buffer2[counter-p];
         sum+=value-Buffer2[counter-p];
         v=sum/p;
         Buffer1[i]=v;
        }
      else
         sum+=value;
      counter++;
     }
//---
  // if(limit==0 && counter==1)
  //    Buffer1[0]=(prevsum+value)/p;

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+