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

CurrencyStrengthHistory_v1.8 600+

currencystrengthhistory_v1.8 600+.mq4
Вы автор или правообладатель?

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

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

О программе

CurrencyStrengthHistory_v1.8 600+ — это индикатор MetaTrader 4, который рассчитывает и отображает аналитические индикаторы валютной силы для до 10 валют на отдельном графике. Индикатор анализирует ценовые изменения пар между выбранными валютами и вычисляет показатели мощности для каждой из них.

Индикатор поддерживает работу с несколькими таймфреймами, включая режим MTF (Multi-Timeframe) баров. Результаты расчёта отображаются в виде линейных графиков с настраиваемыми цветами и толщиной линий. Также предусмотрен информационный доска с текущими значениями силы валют.

Индикатор оснащён системой уведомлений: звуковые сигналы, email-оповещения и push-уведомления срабатывают при пересечении заданного уровня силы валюты. Дополнительно доступна настройка отображения значений в пунктах или процентах, смещение элементов на графике и параметры шрифта.

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

НастройкаОписание
timeFrame Таймфрейм графика — Таймфрейм графика, на котором отображается индикатор (по умолчанию текущий).
calcTimeFrame Таймфрейм расчёта — Таймфрейм, на котором производится расчёт валютной силы (по умолчанию D1).
symbolPrefix Префикс символа — Префикс символа для формирования названий инструментов.
symbolSuffix Суффикс символа — Суффикс символа для формирования названий инструментов.
Use MTF Bars (useMTFBars) Использовать MTF бары — Переключатель использования баров с многотаймфреймного графика для расчёта.
Number of bars counted(0-all bars) (countBars) Количество баров — Количество баров для расчёта (0 — все бары).
showInPips Отображать в пунктах — Переключатель отображения значений силы валюты в пунктах вместо процентов.
uniqueName Уникальное имя доски — Уникальное имя объекта информационной доски на графике.
currency1Color Цвет валюты 1 — Цвет линии первой валюты на графике.
currency2Color Цвет валюты 2 — Цвет линии второй валюты на графике.
currency3Color Цвет валюты 3 — Цвет линии третьей валюты на графике.
currency4Color Цвет валюты 4 — Цвет линии четвёртой валюты на графике.
currency5Color Цвет валюты 5 — Цвет линии пятой валюты на графике.
currency6Color Цвет валюты 6 — Цвет линии шестой валюты на графике.
currency7Color Цвет валюты 7 — Цвет линии седьмой валюты на графике.
currency8Color Цвет валюты 8 — Цвет линии восьмой валюты на графике.
currency9Color Цвет валюты 9 — Цвет линии девятой валюты на графике.
currency10Color Цвет валюты 10 — Цвет линии десятой валюты на графике.
lineWidth Толщина линий — Толщина линий графиков валютной силы.
showBoard Показать доску — Переключатель отображения информационной доски с текущими значениями силы валют на графике.
fontSize Размер шрифта — Размер шрифта текста на информационной доске.
offset_X Смещение по X — Горизонтальное смещение информационной доски на графике в пикселях.
offset_Y Смещение по Y — Вертикальное смещение информационной доски на графике в пикселях.
borderType Тип рамки доски — Тип рамки информационной доски (вариант настройки).
borderColor Цвет рамки доски — Цвет рамки информационной доски на графике.
textColor Цвет текста — Цвет текста на информационной доске.
alerts Настройки уведомлений — Текстовый параметр, используемый для группировки настроек уведомлений и email.
alertOn Включить звуковые уведомления — Переключатель включения/выключения звуковых уведомлений при пересечении уровня силы.
Alert Shift:0-current bar,1-previous bar (alertShift) Сдвиг для оповещения — Сдвиг бара для проверки уровня: 0 — текущий бар, 1 — предыдущий бар.
Alert Strength Level(eg.2) (alertLevel) Уровень оповещения — Уровень силы валюты, при пересечении которого срабатывают уведомления (например, 2).
Number of sounds after Signal (soundsNumber) Количество звуков — Количество звуковых сигналов после срабатывания сигнала.
Pause in sec between sounds (soundsPause) Пауза между звуками — Пауза в секундах между звуковыми сигналами.
upTrendSound Звук восходящего тренда — Звуковой файл, воспроизводимый при восходящем тренде силы валюты.
dnTrendSound Звук нисходящего тренда — Звуковой файл, воспроизводимый при нисходящем тренде силы валюты.
emailOn Включить email-уведомления — Переключатель включения/выключения email-оповещений при пересечении уровня силы.
emailsNumber Количество email — Количество email-рассылок при срабатывании сигнала.
pushNotificationOn Включить push-уведомления — Переключатель включения/выключения push-уведомлений при пересечении уровня силы.
Получить полный код

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

???//+------------------------------------------------------------------+

#property indicator_separate_window
#property indicator_buffers 10
#property indicator_level1  0 

input ENUM_TIMEFRAMES   timeFrame            =           0;
input ENUM_TIMEFRAMES   calcTimeFrame        =   PERIOD_D1;
input string            currencyArray        = "USD;EUR;GBP;JPY;AUD;CAD;CHF;NZD";
input string            symbolPrefix         =          "";
input string            symbolSuffix         =          "";
input bool              useMTFBars           =        true;    // Use MTF Bars
input int               countBars            =           1;    // Number of bars counted(0-all bars)
input bool              showInPips           =        true;

input string            uniqueName           =   "History";
input color             currency1Color       = clrTomato;   
input color             currency2Color       = clrDodgerBlue; 
input color             currency3Color       = clrWhiteSmoke; 
input color             currency4Color       = clrPink; 
input color             currency5Color       = clrYellowGreen;   
input color             currency6Color       = clrFireBrick; 
input color             currency7Color       = clrChocolate; 
input color             currency8Color       = clrGray; 
input color             currency9Color       = clrNONE;   
input color             currency10Color      = clrNONE; 
input int               lineWidth            =           1;

input bool              showBoard            =        true;
input int               fontSize             =           6;
input int               offset_X             =          50;
input int               offset_Y             =           0;
input ENUM_BORDER_TYPE  borderType           =           0;
input color             borderColor          =    clrWhite;
input color             textColor            =    clrBlack;

input string            alerts               = "=== Alerts & Emails ===";
input bool              alertOn              = false;
input int               alertShift           =     1;       // Alert Shift:0-current bar,1-previous bar
input int               alertLevel           =     2;       // Alert Strength Level(eg.2)
input int               soundsNumber         =     5;       // Number of sounds after Signal
input int               soundsPause          =     5;       // Pause in sec between sounds 
input string            upTrendSound         = "alert.wav";
input string            dnTrendSound         = "alert2.wav";
input bool              emailOn              = false;       
input int               emailsNumber         =     *;          
input bool              pushNotificationOn   = false;

double currency1[];
double currency2[];
double currency3[];
double currency4[];
double currency5[];
double currency6[];
double currency7[];
double currency8[];
double currency9[];
double currency10[];

MqlRates mtfrates[], rates[];

int      symbolsTotal, timeframe, ctimeframe, num, window, corner = 1, cntbars;
bool     firsttime = true;
string   watchList[], currencies[], pairs[], IndicatorName, TF, calcTF, short_name;
double   scale, pairPoint[], signs[], dRatios[]={1,10,1,10,1,10,100};
color    boxColor[10];
string   calcSymbols[] = {"HKDUSD","INRUSD","JPYUSD","RUBUSD","TRYUSD","USDAUD","USDEUR","USDGBP","USDSAR","ZARUSD"};   
datetime time_cnt, shifttime;

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

void OnDeinit(const int reason)
{

   Comment("");
   if(showBoard) ObjectDel(uniqueName);

   ChartRedraw();
}

int start()
{
      // код доступен только после оплаты
   }
   int i, j, _digits, shift, y, limit = 0, sdig = 2, currentSymbolsTotal = SymbolsTotal(true), counted_bars	= IndicatorCounted();
   double cPower[], sortedPower[];
   string pct  = "%", sym;

   if(showInPips) {pct = ""; sdig = 1;} 

   window = WindowFind(short_name);

   if(counted_bars < 0)	return(-1);
   if(counted_bars > 0)	limit	= Bars - counted_bars - 1;
   if(counted_bars < 1)
   {	
   limit = cntbars; 

   if(!useMTFBars) time_cnt = Time[cntbars-1];  
   ArrayResize(cPower,num);

      for(i=0;i<Bars-1;i++)
      { 
      currency1[i]  = EMPTY_VALUE;
      currency2[i]  = EMPTY_VALUE;
      currency3[i]  = EMPTY_VALUE;
      currency4[i]  = EMPTY_VALUE;
      currency5[i]  = EMPTY_VALUE;
      currency6[i]  = EMPTY_VALUE;
      currency7[i]  = EMPTY_VALUE;
      currency8[i]  = EMPTY_VALUE;
      currency9[i]  = EMPTY_VALUE;
      currency10[i] = EMPTY_VALUE;
      }

      if(alertOn && alertLevel > 0) 
      {
      SetLevelValue(1, alertLevel);
      SetLevelValue(2,-alertLevel);
      SetLevelStyle(2,1,clrSilver);
      }
   }

   if(timeframe != Period())
	{
   limit = MathMax(limit,timeframe/Period());   

      for(shift=0;shift<limit;shift++) 
      {	
      y = iBarShift(NULL,timeframe,Time[shift]);

      currency1 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,0,y);
      currency2 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,1,y);
      currency3 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,2,y);
      currency4 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,3,y);
      currency5 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,4,y);
      currency6 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,5,y);
      currency7 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,6,y);
      currency8 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,7,y);          
      currency9 [shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Color,currency4Color,currency5Color,currency6Color,currency7Color,currency8Color,currency9Color,currency10Color, 
                                  lineWidth,showBoard,fontSize,offset_X,offset_Y,borderType,borderColor,textColor,
                                  "",alertOn,alertShift,alertLevel,soundsNumber,soundsPause,upTrendSound,dnTrendSound,emailOn,emailsNumber,pushNotificationOn,8,y);
      currency10[shift] = iCustom(NULL,timeFrame,IndicatorName,0,calcTimeFrame,currencyArray,symbolPrefix,symbolSuffix,useMTFBars,countBars,showInPips,uniqueName,
                                  currency1Color,currency2Color,currency3Col

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

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

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

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

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

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

Стоимость полного кода
2 194₽ ≈ $26.81