← К каталогу
Исходный код · ID 1028

FX Multi-Meter v.1

forex goats sa bar meter.mq5

Похожие материалы по тегам

! macd+.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!macd_adx.mq4MQL4 / MetaTrader 4 · 1 общих теговxauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 1 общих теговtm sniper pro.pineTradingView · 1 общих теговsource code of grid with 100 pips stop loss.mq4MQL4 / MetaTrader 4 · 1 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

FX Multi-Meter v.1 — это пользовательский индикатор для MetaTrader 4, который отображает многоцелевую панель данных прямо на графике цены. Он рассчитывает и визуализирует значения технических инструментов по нескольким таймфреймам одновременно, включая стохастик, скользящие средние, MACD, параболический SAR, индикатор Уильямса %R, спред и бар-метр интенсивности ценовых изменений.

Вся информация выводится в виде текстовых объектов внутри окна графика, организованная в логические секции с заголовками. Каждый блок отображает текущие значения и состояние с цветовой индикацией через изменение цвета текстовых меток.

Секция бар-метра отслеживает изменения цен на последних пяти баров и классифицирует текущее движение как «Speeding Up», «Steady», «Slowing Down» или «Stopped». Секция сигнала объединяет состояния нескольких индикаторов и отображает направительный сигнал (вверх, вниз или ожидание).

Индикатор работает на всех стандартных таймфреймах MQL4 от M1 до D1 и обновляется при каждом новом тике, используя обработчик событий start().

Настройки программы

НастройкаОписание
StochsValues Разделитель стохастика — Строковый разделитель секции стохастика в настройках.
Stoch_K Период Stoch K — Период основной линии стохастика.
Stoch_D Период Stoch D — Период сигнальной линии стохастика.
Stoch_Slowing Период замедления Stoch — Период замедления стохастика.
MAvalues Разделитель скользящих средних — Строковый разделитель секции скользящих средних в настройках.
MA_Period Период скользящей средней — Период экспоненциальной скользящей средней для всех таймфреймов.
MA_Shift Сдвиг скользящей средней — Сдвиг скользящей средней.
MACDvalues Разделитель MACD — Строковый разделитель секции MACD в настройках.
MACD_Period1 Быстрый период MACD — Быстрый период MACD.
MACD_Period2 Медленный период MACD — Медленный период MACD.
MACD_Period3 Период сигнальной линии MACD — Период сигнальной линии MACD.
MAXvalues Разделитель MA Xover — Строковый разделитель секции MA Xover в настройках.
FastLWMA Период Fast LWMA — Период быстрой линейно-взвешенной скользящей средней для индикатора MA Xover.
SlowSMA Период Slow SMA — Период простой скользящей средней для индикатора MA Xover.
PSARvalues Разделитель SAR — Строковый разделитель секции параболического SAR в настройках.
PSAR_Step Шаг SAR — Начальное значение ускорения параболического SAR.
PSAR_Max Максимум SAR — Максимальное значение ускорения параболического SAR.
Получить полный код

Поиск по коду файла

#property indicator_chart_window

extern string StochsValues = "== Stochastic Oscillators ==";
extern int Stoch_K = 14;
extern int Stoch_D = 3;
extern int Stoch_Slowing = 3;
extern string MAvalues = "== Moving Averages ==";
extern int MA_Period = 14;
extern int MA_Shift = 0;
extern string MACDvalues = "== MACD ==";
extern int MACD_Period1 = 12;
extern int MACD_Period2 = 26;
extern int MACD_Period3 = 9;
extern string MAXvalues = "== MA Xover ==";
extern int FastLWMA = 3;
extern int SlowSMA = 5;
extern string PSARvalues = "== Parabolic SAR ==";
extern double PSAR_Step = 0.02;
extern double PSAR_Max = 0.2;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {

   ObjectsDeleteAll(0,OBJ_LABEL);
   Print("shutdown error - ",GetLastError());                               

   return(0);                                                             
  }

int start()
  {
      // код доступен только после оплаты
   }

void main()                                                             
  {   
   RefreshRates();  

   double M1stochK,M1stochD,M5stochK,M5stochD,M15stochK,M15stochD,M30stochK,M30stochD,H1stochK,H1stochD,H4stochK,H4stochD,D1stochK,D1stochD,StochK,StochD,StochKprev,StochDprev;
   double MAM1,MAM5,MAM15,MAM30,MAH1,MAH4,MAD1,MAM1prev,MAM5prev,MAM15prev,MAM30prev,MAH1prev,MAH4prev,MAD1prev,MACurrent,MAPrevious;
   double Spread,PSARCurrent,PSARPrev,MACDCurrent,MACDPrev,MACDSignal,MACDSignalPrev,MAXover1,MAXover2,VolumePercent,Vol,VolPrev,WPR,Bar1,Bar2,Bar3,Bar4,Bar5,Bar6,Bar7,Bar8,Bar9,Bar10;
   double Bar1percent,Bar2percent,Bar3percent,Bar4percent,Bar5percent,BarsAverage1,BarsAverage2,BarsAverage3,BarsAverage4,BarsAverage5,BarsAllpercent;
   int trendM1,trendM5,trendM15,trendM30,trendH1,trendH4,trendD1,PSAR,MACD,MAXoverSignal,VolValue,WPRValueUp,WPRValueDown,Bar1Col,Bar2Col,Bar3Col,Bar4Col,Bar5Col,BarReading,Signal;

   M1stochK = iStochastic(Symbol(), PERIOD_M1, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   M1stochD = iStochastic(Symbol(), PERIOD_M1, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   M5stochK = iStochastic(Symbol(), PERIOD_M5, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   M5stochD = iStochastic(Symbol(), PERIOD_M5, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   M15stochK = iStochastic(Symbol(), PERIOD_M15, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   M15stochD = iStochastic(Symbol(), PERIOD_M15, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   M30stochK = iStochastic(Symbol(), PERIOD_M30, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   M30stochD = iStochastic(Symbol(), PERIOD_M30, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   H1stochK = iStochastic(Symbol(), PERIOD_H1, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   H1stochD = iStochastic(Symbol(), PERIOD_H1, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   H4stochK = iStochastic(Symbol(), PERIOD_H4, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   H4stochD = iStochastic(Symbol(), PERIOD_H4, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   D1stochK = iStochastic(Symbol(), PERIOD_D1, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   D1stochD = iStochastic(Symbol(), PERIOD_D1, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);  
   StochK = iStochastic(Symbol(), 0, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 0);
   StochD = iStochastic(Symbol(), 0, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
   StochKprev = iStochastic(Symbol(), 0, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_MAIN, 1);
   StochDprev = iStochastic(Symbol(), 0, Stoch_K,Stoch_D, Stoch_Slowing, MODE_SMA, 0, MODE_SIGNAL, 1);

   MAM1=iMA(NULL,PERIOD_M1,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAM5=iMA(NULL,PERIOD_M5,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAM15=iMA(NULL,PERIOD_M15,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAM30=iMA(NULL,PERIOD_M30,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAH1=iMA(NULL,PERIOD_H1,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAH4=iMA(NULL,PERIOD_H4,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAD1=iMA(NULL,PERIOD_D1,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);

   MAM1prev=iMA(NULL,PERIOD_M1,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);
   MAM5prev=iMA(NULL,PERIOD_M5,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);
   MAM15prev=iMA(NULL,PERIOD_M15,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);
   MAM30prev=iMA(NULL,PERIOD_M30,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);
   MAH1prev=iMA(NULL,PERIOD_H1,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);
   MAH4prev=iMA(NULL,PERIOD_H4,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);
   MAD1prev=iMA(NULL,PERIOD_D1,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);

   MACurrent=iMA(NULL,0,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,0);
   MAPrevious=iMA(NULL,0,MA_Period,MA_Shift,MODE_EMA,PRICE_CLOSE,1);   

      if(MAM1 > MAM1prev)  
     {
      trendM1=1;
     }   
     if(MAM1 < MAM1prev)  
     {
      trendM1=0;
     }     
     if(MAM5 > MAM5prev)  
     {
      trendM5=1;
     }   
     if(MAM5 < MAM5prev)  
     {
      trendM5=0;
     }    
     if(MAM15 > MAM15prev)  
     {
      trendM15=1;
     } 
     if(MAM15 < MAM15prev)  
     {
      trendM15=0;
     }    
     if(MAM30 > MAM30prev)  
     {
      trendM30=1;
     } 
     if(MAM30 < MAM30prev)  
     {
      trendM30=0;
     }   
     if(MAH1 > MAH1prev)  
     {
      trendH1=1;
     } 
     if(MAH1 < MAH1prev)  
     {
      trendH1=0;
     }  
     if(MAH4 > MAH4prev)  
     {
      trendH4=1;
     } 
     if(MAH4 < MAH4prev)  
     {
      trendH4=0;
     }   
     if(MAD1 > MAD1prev)  
     {
      trendD1=1;
     } 
     if(MAD1 < MAD1prev)  
     {
      trendD1=0;
     } 

   Spread=NormalizeDouble(((Ask-Bid)/Point)/10,1);

   PSARCurrent= iSAR(NULL,0,PSAR_Step,PSAR_Max,0);
   PSARPrev= iSAR(NULL,0,PSAR_Step,PSAR_Max,1);

   if (PSARCurrent>PSARPrev)
      {
      PSAR=1;
      }
   if (PSARCurrent<PSARPrev)
      {
      PSAR=0;
      }

   MACDCurrent = iMACD(NULL,0,MACD_Period1,MACD_Period2,MACD_Period3,PRICE_CLOSE,MODE_MAIN,0);
   MACDPrev = iMACD(NULL,0,MACD_Period1,MACD_Period2,MACD_Period3,PRICE_CLOSE,MODE_MAIN,1);
   MACDSignal = iMACD(NULL,0,MACD_Period1,MACD_Period2,MACD_Period3,PRICE_CLOSE,MODE_SIGNAL,0);
   MACDSignalPrev = iMACD(NULL,0,MACD_Period1,MACD_Period2,MACD_Period3,PRICE_CLOSE,MODE_SIGNAL,1);

   if (MACDCurrent>MACDPrev && ((MACDCurrent && MACDPrev)>MACDSignal || (MACDCurrent && MACDPrev)<MACDSignal))
      {
      MACD=3;
      }
   if (MACDCurrent<MACDSignal && MACDPrev>MACDSignalPrev)
      {
      MACD=2;
      }      
   if (MACDCurrent<MACDPrev && ((MACDCurrent && MACDPrev)>MACDSignal || (MACDCurrent && MACDPrev)<MACDSignal))
      {
      MACD=1;
      }   
   if (MACDCurrent>MACDSignal && MACDPrev<MACDSignalPrev)
      {
      MACD=0;
      }   
   if (MACDCurrent>0 && MACDPrev<0)
      {
      MACD=4;
      }         
   if (MACDCurrent<0 && MACDPrev>0)
      {
      MACD=5;
      } 

      MAXover1=iMA(NULL,0,FastLWMA,0,MODE_LWMA,PRICE_CLOSE,0);
      MAXover2=iMA(NULL,0,SlowSMA,0,MODE_SMA,PRICE_CLOSE,0);

   if (MAXover1>MAXover2)
      {
      MAXoverSignal=1;
      }
   if (MAXover1<MAXover2)
      {
      MAXoverSignal=0;
      }

     WPR=iWPR(NULL,0,14,0);

   if (WPR<=0 && WPR>=-5)
   {
   WPRValueUp=1;
   }
   if (WPR>=-20 && WPR<-5)
   {
   WPRValueUp=2;
   }   
   if (WPR>=-30 && WPR<-20)
   {
   WPRValueUp=3;
   }   
   if (WPR>=-40 && WPR<-30)
   {
   WPRValueUp=4;
   }   
   if (WPR>-50 && WPR<-40)
   {
   WPRValueUp=5;
   }      
   if (WPR<-50 && WPR>=-60)
   {
   WPRValueDown=6;
   }   
   if (WPR<=-60 && WPR>=-70)
   {
   WPRValueDown=7;
   }
   if (WPR<=-70 && WPR>=-80)
   {
   WPRValueDown=8;
   }   
   if (WPR<=-80 && WPR>=-95)
   {
   WPRValueDown=9;
   }   
   if (WPR<=-95 && WPR>=-100)
   {
   WPRValueDown=10;
   }   

   if (Close[0] > Close[1])
   {
   Bar1 = (Close[0] - Close[1])*100000;
   }
   if (Close[0] < Close[1])
   {
   Bar1 = (Close[1] - Close[0])*100000;
   }

   if (Close[1] > Close[2])
   {
   Bar2 = (Close[1] - Close[2])*100000;
   }
   if (Close[1] < Close[2])
   {
   Bar2 = (Close[2] - Close[1])*100000;
   }

   if (Close[2] > Close[3])
   {
   Bar3 = (Close[2] - Close[3])*100000;
   }
   if (Close[2] < Close[3])
   {
   Bar3 = (Close[3] - Close[2])*100000;
   }

   if (Close[3] > Close[4])
   {
   Bar4 = (Close[3] - Close[4])*100000;
   }
   if (Close[3] < Close[4])
   {
   Bar4 = (Close[4] - Close[3])*100000;
   }

   if (Close[4] > Close[5])
   {
   Bar5 = (Close[4] - Close[5])*100000;
   }
   if (Close[4] < Close[5])
   {
   Bar5 = (Close[5] - Close[4])*100000;
   }

   if (Close[5] > Close[6])
   {
   Bar6 = (Close[5] - Close[6])*100000;
   }
   if (Close[5] < Close[6])
   {
   Bar6 = (Close[6] - Close[5])*100000;
   }

   if (Close[6] > Close[7])
   {
   Bar7 = (Close[6] - Close[7])*100000;
   }
   if (Close[6] < Close[7])
   {
   Bar7 = (Close[7] - Close[6])*100000;
   }

   if (Close[7] > Close[8])
   {
   Bar8 = (Close[7] - Close[8])*100000;
   }
   if (Close[7] < Close[8])
   {
   Bar8 = (Close[8] - Close[7])*100000;
   }

   if (Close[8] > Close[9])
   {
   Bar9 = (Close[8] - Close[9])*100000;
   }
   if (Close[8] < Close[9])
   {
   Bar9 = (Close[9] - Close[8])*100000;
   }

   if (Close[9] > Close[10])
   {
   Bar10 = (Close[9] - Close[10])*100000;
   }
   if (Close[9] < Close[10])
   {
   Bar10 = (Close[10] - Close[9])*100000;
   }            

   BarsAverage1 = (Bar2 + Bar3 + Bar4 + Bar5)/4;
   BarsAverage2 = (Bar3 + Bar4 + Bar5 + Bar6)/4;
   BarsAverage3 = (Bar4 + Bar5 + Bar6 + Bar7)/4;
   BarsAverage4 = (Bar5 + Bar6 + Bar7 + Bar8)/4;
   BarsAverage5 = (Bar6 + Bar7 + Bar8 + Bar9)/4;

   Bar1percent = NormalizeDouble((Bar1/BarsAverage1)*100,0);
   Bar2percent = NormalizeDouble((Bar2/BarsAverage2)*100,0);
   Bar3percent = NormalizeDouble((Bar3/BarsAverage3)*100,0);
   Bar4percent = NormalizeDouble((Bar4/BarsAverage4)*100,0);
   Bar5percent = NormalizeDouble((Bar5/BarsAverage5)*100,0);
   BarsAllpercent = NormalizeDouble(((Bar2 + Bar3 + Bar4 + Bar5)/4)*100,0);

   if (Bar1percent==0) //Stopped
   {
   BarReading = 1;
   }
   if (Bar1percent>Bar2percent && Bar1percent>100 && Bar1percent!=0) //Speeding Up
   {
   BarReading = 2;
   }
   if (Bar1percent<=100 && Bar1percent!=0) //Steady
   {
   BarReading = 3;
   }
   if (Bar1percent<Bar2percent && Bar2percent>100 && Bar1percent>100 && Bar1percent!=0) //Slowing Down
   {
   BarReading = 4;
   }

   if (Bar1percent==0 || Close[0] == Close[1])
     {
     Bar1Col = 12;
     } 
   if (Bar1percent<25 && Bar1percent>0)
     {
     Bar1Col = 11;
     }   
   if (Bar1percent>=400)
     {
     if (Close[0] > Close[1])
       {
       Bar1Col = 1;
       }
       else if (Close[0] < Close[1]) Bar1Col = 10;
     }  
   if (Bar1percent>=200 && Bar1percent<400)
     {
     if (Close[0] > Close[1])
       {
       Bar1Col = 2;
       }
       else if (Close[0] < Close[1]) Bar1Col = 9;
     }  
   if (Bar1percent>=100 && Bar1percent<200)
     {
     if (Close[0] > Close[1])
       {
       Bar1Col = 3;
       }
       else if (Close[0] < Close[1]) Bar1Col = 8;
     }  
   if (Bar1percent>=50 && Bar1percent<100)
     {
     if (Close[0] > Close[1])
       {
       Bar1Col = 4;
       }
       else if (Close[0] < Close[1]) Bar1Col = 7;
     }    
   if (Bar1percent>=25 && Bar1percent<50)
     {
     if (Close[0] > Close[1])
       {
       Bar1Col = 5;
       }
       else if (Close[0] < Close[1]) Bar1Col = 6;
     }  

   if (Bar2percent==0 || Close[1] == Close[2])
     {
     Bar2Col = 12;
     } 
   if (Bar2percent<25 && Bar2percent>0)
     {
     Bar2Col = 11;
     }   
   if (Bar2percent>=400)
     {
     if (Close[1] > Close[2])
       {
       Bar2Col = 1;
       }
       else if (Close[1] < Close[2]) Bar2Col = 10;
     }  
   if (Bar2percent>=200 && Bar2percent<400)
     {
     if (Close[1] > Close[2])
       {
       Bar2Col = 2;
       }
       else if (Close[1] < Close[2]) Bar2Col = 9;
     }  
   if (Bar2percent>=100 && Bar2percent<200)
     {
     if (Close[1] > Close[2])
       {
       Bar2Col = 3;
       }
       else if (Close[1] < Close[2]) Bar2Col = 8;
     }  
   if (Bar2percent>=50 && Bar2percent<100)
     {
     if (Close[1] > Close[2])
       {
       Bar2Col = 4;
       }
       else if (Close[1] < Close[2]) Bar2Col = 7;
     }      
   if (Bar2percent>=25 && Bar2percent<50)
     {
     if (Close[1] > Close[2])
       {
       Bar2Col = 5;
       }
       else if (Close[1] < Close[2]) Bar2Col = 6;
     }    

   if (Bar3percent==0 || Close[2] == Close[3])
     {
     Bar3Col = 12;
     } 
   if (Bar3percent<25 && Bar3percent>0)
     {
     Bar3Col = 11;
     }   
   if (Bar3percent>=400)
     {
     if (Close[2] > Close[3])
       {
       Bar3Col = 1;
       }
       else if (Close[2] < Close[3]) Bar3Col = 10;
     }  
   if (Bar3percent>=200 && Bar3percent<400)
     {
     if (Close[2] > Close[3])
       {
       Bar3Col = 2;
       }
       else if (Close[2] < Close[3]) Bar3Col = 9;
     }  
   if (Bar3percent>=100 && Bar3percent<200)
     {
     if (Close[2] > Close[3])
       {
       Bar3Col = 3;
       }
       else if (Close[2] < Close[3]) Bar3Col = 8;
     }   
   if (Bar3percent>=50 && Bar3percent<100)
     {
     if (Close[2] > Close[3])
       {
       Bar3Col = 4;
       }
       else if (Close[2] < Close[3]) Bar3Col = 7;
     }        
   if (Bar3percent>=25 && Bar3percent<50)
     {
     if (Close[2] > Close[3])
       {
       Bar3Col = 5;
       }
       else if (Close[2] < Close[3]) Bar3Col = 6;
     }   

   if (Bar4percent==0 || Close[3] == Close[4])
     {
     Bar4Col = 12;
     } 
   if (Bar4percent<25 && Bar4percent>0)
     {
     Bar4Col = 11;
     }   
   if (Bar4percent>=400)
     {
     if (Close[3] > Close[4])
       {
       Bar4Col = 1;
       }
       else if (Close[3] < Close[4]) Bar4Col = 10;
     }   
   if (Bar4percent>=200 && Bar4percent<400)
     {
     if (Close[3] > Close[4])
       {
       Bar4Col = 2;
       }
       else if (Close[3] < Close[4]) Bar4Col = 9;
     }   
   if (Bar4percent>=100 && Bar4percent<200)
     {
     if (Close[3] > Close[4])
       {
       Bar4Col = 3;
       }
       else if (Close[3] < Close[4]) Bar4Col = 8;
     }    
   if (Bar4percent>=50 && Bar4percent<100)
      {
     if (Close[3] > Close[4])
       {
       Bar4Col = 4;
       }
       else if (Close[3] < Close[4]) Bar4Col = 7;
     }        
   if (Bar4percent>=25 && Bar4percent<50)
     {
     if (Close[3] > Close[4])
       {
       Bar4Col = 5;
       }
       else if (Close[3] < Close[4]) Bar4Col = 6;
     }   

   if (Bar5percent==0 || Close[4] == Close[5])
     {
     Bar5Col = 12;
     } 
   if (Bar5percent<25 && Bar5percent>0)
     {
     Bar5Col = 11;
     }   
   if (Bar5percent>=400)
     {
     if (Close[4] > Close[5])
       {
       Bar5Col = 1;
       }
       else if (Close[4] < Close[5]) Bar5Col = 10;
     }   
   if (Bar5percent>=200 && Bar5percent<400)
     {
     if (Close[4] > Close[5])
       {
       Bar5Col = 2;
       }
       else if (Close[4] < Close[5]) Bar5Col = 9;
     }    
   if (Bar5percent>=100 && Bar5percent<200)
     {
     if (Close[4] > Close[5])
       {
       Bar5Col = 3;
       }
       else if (Close[4] < Close[5]) Bar5Col = 8;
     }     
   if (Bar5percent>=50 && Bar5percent<100)
     {
     if (Close[4] > Close[5])
       {
       Bar5Col = 4;
       }
       else if (Close[4] < Close[5]) Bar5Col = 7;
     }         
   if (Bar5percent>=25 && Bar5percent<50)
     {
     if (Close[4] > Close[5])
       {
       Bar5Col = 5;
       }
       else if (Close[4] < Close[5]) Bar5Col = 6;
     }    

    if ((MACD==1 || MACD==2) && MAXoverSignal==0 && WPR<-50 && MACurrent<MAPrevious && StochK<StochKprev && Close[0]<Close[1])
     {
     Signal = 1;
     }    

    if ((MACD==3 || MACD==0) && MAXoverSignal==1 && WPR>-50 && MACurrent>MAPrevious && StochK>StochKprev && Close[0]>Close[1])
     {
     Signal = 2;
     }    

   objectBlank(); 
   paintM1(M1stochK);
   paintM5(M5stochK);
   paintM15(M15stochK);
   paintM30(M30stochK);
   paintH1(H1stochK);
   paintH4(H4stochK);
   paintD1(D1stochK);
   paintLine();
   paintMA_M1(trendM1);
   paintMA_M5(trendM5);
   paintMA_M15(trendM15);
   paintMA_M30(trendM30);
   paintMA_H1(trendH1);
   paintMA_H4(trendH4);
   paintMA_D1(trendD1);
   paint2Line();
   paintWPRUp(WPRValueUp);
   paintWPRDown(WPRValueDown);
   paintWPRValue(WPR); 
   paintSpread(Spread);
   paintSpreadLines();
   paintPSAR(PSAR);
   paintMACD(MACD);
   paintMAXover(MAXoverSignal);
   paintBars();
   paintBarValue1(Bar1percent);
   paintBarValue2(Bar2percent);
   paintBarValue3(Bar3percent);
   paintBarValue4(Bar4percent);
   paintBarValue5(Bar5percent);
   paintBar1(Bar1Col);
   paintBar2(Bar2Col);
   paintBar3(Bar3Col);
   paintBar4(Bar4Col);
   paintBar5(Bar5Col);
   paintBarReading(BarReading);
   paintSignal(Signal);

  }

void initGraph() 
  {
   ObjectsDeleteAll(0,OBJ_LABEL);

   objectCreate("M_1_90",130,91);
   objectCreate("M_1_80",130,83);
   objectCreate("M_1_70",130,75);
   objectCreate("M_1_60",130,67);
   objectCreate("M_1_50",130,59);  
   objectCreate("M_1_40",130,51);
   objectCreate("M_1_30",130,43);
   objectCreate("M_1_20",130,35);
   objectCreate("M_1_10",130,27);
   objectCreate("M_1_0",130,19);
   objectCreate("M_1",135,20,"M1",7,"Arial Narrow",SkyBlue);
   objectCreate("M_1p",134,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("M_5_90",110,91);
   objectCreate("M_5_80",110,83);
   objectCreate("M_5_70",110,75);
   objectCreate("M_5_60",110,67);
   objectCreate("M_5_50",110,59);  
   objectCreate("M_5_40",110,51);
   objectCreate("M_5_30",110,43);
   objectCreate("M_5_20",110,35);
   objectCreate("M_5_10",110,27);
   objectCreate("M_5_0",110,19);
   objectCreate("M_5",115,20,"M5",7,"Arial Narrow",SkyBlue);
   objectCreate("M_5p",114,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("M_15_90",90,91);
   objectCreate("M_15_80",90,83);
   objectCreate("M_15_70",90,75);
   objectCreate("M_15_60",90,67);
   objectCreate("M_15_50",90,59);  
   objectCreate("M_15_40",90,51);
   objectCreate("M_15_30",90,43);
   objectCreate("M_15_20",90,35);
   objectCreate("M_15_10",90,27);
   objectCreate("M_15_0",90,19);
   objectCreate("M_15",93,20,"M15",7,"Arial Narrow",SkyBlue);
   objectCreate("M_15p",94,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("M_30_90",70,91);
   objectCreate("M_30_80",70,83);
   objectCreate("M_30_70",70,75);
   objectCreate("M_30_60",70,67);
   objectCreate("M_30_50",70,59);  
   objectCreate("M_30_40",70,51);
   objectCreate("M_30_30",70,43);
   objectCreate("M_30_20",70,35);
   objectCreate("M_30_10",70,27);
   objectCreate("M_30_0",70,19);
   objectCreate("M_30",73,20,"M30",7,"Arial Narrow",SkyBlue);
   objectCreate("M_30p",74,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("H_1_90",50,91);
   objectCreate("H_1_80",50,83);
   objectCreate("H_1_70",50,75);
   objectCreate("H_1_60",50,67);
   objectCreate("H_1_50",50,59);  
   objectCreate("H_1_40",50,51);
   objectCreate("H_1_30",50,43);
   objectCreate("H_1_20",50,35);
   objectCreate("H_1_10",50,27);
   objectCreate("H_1_0",50,19);
   objectCreate("H_1",54,20,"H1",7,"Arial Narrow",SkyBlue);
   objectCreate("H_1p",54,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("H_4_90",30,91);
   objectCreate("H_4_80",30,83);
   objectCreate("H_4_70",30,75);
   objectCreate("H_4_60",30,67);
   objectCreate("H_4_50",30,59);  
   objectCreate("H_4_40",30,51);
   objectCreate("H_4_30",30,43);
   objectCreate("H_4_20",30,35);
   objectCreate("H_4_10",30,27);
   objectCreate("H_4_0",30,19);
   objectCreate("H_4",34,20,"H4",7,"Arial Narrow",SkyBlue);
   objectCreate("H_4p",34,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("D_1_90",10,91);
   objectCreate("D_1_80",10,83);
   objectCreate("D_1_70",10,75);
   objectCreate("D_1_60",10,67);
   objectCreate("D_1_50",10,59);  
   objectCreate("D_1_40",10,51);
   objectCreate("D_1_30",10,43);
   objectCreate("D_1_20",10,35);
   objectCreate("D_1_10",10,27);
   objectCreate("D_1_0",10,19);
   objectCreate("D_1",15,20,"D1",7,"Arial Narrow",SkyBlue);
   objectCreate("D_1p",14,29,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   objectCreate("line",10,14,"-----------------------------------",10,"Arial",DimGray);  
   objectCreate("line1",10,35,"-----------------------------------",10,"Arial",DimGray);  
   objectCreate("line2",10,118,"-----------------------------------",10,"Arial",DimGray);
   objectCreate("sign",11,6,"STOCHASTIC OSCILLATORS",9,"Arial Narrow",DimGray);

   objectCreate("2M_1_MA",130,137);
   objectCreate("2M_5_MA",110,137);
   objectCreate("2M_15_MA",90,137);
   objectCreate("2M_30_MA",70,137);
   objectCreate("2H_1_MA",50,137);
   objectCreate("2H_4_MA",30,137);
   objectCreate("2D_1_MA",10,137);   

   objectCreate("2M_1",135,147,"M1",7,"Arial Narrow",SkyBlue);
   objectCreate("2M_5",115,147,"M5",7,"Arial Narrow",SkyBlue);
   objectCreate("2M_15",93,147,"M15",7,"Arial Narrow",SkyBlue);
   objectCreate("2M_30",73,147,"M30",7,"Arial Narrow",SkyBlue);
   objectCreate("2H_1",54,147,"H1",7,"Arial Narrow",SkyBlue);
   objectCreate("2H_4",34,147,"H4",7,"Arial Narrow",SkyBlue);
   objectCreate("2D_1",15,147,"D1",7,"Arial Narrow",SkyBlue);

   objectCreate("2line",10,141,"-----------------------------------",10,"Arial",DimGray);  
   objectCreate("2line1",10,152,"-----------------------------------",10,"Arial",DimGray);  
   objectCreate("2line2",10,164,"-----------------------------------",10,"Arial",DimGray);
   objectCreate("2sign",12,132,"MOVING AVERAGE TREND",9,"Arial Narrow",DimGray);

   objectCreate("MACD_Value1",118,271,"p",20,"Wingdings 3",Lime);
   objectCreate("MACD_Value2",122,271,"X",20,"Arial",Red);
   objectCreate("MACD_Value3",118,271,"q",20,"Wingdings 3",Red);
   objectCreate("MACD_Value4",122,271,"X",20,"Arial",Lime);  
   objectCreate("MACD_Value5",122,271,"0",20,"Arial",Lime);  
   objectCreate("MACD_Value6",122,271,"0",20,"Arial",Red);  
   objectCreate("MACD_Chart",112,259,"CURRENT",7,"Arial Narrow",SkyBlue);   
   objectCreate("MACD_Line1",113,252,"---------",10,"Arial",DimGray);  
   objectCreate("MACD_Line2",113,265,"---------",10,"Arial",DimGray);  
   objectCreate("MACD_Title",115,243,"MACD",9,"Arial Narrow",DimGray);

   objectCreate("PSAR_Value1",118,206,"p",20,"Wingdings 3",Lime);
   objectCreate("PSAR_Value2",118,206,"q",20,"Wingdings 3",Red);
   objectCreate("PSAR_Chart",112,194,"CURRENT",7,"Arial Narrow",SkyBlue);  
   objectCreate("PSAR_Line1",113,187,"---------",10,"Arial",DimGray);  
   objectCreate("PSAR_Line2",113,200,"---------",10,"Arial",DimGray);  
   objectCreate("PSAR_Line3",113,229,"---------",10,"Arial",DimGray);
   objectCreate("PSAR_Title",115,178,"P-SAR",9,"Arial Narrow",DimGray);

   objectCreate("WPRpercent",12,300,"%",8,"Arial",Silver);
   objectCreate("WPRValue",22,300,DoubleToStr(9,1),9,"Arial",Silver);

   object2Create("V+5",12,288); 
   object2Create("V+4",12,280); 
   object2Create("V+3",12,272); 
   object2Create("V+2",12,264); 
   object2Create("V+1",12,256);   
   object2Create("V=0",12,248); 
   object2Create("V-1",12,240); 
   object2Create("V-2",12,232); 
   object2Create("V-3",12,224); 
   object2Create("V-4",12,216); 
   object2Create("V-5",12,208); 

   objectCreate("VolumeChart",10,194,"CURRENT",7,"Arial Narrow",SkyBlue);
   objectCreate("WPRLine1",10,187,"---------",10,"Arial",DimGray);  
   objectCreate("WPRLine2",10,200,"---------",10,"Arial",DimGray);  
   objectCreate("WPRLine3",10,292,"---------",10,"Arial",DimGray);
   objectCreate("WPRTitle",10,178,"WPR%",9,"Arial Narrow",DimGray);

   objectCreate("SpreadLine3",60,229,"-----------",10,"Arial",DimGray);
   objectCreate("SpreadLine2",60,200,"-----------",10,"Arial",DimGray);
   objectCreate("SpreadLine1",60,187,"-----------",10,"Arial",DimGray); 
   objectCreate("SpreadPips",72,194,"PIPS",7,"Arial Narrow",SkyBlue); 
   objectCreate("SpreadTitle",61,178,"SPREAD",9,"Arial Narrow",DimGray);
   objectCreate("SpreadValue",68,206,DoubleToStr(9,1),18,"Arial",White);

   objectCreate("MAXoverValue1",69,271,"p",20,"Wingdings 3",Lime);
   objectCreate("MAXoverValue2",69,271,"q",20,"Wingdings 3",Red);  
   objectCreate("MAXoverChart",64,259,"CURRENT",7,"Arial Narrow",SkyBlue);
   objectCreate("MAXoverLine1",60,252,"-----------",10,"Arial",DimGray);  
   objectCreate("MAXoverLine2",60,265,"-----------",10,"Arial",DimGray);  
   objectCreate("MAXoverTitle",70,243,"MA-X",9,"Arial Narrow",DimGray);

   objectCreate("BarsLine1",60,314,"----------------------",10,"Arial",DimGray);  
   objectCreate("BarsLine2",60,336,"----------------------",10,"Arial",DimGray);  
   objectCreate("BarsLine3",60,377,"----------------------",10,"Arial",DimGray);
   objectCreate("BarsTitle",67,306,"BAR % METER",9,"Arial Narrow",DimGray);

   object3Create("Bar_5",132,335);
   object3Create("Bar_4",114,335);
   object3Create("Bar_3",96,335);
   object3Create("Bar_2",78,335);
   object3Create("Bar_1",60,335);   

   objectCreate("B_5",134,320,"B5",7,"Arial Narrow",SkyBlue);
   objectCreate("B_4",116,320,"B4",7,"Arial Narrow",SkyBlue);
   objectCreate("B_3",98,320,"B3",7,"Arial Narrow",SkyBlue);
   objectCreate("B_2",80,320,"B2",7,"Arial Narrow",SkyBlue);
   objectCreate("B_1",62,320,"B1",7,"Arial Narrow",SkyBlue);
   objectCreate("BarsPercent",52,330,"%",7,"Arial Narrow",Silver);
   objectCreate("Bar_Value1",62,330,DoubleToStr(9,1),8,"Arial",White);
   objectCreate("Bar_Value2",80,330,DoubleToStr(9,1),8,"Arial",White);
   objectCreate("Bar_Value3",98,330,DoubleToStr(9,1),8,"Arial",White);
   objectCreate("Bar_Value4",116,330,DoubleToStr(9,1),8,"Arial",White);
   objectCreate("Bar_Value5",134,330,DoubleToStr(9,1),8,"Arial",White);
   objectCreate("BarsSlowing",70,385,"Slowing Down",8,"Arial",Silver);
   objectCreate("BarsSpeeding",70,385,"Speeding Up",8,"Arial",Silver);
   objectCreate("BarsStopped",83,385,"Stopped",8,"Arial",Silver);
   objectCreate("BarsSteady",85,385,"Steady",8,"Arial",Silver);

   objectCreate("SignalLine1",10,336,"---------",10,"Arial",DimGray);   
   objectCreate("SignalLine2",10,377,"---------",10,"Arial",DimGray);
   objectCreate("SignalTitle",9,327,"SIGNAL",9,"Arial Narrow",DimGray);
   objectCreate("SignalUp",10,342,"p",28,"Wingdings 3",Lime);
   objectCreate("SignalDown",10,342,"q",28,"Wingdings 3",Red);
   objectCreate("SignalWait",10,342,"6",28,"Wingdings",Silver);

   WindowRedraw();
  }

void objectCreate(string name,int x,int y,string text="-",int size=42,
                  string font="Arial",color colour=CLR_NONE)
  {
   ObjectCreate(name,OBJ_LABEL,0,0,0);
   ObjectSet(name,OBJPROP_CORNER,3);
   ObjectSet(name,OBJPROP_COLOR,colour);
   ObjectSet(name,OBJPROP_XDISTANCE,x);
   ObjectSet(name,OBJPROP_YDISTANCE,y);
   ObjectSetText(name,text,size,font,colour);
  }

void object2Create(string name,int x,int y,string text="_",int size=42,
                  string font="Arial",color colour=CLR_NONE)
  {
   ObjectCreate(name,OBJ_LABEL,0,0,0);
   ObjectSet(name,OBJPROP_CORNER,3);
   ObjectSet(name,OBJPROP_COLOR,colour);
   ObjectSet(name,OBJPROP_XDISTANCE,x);
   ObjectSet(name,OBJPROP_YDISTANCE,y);
   ObjectSetText(name,text,size,font,colour);
  }

void object3Create(string name,int x,int y,string text="I",int size=36,
                  string font="Arial Bold",color colour=CLR_NONE)
  {
   ObjectCreate(name,OBJ_LABEL,0,0,0);
   ObjectSet(name,OBJPROP_CORNER,3);
   ObjectSet(name,OBJPROP_COLOR,colour);
   ObjectSet(name,OBJPROP_XDISTANCE,x);
   ObjectSet(name,OBJPROP_YDISTANCE,y);
   ObjectSetText(name,text,size,font,colour);
  }

void objectBlank()
  {

   ObjectSet("M_1_90",OBJPROP_COLOR,CLR_NONE);
   Object

Показано первые 50% кода (символов: 46962)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
4 696,20₽ ≈ $57.40