Индикаторы: Stochastic-X8.4 - страница 2

 
REXX:
Если не затруднит, сделайте пожалуйста индикатор не гистограммой, а линией.

Ну, для этого нужно зайти в листинг программы с помощью Метаедитора. Сохранить файл под новым названием "Сохранить как". Найти строчку:

 SetIndexStyle (0, 2, 0, 2); 

заменить её на

SetIndexStyle (0, 0, 0, 0); 

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

 
lukas1:
REXX:
Если не затруднит, сделайте пожалуйста индикатор не гистограммой, а линией.

Ну, для этого нужно зайти в листинг программы с помощью Метаедитора. Сохранить файл под новым названием "Сохранить как". Найти строчку:

 SetIndexStyle (0, 2, 0, 2); 

заменить её на

SetIndexStyle (0, 0, 0, 0); 

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


Спасибо!
 
Что-то на мою просьбу никто не отреагировал, может кто-то так же подскажет как раскрасить понижающиеся и повышающиеся бары гистограммы в разные цвета? Пожалуйста, очень надо.
 
Rus:
Что-то на мою просьбу никто не отреагировал, может кто-то так же подскажет как раскрасить понижающиеся и повышающиеся бары гистограммы в разные цвета? Пожалуйста, очень надо.

Держи цветную гистограмму

//+------------------------------------------------------------------+
//|                                       Custom Stochastic-X8.4.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//|     Make in Russia by lukas1 aka Victor Lukashuk / lukas1@ngs.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1  White
#property indicator_color2  Violet
#property indicator_color3  Blue
#property indicator_color4  Red
#property indicator_color5  Green
#property indicator_color6  Gold
#property indicator_color7  White
#property indicator_color8  Lime
#property indicator_level1  35
#property indicator_level2  15
#property indicator_level3  -15
#property indicator_level4  -35
#property indicator_maximum  50
#property indicator_minimum -50
//---- indicator parameters
extern int Stoch_D=5; //parameter of D stoch.
extern int Stoch_K=1;  //parameter of signal line.
extern int Stoch_S=5;  //parameter of S stoch.
extern int SignalLMA=5;
extern double Koef=1.2;
//---- indicator buffers
double Buf7[],Buf8[],SignalBuffer[];
double D10,D11,D12,D13,D14,D15,D16,D17;
double K10,K11,K12,K13,K14,K15,K16,K17;
double S10,S11,S12,S13,S14,S15,S16,S17;
double ExtBufferDN[],ExtBufferUP[];
double CLDN[],CLUP[],CO[];
double BbLo[],BbUp[],BbDn[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name=WindowExpertName(),
          sim=StringSetChar("",0,164);
//---- indicator short name
   IndicatorShortName(StringConcatenate(short_name,sim,
      DoubleToStr(Koef,1),": (",Stoch_D,", ",Stoch_K,", ",Stoch_S,") ",sim ));
   D10=Stoch_D;D11=D10*Koef;D12=D11*Koef;D13=D12*Koef;
   D14=D13*Koef;D15=D14*Koef;D16=D15*Koef;D17=D16*Koef;
   K10=Stoch_K;K11=K10*Koef;K12=K11*Koef;K13=K12*Koef;
   K14=K13*Koef;K15=K14*Koef;K16=K15*Koef;K17=K16*Koef;
   S10=Stoch_S;S11=S10*Koef;S12=S11*Koef;S13=S12*Koef;
   S14=S13*Koef;S15=S14*Koef;S16=S15*Koef;S17=S16*Koef;
   
   //IndicatorDigits(1);
   SetIndexBuffer(0,Buf7);
 //  SetIndexLabel (0,"Summa of Stochs\n");
 //  SetIndexStyle (0, 2, 0, 2) ;
   SetIndexBuffer(1,ExtBufferDN);
   SetIndexBuffer(2,ExtBufferUP);    
   SetIndexStyle(1,DRAW_HISTOGRAM,0,2);
   SetIndexStyle(2,DRAW_HISTOGRAM,0,2);  
   SetIndexBuffer(3,CLDN);
   SetIndexBuffer(4,CLUP); 
   SetIndexBuffer(5,CO);       
   SetIndexStyle(3,DRAW_HISTOGRAM,0,2);
   SetIndexStyle(4,DRAW_HISTOGRAM,0,2);    
   SetIndexStyle(5,DRAW_HISTOGRAM,0,2);
   SetIndexBuffer(6,SignalBuffer);       
   SetIndexStyle(6,DRAW_LINE,0,2);     
  
   
   
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   double m1,m2,m3,m4,m5,m6,m7,m8;
     int limit;
     int counted_bars=IndicatorCounted();
  //---- last bar to be recounting ----
     if(counted_bars>0) counted_bars--;
     limit=Bars-counted_bars;
  //---- base circle ----
     for(int i=0; i<limit; i++)
      {
       m1 = NormalizeDouble(iStochastic(NULL,0,D10,K10,S10,3,1,0,i)-50,Digits+1);
       m2 = NormalizeDouble(iStochastic(NULL,0,D11,K11,S11,3,1,0,i)-50,Digits+1);
       m3 = NormalizeDouble(iStochastic(NULL,0,D12,K12,S12,3,1,0,i)-50,Digits+1);
       m4 = NormalizeDouble(iStochastic(NULL,0,D13,K13,S13,3,1,0,i)-50,Digits+1);
       m5 = NormalizeDouble(iStochastic(NULL,0,D14,K14,S14,3,1,0,i)-50,Digits+1);
       m6 = NormalizeDouble(iStochastic(NULL,0,D15,K15,S15,3,1,0,i)-50,Digits+1);
       m7 = NormalizeDouble(iStochastic(NULL,0,D16,K16,S16,3,1,0,i)-50,Digits+1);
       m8 = NormalizeDouble(iStochastic(NULL,0,D17,K17,S17,3,1,0,i)-50,Digits+1);
       Buf7[i] =(m1+m2+m3+m4+m5+m6+m7+m8)/8;
      }
//   for(i=limit; i>=0; i--) if (Buf7[i]<Buf7[i+1] && Close[i]<Close[i+1]) { ExtBufferDN[i]=Buf7[i]; ExtBufferUP[i]=0; }
//   for(i=limit; i>=0; i--) if (Buf7[i]>Buf7[i+1] && Close[i]<Close[i+3]) { ExtBufferDN[i]=Buf7[i]/2; ExtBufferUP[i]=Buf7[i]; }   
//   for(i=limit; i>=0; i--) if (Buf7[i]>Buf7[i+1] && Close[i]>Close[i+1]) { ExtBufferUP[i]=Buf7[i]; ExtBufferDN[i]=0; }     
//   for(i=limit; i>=0; i--) if (Buf7[i]<Buf7[i+1] && Close[i]>Close[i+3]) { ExtBufferUP[i]=Buf7[i]/2; ExtBufferDN[i]=Buf7[i]; }  
     for(i=limit; i>=0; i--) if (Buf7[i]<Buf7[i+1]) { ExtBufferDN[i]=Buf7[i]; ExtBufferUP[i]=0; }
     for(i=limit; i>=0; i--) if (Buf7[i]>Buf7[i+1]) { ExtBufferUP[i]=Buf7[i]; ExtBufferDN[i]=0; }  
     
     for(i=limit; i>=0; i--) if (Close[i]<Open[i]) { CLDN[i]=Buf7[i]/2; CLUP[i]=0; CO[i]=0; }
     for(i=limit; i>=0; i--) if (Close[i]>Open[i]) { CLUP[i]=Buf7[i]/2; CLDN[i]=0; CO[i]=0; } 
     for(i=limit; i>=0; i--) if (Close[i]==Open[i]) { CO[i]=Buf7[i]/2; CLDN[i]=0; CLUP[i]=0; }     
     
     for(i=limit; i>=0; i--) SignalBuffer[i]=iMAOnArray(Buf7,Bars,SignalLMA,0,MODE_LWMA,i); 
   return(0);
  }
//+------------------------------------------------------------------+
 
Спасибо InVest0r
Причина обращения: