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

XARDg-CLOCK

!!!!-mt4 x-xardg-clock.mq4
Вы автор или правообладатель?

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

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

О программе

Индикатор XARDg-CLOCK отображает на графике мета-матрицу валютных пар с информацией о часовых поясах и открытии мировых рынков. Программа рассчитывает разницу в пипсах между восемью основными валютами (NZD, AUD, JPY, EUR, GBP, CHF, USD, CAD) и отображает результаты в виде цветовой таблицы прямо на чарте.

Индикатор показывает текущие часы Токио, Лондона и Нью-Йорка с подсветкой времени открытия рынков. Доступна настройка автоматического сброса данных при открытии различных торговых сессий или каждый час. Для работы индикатора используется импорт функций из kernel32.dll для получения информации о часовых поясах.

Визуализация строится с помощью графических объектов-меток, размещаемых на графике. Поддерживается работа как с обычными, так и с микроконтами. Цветовая кодировка позволяет быстро оценить направление движения между парами валют.

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

НастройкаОписание
XPosition Горизонтальное смещение графических элементов индикатора на графике
YPosition Вертикальное смещение графических элементов индикатора на графике
ResetEveryHour Переключатель автоматического сброса данных открытия каждый час
Note6 Информационный текст о формате времени для сброса данных
Note7 Информационный текст о часовом поясе торговой сессии
Note8 Информационный текст об отсутствии корректировки на летнее время
ResetOnTradingOpen Время сброса данных при открытии основной торговой сессии (все времена указываются в часовом поясе NYC)
ResetOnLondonOpen Время сброса данных при открытии лондонской торговой сессии
ResetOnNYCOpen Время сброса данных при открытии нью-йоркской торговой сессии
ResetOnAsiaOpen Время сброса данных при открытии азиатской торговой сессии (Токио)
Note10 Информационный текст с указанием суффикса для символов микроконт
ifmicro Суффикс для определения символов микроконт (например, m или .fx)
NegativePips Цвет отображения отрицательных значений пипсов в матрице
PositivePips Цвет отображения положительных значений пипсов в матрице
NeutralPips Цвет отображения нейтральных значений пипсов в матрице
Получить полный код

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

#property description                                                                        "[!!!-MT4 X-XARDg-CLOCK]"
#define Version                                                                                        "[XARDg-CLOCK]"

#property description "THIS IS A FREE INDICATOR"
#property description "                                                      "
#property description "Welcome to the World of Forex"
#property description "Let light shine out of darkness and illuminate your world"
#property description "and with this freedom leave behind your cave of denial"
#property indicator_chart_window
extern int     XPosition               =  14;
extern int     YPosition               = -34;
extern bool    ResetEveryHour          = false;
extern string  Note6                   = "Reset specified in Local Military Time";
extern string  Note7                   = "Trading Open is Eastern Time Zone";
extern string  Note8                   = "No adjust. for for Daylight Savings Time";
extern string  ResetOnTradingOpen      = "17:00";//  All times quoted are NYC time 
extern string  ResetOnLondonOpen       = "";//London
extern string  ResetOnNYCOpen          = "";//NYC
extern string  ResetOnAsiaOpen         = "";//TOKYO
extern string  Note10                  = "For micro account, use suffix m or .fx";
extern string  ifmicro                 = "";
extern color   NegativePips            = C'255,110,20';
extern color   PositivePips            = DodgerBlue;
extern color   NeutralPips             = C'65,65,65';
       bool    showbackgroundpanel     = false;

#define TradingOpen 0
#define LondonOpen 1
#define NYCOpen 2
#define AsiaOpen 3

int      OpenBar=9999,openbar[4];
int      WhatWindow   = 0;
int      WhatCorner   = 0;
color    PanelColor1  = C'144,144,144';
color    PanelColor2  = C'20,20,20';
datetime StartTime;            
string   buffername  = "MATRIX SESSION";  

string Symbols[];
int    SymbolsNumber,SymbolsIndex[][2], chartpair[2];
#define MajorsNumber 8
#define NZD 0//EUR 0
#define AUD 1//GBP 1
#define JPY 2//CHF 2
#define EUR 3//USD 3
#define GBP 4//CAD 4
#define CHF 5//NZD 5
#define USD 6//AUD 6
#define CAD 7//JPY 7
double SymbolsOpen[],SymbolsSorted[][2],Sorted[MajorsNumber][2],Pips[MajorsNumber][MajorsNumber],Tally[10];
string Majors[]  = {"NZD","AUD","JPY","EUR","GBP","CHF","USD","CAD"}; 
string space = "";            
color Colors[]={C'50,165,50',C'50,145,60', C'50,125,70',C'50,115,80',C'135,80,50',C'165,70,50',C'195,60,50',C'235,50,50'};

#import "kernel32.dll"
   void GetLocalTime(int& a0[]);
   void GetSystemTime(int& a0[]);
   int  GetTimeZoneInformation(int& a0[]);
   bool SystemTimeToTzSpecificLocalTime(int& a0[], int& a1[], int& a2[]);
#import

color opencolor = C'0,117,213', closecolor = C'150,34,34';
bool Highlight_Market_Open = TRUE;
bool Broker_MMSS_Is_Gold_Standard = TRUE;
bool Suppress_Bar_HH_Below_H1 = TRUE;
string TimeLondon,TimeAsia,TimeNYC;
bool Weekend_Test_Mode = FALSE;

int gia_216[43];
int gia_220[43];
int gia_224[43];
int gia_228[43];
int gia_232[43];
int gia_236[43];
int gia_240[43];
int gia_244[43];
int gia_248[43];

double g_ibuf_252[];
int gi_256 = 8;
int gi_260 = 17;
int gi_264 = 7;
int gi_268 = 16;
int g_datetime_272;

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

   int deinit(){deleteObjects(); return(0);}

   int Reset_OpeningData(){
   static datetime LastTime;

   if(Time[0] == LastTime)       return(0);     // time already set for this hour 

   for(int row=1;row<10;row++) for(int col=0;col<10;col++){
      ObjectDelete(buffername+ "BR"+row+"C"+col);
      ObjectDelete(buffername+ "FR"+row+"C"+col);}

   if(ResetEveryHour && Time[0] != LastTime){
      LastTime=Time[0];
      for(int index=0;index<SymbolsNumber;index++) SymbolsOpen[index]=iOpen(Symbols[index],PERIOD_H1,0);
      return(1);}

   if(ResetOnTradingOpen != ""){
      openbar[TradingOpen]=StrToInteger(StringSubstr(TimeNYC,0,2))-StrToInteger(StringSubstr(ResetOnTradingOpen,0,2));
      if(openbar[TradingOpen]<0) openbar[TradingOpen]=24+openbar[TradingOpen];}  else openbar[TradingOpen]=999;

   if(ResetOnLondonOpen != ""){
      openbar[LondonOpen]=StrToInteger(StringSubstr(TimeLondon,0,2))-StrToInteger(StringSubstr(ResetOnLondonOpen,0,2));
      if(openbar[LondonOpen]<0) openbar[LondonOpen]=24+openbar[LondonOpen];}  else openbar[LondonOpen]=999;

   if(ResetOnNYCOpen != ""){
      openbar[NYCOpen]=StrToInteger(StringSubstr(TimeNYC,0,2))-StrToInteger(StringSubstr(ResetOnNYCOpen,0,2));
      if(openbar[NYCOpen]<0) openbar[NYCOpen]=24+openbar[NYCOpen];}  else openbar[NYCOpen]=999;

   if(ResetOnAsiaOpen != ""){
      openbar[AsiaOpen]=StrToInteger(StringSubstr(TimeAsia,0,2))-StrToInteger(StringSubstr(ResetOnAsiaOpen,0,2));
      if(openbar[AsiaOpen]<0) openbar[AsiaOpen]=24+openbar[AsiaOpen];}  else openbar[AsiaOpen]=999;

   for(int i=0;i<4;i++)  if(openbar[i]<OpenBar) OpenBar=openbar[i];   

   for(index=0;index<SymbolsNumber;index++) SymbolsOpen[index]=iOpen(Symbols[index],PERIOD_H1,OpenBar);
   LastTime=Time[0]; return(1);}

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

   void Print_Rows(int row){
   int index, xpos=17, ypos=68+17*row; index=Sorted[row,1];
   string sBbuffer=buffername+"BR"+(row+1)+"C",sFbuffer=buffername+"FR"+(row+1)+"C"; double value;

   xpos=17;
   xpos+=46;

   for(int col=0;col<MajorsNumber;col++){ value=Pips[index,col];
   if(value==0){
         ObjectDelete(sBbuffer+(col+1));
         ObjectDelete(sFbuffer+(col+1));}  else {
   if(value <= -12)       color Color=NegativePips; 
         else if (value >= 12)  Color=PositivePips;  
         else                   Color=NeutralPips;
   }
   xpos+=46;}
   }

   string Set_Text(string text){ switch(StringLen(text)){
      case 1:  text="      "+text; break; 
      case 2:  text="     " +text; break;
      case 3:  text="   "   +text; break;
      case 4:  text="  "    +text; break;}  return(text);}

   void Print_Totals(int col){ int offset=63+col*46;
   for(int index=0;index<MajorsNumber;index++) if(col==Sorted[index,1]) break;
   col+=1;
   }

   void Print_HighLows(){ ArraySort(SymbolsSorted,WHOLE_ARRAY,0,MODE_DESCEND);

   int xpos=477,index,ypos=68,nbr=0,row;
   for(int roww=0;roww<8;roww++){ row=roww;
   if(row>3) row=SymbolsNumber-8+roww;
   index=SymbolsSorted[row,1];

   ObjectDelete(buffername+"QanelC"+roww); 
   if

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

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

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

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

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

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

Стоимость полного кода
1 428,60₽ ≈ $17.46