Methoden zur Identifizierung einer Wohnung und eines Trends. - Seite 11

 
Алексей Тарабанов:

In jedem Terminal. Aber wenn Sie auf Tage schauen, müssen Sie auf Wochen schauen.

Ich bin mir nicht sicher, ob ich genau verstanden habe, was Sie meinen.

 
Ich auch.
 
Artem Likhachev:
Es gibt im Moment keinen Trend oder ein Flat, es gibt nur den Marktzustand, der sich aus dem Verhältnis von Tops und Bottoms in einer bestimmten Menge und aus dem Verhältnis zueinander ergibt. Nur die Geschichte gibt uns die Definition einer Flaute oder eines Trends.

Da bin ich anderer Meinung als Sie. Hier ist ein Vorschlag: Wenn jemand diesen Indikator ein wenig optimieren kann, hier ist das Szenario:

Es gibt nur 2 Grundpositionen in diesem Indikator - aufwärts (grün) und abwärts (rot) und selten gibt es weiß. Es ist also notwendig, den Indikator so einzustellen, dass, wenn der Preis ohne Bewegung ist, die Farbe weiß und es beginnt 1-Minuten-Chart, und endet 4-Stunden, ist die durchschnittliche Bewegung - die Farbe gelb, ist eine starke Bewegung der Farbe grün (oben) und die Farbe rot (unten). Vom Tages- zum Monatschart ist die Richtung einfach dieselbe. Aber wir können die folgende Option für diese Zeitrahmen verwenden: wenn der Preis unter dem mittleren Balken ist - Farbe rot, über - grün, sogar (50x50) - blau. Dann wird es möglich sein, zu beurteilen, wie es um den Markt bestellt ist. Der Indikator ist beigefügt.

Dateien:
 
Es gibt überhaupt keinen Trend und keine Wohnung. Es gibt einen Trend mit einem Zeithorizont von 1 Monat oder 1 Tag und eine Flaute mit ungefähr demselben Zeithorizont. Hinweis - genau am Horizont, nicht zu verwechseln mit Zeitrahmen - sie können beliebig sein, aber kleiner als der Horizont. [Kotelnikov].
 
Алексей Тарабанов:
Es gibt überhaupt keinen Trend und keine Wohnung. Es gibt einen Trend mit einem Zeithorizont von 1 Monat oder 1 Tag und eine Flaute mit demselben Zeithorizont. Hinweis: Die Horizonte sind nicht zu verwechseln mit den Zeitrahmen - sie können beliebig sein, aber kleiner als der Horizont. [Kotelnikov].

Sie haben wahrscheinlich immer noch nicht verstanden, was ich geschrieben habe, lesen Sie es genau, ich habe nicht von irgendwelchen Horizonten geschrieben, sondern von Echtzeit.

 

Was muss jedoch im Code geändert werden, um Folgendes zu erreichen?

Es gibt nur 2 Hauptpositionen in diesem Indikator - aufwärts (grün) und abwärts (rot) und selten gibt es weiß. Es ist also notwendig, den Indikator so einzustellen, dass, wenn der Preis ohne Bewegung ist, die Farbe weiß und es beginnt 1-Minuten-Chart, und endet 4-Stunden, ist die durchschnittliche Bewegung - die Farbe gelb, ist eine starke Bewegung der Farbe grün (oben) und die Farbe rot (unten). Vom Tages- zum Monatschart ist die Richtung einfach dieselbe. Aber wir können die folgende Option für diese Zeitrahmen verwenden: wenn der Preis unter dem mittleren Balken ist - Farbe rot, über - grün, sogar (50x50) - blau. Dann wird es möglich sein, die Marktlage zu beurteilen und eine spezifische Analyse vorzunehmen.

//+------------------------------------------------------------------+
//|                                           All against all.v4 mg4 |                   
//|                                                  vorese          |
//|                                              vorese@yandex.ru    |
//+------------------------------------------------------------------+
#property indicator_chart_window
extern string symbol="EUR";// любая валюта
extern string note="Period_(0,M1,M5,M15,M30,H1,H4,D1,W1,MN)";
extern string period_="0";//M1,M5,M15,M30,H1,H4,D1,W1,MN . Если 0- период текущего графика.
extern int X_DISTANCE=0; // располож. по горизонтали
extern int Y_DISTANCE=0; // располож. по вертикали
extern color border_color=Black; // цвет рамки 
extern color text_color=Black; // цвет верхней строки 
extern color CurrCol_up=Aqua; // цвет обозн.валюты и % растущего бара 
extern color CurrCol_down=Gold; // цвет обозн.валюты и % падающего бара
extern bool colorRB_RG=false;  //цвет гистограммы. true- красный синий.false- красный зеленый.
extern bool invertColGist=true;//инверт. цвета гистограммы
extern bool brightness_gradation=false;//градации яркости
//========используемые вал.пары =======================================
// можно удалять и добавлять любые валютные пары , в любой последовательности .
// В  currency_pair[] и в  count_curr должно быть указано 
// кол-во имеющихся в массиве валютных пар. 
string currency_pair[6]= {"EURUSD","GBPUSD","EURGBP","GBPCHF","EURCHF","USDCHF"};
int count_curr=6; // количество вал.пар 
//=====================================================================
string mas_pair[7]; 
int mas_flags [7]; 
string mas_currency[7]; 
int total; 
//---------------------------------------------------------------------   
int line_x[5]={3,13,23,67,80};// координаты горизонт.линий
int TF;
color color_currency,col_00;
//=====================================================================
int init()
  {
//--------------валютные пары------------------------------------------ 
    for(int i=0;i<count_curr;i++)
     { 
            if(StringSubstr(currency_pair[i],0,3)==symbol) 
                { mas_pair[total]=currency_pair[i];
                    mas_flags[total]=(-1);
                      mas_currency[total]=StringSubstr(currency_pair[i],3,0);
                        total+=1;    }
           if(StringSubstr(currency_pair[i],3,0)==symbol) 
                { mas_pair[total]=currency_pair[i];
                    mas_flags[total]=1;
                      mas_currency[total]=StringSubstr(currency_pair[i],0,3); 
                        total+=1;    }    
                                         }
 //--------------- период --------------------------------------------
      if(period_=="M1")TF=1;
   else {
      if(period_=="M5")TF=5;
   else {
     if(period_=="M15")TF=15;
   else {
     if(period_=="M30")TF=30;
   else {
     if(period_=="H1")TF=60;
   else {
     if(period_=="H4")TF=240;
   else {
     if(period_=="D1")TF=1440;
   else {
     if(period_=="W1")TF=10080;
   else {
     if(period_=="MN")TF=43200;
   else {
     if(period_=="0")TF=0;
   else {  Alert("Ошибка установки периода:  "+period_);
                     }}}}}}}}}}
 //-------------------------------------------------------------------  
   // создать горизонт. линии
  for(int x=0;x<5;x++)  {
  if(x!=3)col_00=border_color;
  else
       col_00=text_color;
   ObjectCreate(symbol+"line-x"+x+period_, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"line-x"+x+period_, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"line-x"+x+period_, OBJPROP_XDISTANCE,X_DISTANCE+7);
   ObjectSet(symbol+"line-x"+x+period_, OBJPROP_YDISTANCE, Y_DISTANCE+line_x[x]);
   ObjectSetText(symbol+"line-x"+x+period_,"_________________",7,"Verdana",col_00); 
                     }
 //---------------------------------------------------------------------
   // создать вертикал. линии
   int c,y,r;
      for(c=0;c<2;c++) {
        if(c==1)r=103;
      for( y=0;y<4;y++)  {
   ObjectCreate(y+symbol+"line-y"+c+period_, OBJ_LABEL, 0, 0, 0);
   ObjectSet(y+symbol+"line-y"+c+period_, OBJPROP_CORNER, 3);
   ObjectSet(y+symbol+"line-y"+c+period_, OBJPROP_XDISTANCE,X_DISTANCE+1+r);
   ObjectSet(y+symbol+"line-y"+c+period_, OBJPROP_YDISTANCE, Y_DISTANCE+3+y*19);
   ObjectSetText(y+symbol+"line-y"+c+period_,"|",16,"Verdana",border_color); }
                     } 
  //--------------------------------------------------------------------- 
  // текст                     
   ObjectCreate(symbol+"text"+period_, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"text"+period_, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"text"+period_, OBJPROP_XDISTANCE,X_DISTANCE+38);
   ObjectSet(symbol+"text"+period_, OBJPROP_YDISTANCE, Y_DISTANCE+68); 
   ObjectSetText(symbol+"text"+period_,symbol+"_"+period_,7,"Verdana",text_color);                                                          
   return(0);
  }                               
//=======================================================================
int deinit()
  { 
    int n,m;
      for( n=0;n<7;n++)  // удалить все об'екты 
     {  
       ObjectDelete(symbol+"perc"+n+period_);
       ObjectDelete(symbol+"curr"+n+period_);
       if(n<5) ObjectDelete(symbol+"line-x"+n+period_);  
  //------       
      for( m=0;m<=20;m++)
     {
       ObjectDelete(m+symbol+"gist"+n+period_);
       if(m<2 && n<4) ObjectDelete(n+symbol+"line-y"+m+period_);
                               } } 
       ObjectDelete(symbol+"text"+period_);                        
   return(0);
  }
//======================================================================
int start()
  {
  int i,w,z;
  double percent,bid,open,high,low; 
  int flag,count;  
  for( z=0;z<total;z++)  
    { 
      for( w=0;w<=20;w++) {
       ObjectDelete(w+symbol+"gist"+z+period_); //удалить гистограмму перед обновлением
                              }  
   percent=0; 
   flag=0;
   count=0;           
//---------------------------------------------------------------------
     // обновить данные
    RefreshRates();
    bid=MarketInfo(mas_pair[z], MODE_BID );
    open=iOpen(mas_pair[z],TF,0);
    high=iHigh(mas_pair[z],TF,0);
    low=iLow(mas_pair[z],TF,0);   
//---------------------------------------------------------------------  
    // расчет процентов
   if(bid>open && high!=open && bid>0)   
       { percent=(bid-open)/(high-open)*100; // проц.растущего бара
         flag=1;
         count=NormalizeDouble(percent/5,0); }
       else {
         if(bid<open && low!=open && bid>0)
       { percent=(open-bid)/(open-low)*100; // проц.падающего бара
         flag=(-1);  
         count=NormalizeDouble(percent/5,0); } }
//-------------------------------------------------------------------- 
         // при переключении ТФ//
    if(percent>100)percent=100; 
    if(count>20)count=20; 
 //-------------------------------------------------------------------     
         // инверт.цвета гистограммы
   if(invertColGist) flag=flag*mas_flags[z]*(-1);  
      else
         flag=flag*mas_flags[z];   
//-------------------------------------------------------------------- 
     //-- цвет валюты и процентов
  if(flag==1)color_currency=CurrCol_up;
    else {
    if(flag==(-1))color_currency=CurrCol_down;
    else {
          color_currency=text_color;  }}
//--------------------------------------------------------------------
 if(bid>0)  {           //если вал. пара есть в терминале
  // проценты     
   ObjectCreate(symbol+"perc"+z+period_, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"perc"+z+period_, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"perc"+z+period_, OBJPROP_XDISTANCE,X_DISTANCE+94-z*14);
   ObjectSet(symbol+"perc"+z+period_, OBJPROP_YDISTANCE, Y_DISTANCE+15);
   ObjectSetText(symbol+"perc"+z+period_,DoubleToStr(percent,0),5,"Verdana",color_currency); 
                   }
//-------------------------------------------------------------------- 
  // валюта   
   ObjectCreate(symbol+"curr"+z+period_, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"curr"+z+period_, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"curr"+z+period_, OBJPROP_XDISTANCE,X_DISTANCE+94-z*14);
   ObjectSet(symbol+"curr"+z+period_, OBJPROP_YDISTANCE, Y_DISTANCE+5);
   ObjectSetText(symbol+"curr"+z+period_,mas_currency[z],4,"Verdana",color_currency);        
//--------------------------------------------------------------------- 
  // гистограмма 
     for( i=0;i<=count;i++) {  
   ObjectCreate(i+symbol+"gist"+z+period_, OBJ_LABEL, 0, 0, 0);
   ObjectSet(i+symbol+"gist"+z+period_, OBJPROP_CORNER, 3);
   ObjectSet(i+symbol+"gist"+z+period_, OBJPROP_XDISTANCE,X_DISTANCE+91-z*14);
   ObjectSet(i+symbol+"gist"+z+period_, OBJPROP_YDISTANCE, Y_DISTANCE+3+i*2);
   ObjectSetText(i+symbol+"gist"+z+period_,"-",30,"Verdana",f_Color(i,flag));  
                       } }  
//---------------------------------------------------------------------                     
   return(0);
  }
//=====================================================================

//============ цвет синий красный зеленый==============================      
color f_Color (int num,int flag) 
{   color col_R,col_B,col,col_G;
if(!brightness_gradation ) {
 if(flag==1 && colorRB_RG)col=Blue;
     else {
      if(flag==1 && !colorRB_RG)col=Lime;
       else {
        if(flag==(-1)) col=Red; 
         else {
           col=text_color;  }}}  }
     else {      
  switch(num) 
  { case 0: col_B=C'0,0,255';col_R=C'255,0,0';col_G=C'0,90,0';break; 
    case 1: col_B=C'0,10,255';col_R=C'255,10,0';col_G=C'0,100,0';break; 
    case 2: col_B=C'0,20,255';col_R=C'255,20,0';col_G=C'0,110,0';break; 
    case 3: col_B=C'0,30,255';col_R=C'255,30,0';col_G=C'0,120,0';break; 
    case 4: col_B=C'0,40,255';col_R=C'255,40,0';col_G=C'0,130,0';break; 
    case 5: col_B=C'0,50,255';col_R=C'255,50,0';col_G=C'0,140,0';break; 
    case 6: col_B=C'0,60,255';col_R=C'255,60,0';col_G=C'0,150,0';break; 
    case 7: col_B=C'0,70,255';col_R=C'255,70,0';col_G=C'0,155,0';break; 
    case 8: col_B=C'0,80,255';col_R=C'255,80,0';col_G=C'0,160,0';break; 
    case 9: col_B=C'0,90,255';col_R=C'255,90,0';col_G=C'0,165,0';break; 
    case 10: col_B=C'0,100,255';col_R=C'255,100,0';col_G=C'0,170,0';break; 
    case 11: col_B=C'0,110,255';col_R=C'255,110,0';col_G=C'0,175,0';break; 
    case 12: col_B=C'0,120,255';col_R=C'255,120,0';col_G=C'0,180,0';break; 
    case 13: col_B=C'0,130,255';col_R=C'255,130,0';col_G=C'0,185,0';break; 
    case 14: col_B=C'0,140,255';col_R=C'255,140,0';col_G=C'0,190,0';break; 
    case 15: col_B=C'0,150,255';col_R=C'255,150,0';col_G=C'0,195,0';break; 
    case 16: col_B=C'0,160,255';col_R=C'255,160,0';col_G=C'0,200,0';break; 
    case 17: col_B=C'0,170,255';col_R=C'255,170,0';col_G=C'0,205,0';break; 
    case 18: col_B=C'0,180,255';col_R=C'255,180,0';col_G=C'0,210,0';break; 
    case 19: col_B=C'0,190,255';col_R=C'255,190,0';col_G=C'0,215,0';break; 
    case 20: col_B=C'0,200,255';col_R=C'255,200,0';col_G=C'0,220,0';break; 
   
    } 
    if(flag==1 && colorRB_RG)col=col_B;
     else {
      if(flag==1 && !colorRB_RG)col=col_G;
       else {
        if(flag==(-1)) col=col_R; 
         else {
           col=text_color;  }}}  }
  return(col); }  
 //------------------------------------------------------------------------ 
 

Ich habe nicht verstanden, welche Zeitspanne ein Flat und ein Trend benötigen, um zu bedeuten, dass sich der Preis bewegt?
eine Welle ist auch ein Mikrotrend hin und her.

Es scheint alles individuell zu sein. Einige Händler haben eine Flaute und einen Trend, während andere Trends haben.)

 
Eugene Bufetchikov:

Ich habe nicht verstanden, welche Zeitspanne ein Flat und ein Trend benötigen, um zu bedeuten, dass sich der Preis bewegt?
eine Welle ist auch ein Mikrotrend hin und her.

Es scheint alles individuell zu sein. Manche Menschen haben eine Flaute und einen Trend, während andere einen Trend haben.)

Im Moment beweise ich niemandem etwas, sondern bitte nur darum, den Indikator wie oben beschrieben zu optimieren. Und danach werde ich meine Meinung und eine detaillierte Analyse mit Bildern posten.

 
Алексей Тарабанов:
Es gibt überhaupt keinen Trend und keine Wohnung. Es gibt einen Trend mit einem Zeithorizont von 1 Monat oder 1 Tag und eine Flaute mit demselben Zeithorizont. Hinweis - genau am Horizont, nicht zu verwechseln mit Zeitrahmen - sie können beliebig sein, aber kleiner als der Horizont. [Kotelnikov]

Interessante Theorie, bis zu einem gewissen Grad richtig, aber jeder sucht nach der Definition von Bewegung...

bar Vladimir:

Im Moment beweise ich niemandem etwas, sondern bitte nur darum, den Indikator wie oben beschrieben zu optimieren. Und danach werde ich meine Meinung und eine ausführliche Analyse mit Bildern veröffentlichen.

Ich verstehe den Code nicht wirklich, aber meiner Meinung nach sollte ich einfach die Farbänderungsstufen optimieren, einen breiteren Korridor für den Durchschnittswert angeben und die Prozentberechnung ändern

 
ElenaVVT:

Interessante Theorie, bis zu einem gewissen Grad richtig, aber jeder sucht nach der Definition von Bewegung...

Ich verstehe den Code nicht wirklich, aber ich denke, Sie müssen nur die Stufen der Farbveränderung optimieren, einen größeren Korridor für den Durchschnittswert angeben und die Prozentberechnung ändern

Habe ich das nicht schon alles klar erklärt? Alles wird gut aussehen! Auf diesem Markt kann man nicht in die Zukunft schauen! Nur in Echtzeit! Die Nachrichten gehen nur über die Haltestellen, die Ihr Geld verwittern!

Grund der Beschwerde: