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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.