Fuerza Divisas 3.8 Todos
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fuerza divisas 3.8 todos.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Fuerza Divisas 3.8 Todos — это пользовательский индикатор для MetaTrader 4, отображающий аналитические данные о наклоне (slope strength) восьми основных валютных пар в отдельном окне. Каждая валюта (USD, EUR, GBP, JPY, AUD, CAD, NZD, CHF) отображается отдельной линией с настраиваемыми цветом и толщиной.
Продукт поддерживает гибкую настройку временных интервалов, списка символов для анализа и режима отображения. Доступны автоматический выбор символов и таймфрейма, а также режим ограничения отображения только символом на графике.
Индикатор включает систему уведомлений с поддержкой всплывающих окон, электронной почты и push-уведомлений. Также реализованы визуальные сигналы пересечений уровней и таблица ранжирования валют с цветовой индикацией силы пересечений.
Настройки программы
| Настройка | Описание |
|---|---|
| gen | Общие настройки — Группа настроек общих параметров индикатора. |
| autoSymbols | Автоматический выбор символов — При активации автоматически формирует список символов для анализа на основе доступных на сервере. |
| CADCHF,NZDCAD,EURCHF,EURGBP, (symbolsToWeigh) | Список символов для анализа — Задаёт ручной список символов для анализа в формате через запятую (например, EURUSD, GBPUSD). |
| bars | Количество баров — Задаёт количество баров, используемых для расчёта и отображения индикатора. |
| weighOnlySymbolOnChart | Анализировать только символ графика — При активации ограничивает список анализируемых символов только символом текущего графика. |
| nonPropFont | Шрифт таблицы — Задаёт шрифт для отображения текста в таблице и объектах индикатора. |
| addSundayToMonday | Добавлять воскресенье в понедельник — Учитывает воскресные свечи при расчётах на дневном таймфрейме, корректируя смещение бара. |
| showOnlySymbolOnChart | Показать только символ на графике — При активации ограничивает отображение только теми валютами, которые присутствуют на текущем графике. |
| ind | Настройки индикатора — Группа настроек параметров индикатора. |
| autoTimeFrame | Автоматический выбор таймфрейма — При активации автоматически использует таймфрейм текущего графика для расчётов индикатора. |
| ind_tf | Список таймфреймов — Задаёт список доступных таймфреймов для выбора при ручном режиме. |
| timeFrame | Основной таймфрейм — Задаёт основной таймфрейм для расчёта наклона валют при ручном режиме выбора. |
| extraTimeFrame | Дополнительный таймфрейм — Задаёт дополнительный таймфрейм для отображения вторичной таблицы валют. |
| ignoreFuture | Игнорировать будущие данные — При активации исключает будущие (непересчитанные) данные из расчётов наклона. |
| showCrossAlerts | Показать пересечения — При активации отображает визуальные маркеры и отправляет уведомления при пересечении валютных линий. |
| differenceThreshold | Порог разницы — Задаёт пороговое значение разницы для отображения цветовой индикации фона. |
| showLevelCross | Показать пересечения уровней — При активации отображает горизонтальные линии уровней и маркеры пересечения. |
| levelCrossValue | Значение уровня пересечения — Задаёт числовое значение уровня для отображения линий пересечения. |
| PopupAlert | Всплывающие уведомления — При активации выводит всплывающие окна с уведомлениями о событиях индикатора. |
| EmailAlert | Email-уведомления — При активации отправляет уведомления о событиях индикатора на электронную почту. |
| PushAlert | Push-уведомления — При активации отправляет push-уведомления на мобильное устройство. |
| cur | Настройки валют — Группа настроек включения и отключения отдельных валютных линий. |
| USD | Включить USD — Включает или отключает отображение линии доллара США в отдельном окне индикатора. |
| EUR | Включить EUR — Включает или отключает отображение линии евро в отдельном окне индикатора. |
| GBP | Включить GBP — Включает или отключает отображение линии британского фунта в отдельном окне индикатора. |
| CHF | Включить CHF — Включает или отключает отображение линии швейцарского франка в отдельном окне индикатора. |
| JPY | Включить JPY — Включает или отключает отображение линии японской иены в отдельном окне индикатора. |
| AUD | Включить AUD — Включает или отключает отображение линии австралийского доллара в отдельном окне индикатора. |
| CAD | Включить CAD — Включает или отключает отображение линии канадского доллара в отдельном окне индикатора. |
| NZD | Включить NZD — Включает или отключает отображение линии новозеландского доллара в отдельном окне индикатора. |
| colour | Настройки цветов — Группа настроек цветового оформления линий и маркеров индикатора. |
| Color_USD | Цвет USD — Задаёт цвет линии доллара США на графике индикатора. |
| Color_EUR | Цвет EUR — Задаёт цвет линии евро на графике индикатора. |
| Color_GBP | Цвет GBP — Задаёт цвет линии британского фунта на графике индикатора. |
| Color_CHF | Цвет CHF — Задаёт цвет линии швейцарского франка на графике индикатора. |
| Color_JPY | Цвет JPY — Задаёт цвет линии японской иены на графике индикатора. |
| Color_AUD | Цвет AUD — Задаёт цвет линии австралийского доллара на графике индикатора. |
| Color_CAD | Цвет CAD — Задаёт цвет линии канадского доллара на графике индикатора. |
| Color_NZD | Цвет NZD — Задаёт цвет линии новозеландского доллара на графике индикатора. |
| line_widht_USD | Толщина линии USD — Задаёт толщину линии доллара США. |
| line_style_USD | Стиль линии USD — Задаёт стиль линии доллара США. |
| line_widht_EUR | Толщина линии EUR — Задаёт толщину линии евро. |
| line_style_EUR | Стиль линии EUR — Задаёт стиль линии евро. |
| line_widht_GBP | Толщина линии GBP — Задаёт толщину линии британского фунта. |
| line_style_GBP | Стиль линии GBP — Задаёт стиль линии британского фунта. |
| line_widht_JPY | Толщина линии JPY — Задаёт толщину линии японской иены. |
| line_style_JPY | Стиль линии JPY — Задаёт стиль линии японской иены. |
| line_widht_AUD | Толщина линии NZD — Задаёт толщину линии новозеландского доллара. |
| line_style_AUD | Стиль линии NZD — Задаёт стиль линии новозеландского доллара (0 — сплошная и другие). |
| line_widht_CAD | Толщина линии CAD — Задаёт толщину линии канадского доллара. |
| line_style_CAD | Стиль линии CAD — Задаёт стиль линии канадского доллара. |
| line_widht_NZD | Толщина линии NZD — Задаёт толщину линии новозеландского доллара. |
| line_style_NZD | Стиль линии NZD — Задаёт стиль линии новозеландского доллара. |
| line_widht_CHF | Толщина линии CHF — Задаёт толщину линии швейцарского франка. |
| line_style_CHF | Стиль линии CHF — Задаёт стиль линии швейцарского франка. |
| colorWeakCross | Цвет слабого пересечения — Задаёт цвет маркера слабого пересечения валют. |
| colorNormalCross | Цвет обычного пересечения — Задаёт цвет маркера обычного пересечения валют. |
| colorStrongCross | Цвет сильного пересечения — Задаёт цвет маркера сильного пересечения валют. |
| colorDifferenceUp | Цвет разницы (верх) — Задаёт цвет визуальной индикации разницы при восходящем направлении. |
| colorDifferenceDn | Цвет разницы (низ) — Задаёт цвет визуальной индикации разницы при нисходящем направлении. |
| colorDifferenceLo | Цвет разницы (малый) — Задаёт цвет визуальной индикации разницы при значении ниже порога. |
| colorTimeframe | Цвет таймфрейма — Задаёт цвет отображения названия таймфрейма в таблице индикатора. |
| colorLevelHigh | Цвет верхнего уровня — Задаёт цвет маркера пересечения верхнего уровня. |
| colorLevelLow | Цвет нижнего уровня — Задаёт цвет маркера пересечения нижнего уровня. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_level1 0.8
#property indicator_level2 -0.8
#property indicator_level3 2.5
#property indicator_level4 -2.5
#property indicator_levelstyle STYLE_DOT
#property indicator_levelcolor clrDarkOrchid
#define version "v3.8"
#property strict
#define CURRENCYCOUNT 8
extern string gen = "----General inputs----";
extern bool autoSymbols = false;
extern string symbolsToWeigh="AUDCAD,AUDCHF,AUDJPY,AUDNZD,AUDUSD,CADJPY,CHFJPY,EURAUD,EURCAD,EURJPY,EURNZD,EURUSD,GBPAUD,GBPCAD,GBPCHF,GBPJPY,GBPNZD,GBPUSD,NZDCHF,NZDJPY,NZDUSD,USDCAD,USDCHF,USDJPY";//CADCHF,NZDCAD,EURCHF,EURGBP,
extern int bars= 50;
extern bool weighOnlySymbolOnChart=false;
extern string nonPropFont = "Lucida Console";
extern bool addSundayToMonday = true;
extern bool showOnlySymbolOnChart= false;
extern string ind = "----Indicator inputs----";
extern bool autoTimeFrame = true;
extern string ind_tf = "timeFrame M1,M5,M15,M30,H1,H4,D1,W1,MN";
extern string timeFrame = "H4";
extern string extraTimeFrame = "D1";
extern bool ignoreFuture = true;
extern bool showCrossAlerts = false;
extern double differenceThreshold=0.0;
extern bool showLevelCross = false;
extern double levelCrossValue = 0.20;
extern bool PopupAlert=false;
extern bool EmailAlert= false;
extern bool PushAlert=false;
extern string cur = "----Currency inputs----";
extern bool USD = true;
extern bool EUR = true;
extern bool GBP = true;
extern bool CHF = true;
extern bool JPY = true;
extern bool AUD = true;
extern bool CAD = true;
extern bool NZD = true;
extern string colour="----Colo(u)r inputs----";
extern color Color_USD = clrRed;
extern color Color_EUR = clrDodgerBlue;
extern color Color_GBP = clrPurple;
extern color Color_CHF = clrBlack;
extern color Color_JPY = clrYellow;
extern color Color_AUD = clrBrown;
extern color Color_CAD = clrGreen;
extern color Color_NZD = clrDarkOrange;
extern int line_widht_USD = 2;
extern int line_style_USD = 0;
extern int line_widht_EUR = 2;
extern int line_style_EUR = 0;
extern int line_widht_GBP = 2;
extern int line_style_GBP = 0;
extern int line_widht_JPY = 3;
extern int line_style_JPY = 0;
extern int line_widht_AUD = 1;
extern int line_style_AUD = 0;
extern int line_widht_CAD = 1;
extern int line_style_CAD = 0;
extern int line_widht_NZD = 1;
extern int line_style_NZD = 0;
extern int line_widht_CHF = 2;
extern int line_style_CHF = 0;
extern color colorWeakCross = clrGold;
extern color colorNormalCross = clrGold;
extern color colorStrongCross = clrGold;
extern color colorDifferenceUp = LightGray;
extern color colorDifferenceDn = LightGray;
extern color colorDifferenceLo = LightGray;
extern color colorTimeframe = clrNavy;
extern color colorLevelHigh = clrLimeGreen;
extern color colorLevelLow = clrCrimson;
string indicatorName="CurrencySlopeStrength";
string shortName;
int userTimeFrame;
int userExtraTimeFrame;
string almostUniqueIndex;
bool sundayCandlesDetected;
double arrUSD[];
double arrEUR[];
double arrGBP[];
double arrJPY[];
double arrAUD[];
double arrCAD[];
double arrNZD[];
double arrCHF[];
int symbolCount;
string symbolNames[];
string currencyNames[CURRENCYCOUNT]={ "USD","EUR","GBP","JPY","AUD","CAD","NZD","CHF" };
double currencyValues[CURRENCYCOUNT]; // Currency slope strength
double currencyValuesPrior[CURRENCYCOUNT]; // Currency slope strength prior bar
double currencyOccurrences[CURRENCYCOUNT]; // Holds the number of occurrences of each currency in symbols
int line_widht[CURRENCYCOUNT];
int line_style[CURRENCYCOUNT];
color currencyColors[CURRENCYCOUNT];
int verticalShift=18;
int verticalOffset=33;
int horizontalShift=20;
int horizontalOffset=-500;
int OnInit(void)
{
// код доступен только после оплаты
}
int initSymbols()
{
int i;
string symbolExtraChars=StringSubstrOld(Symbol(),6,4);
if(weighOnlySymbolOnChart)
{
symbolsToWeigh=Symbol();
}
symbolsToWeigh = StringTrimLeft(symbolsToWeigh);
symbolsToWeigh = StringTrimRight(symbolsToWeigh);
if(StringSubstrOld(symbolsToWeigh,StringLen(symbolsToWeigh)-1)!=",")
{
symbolsToWeigh=StringConcatenate(symbolsToWeigh,",");
}
if(autoSymbols)
{
createSymbolNamesArray();
}
else
{
i=StringFind(symbolsToWeigh,",");
while(i!=-1)
{
int size=ArraySize(symbolNames);
string newSymbol=StringConcatenate(StringSubstrOld(symbolsToWeigh,0,i),symbolExtraChars);
ArrayResize(symbolNames,size+1);
symbolNames[size]=newSymbol;
symbolsToWeigh=StringSubstrOld(symbolsToWeigh,i+1);
i=StringFind(symbolsToWeigh,",");
}
}
if(showOnlySymbolOnChart)
{
symbolCount=ArraySize(symbolNames);
string tempNames[];
for(i=0; i<symbolCount; i++)
{
for(int j=0; j<CURRENCYCOUNT; j++)
{
if(StringFind(Symbol(),currencyNames[j])==-1)
{
continue;
}
if(StringFind(symbolNames[i],currencyNames[j])!=-1)
{
int size=ArraySize(tempNames);
ArrayResize(tempNames,size+1);
tempNames[size]=symbolNames[i];
break;
}
}
}
for(i=0; i<ArraySize(tempNames); i++)
{
ArrayResize(symbolNames,i+1);
symbolNames[i]=tempNames[i];
}
}
symbolCount=ArraySize(symbolNames);
for(i=0; i<symbolCount; i++)
{
int currencyIndex=getCurrencyIndex(StringSubstrOld(symbolNames[i],0,3));
currencyOccurrences[currencyIndex]++;
currencyIndex=getCurrencyIndex(StringSubstrOld(symbolNames[i],3,3));
currencyOccurrences[currencyIndex]++;
}
userTimeFrame=PERIOD_D1;
if(autoTimeFrame)
{
userTimeFrame=Period();
}
else
{
if(timeFrame=="M1") userTimeFrame=PERIOD_M1;
else if( timeFrame == "M5" ) userTimeFrame = PERIOD_M5;
else if( timeFrame == "M15" ) userTimeFrame = PERIOD_M15;
else if( timeFrame == "M30" ) userTimeFrame = PERIOD_M30;
else if( timeFrame == "H1" ) userTimeFrame = PERIOD_H1;
else if( timeFrame == "H4" ) userTimeFrame = PERIOD_H4;
else if( timeFrame == "D1" ) userTimeFrame = PERIOD_D1;
else if( timeFrame == "W1" ) userTimeFrame = PERIOD_W1;
else if( timeFrame == "MN" ) userTimeFrame = PERIOD_MN1;
if(userTimeFrame<Period())
{
userTimeFrame=Period();
}
}
userExtraTimeFrame = PERIOD_D1;
if( extraTimeFrame == "M1" ) userExtraTimeFrame = PERIOD_M1;
else if( extraTimeFrame == "M5" ) userExtraTimeFrame = PERIOD_M5;
else if( extraTimeFrame == "M15" ) userExtraTimeFrame = PERIOD_M15;
else if( extraTimeFrame == "M30" ) userExtraTimeFrame = PERIOD_M30;
else if( extraTimeFrame == "H1" ) userExtraTimeFrame = PERIOD_H1;
else if( extraTimeFrame == "H4" ) userExtraTimeFrame = PERIOD_H4;
else if( extraTimeFrame == "D1" ) userExtraTimeFrame = PERIOD_D1;
else if( extraTimeFrame == "W1" ) userExtraTimeFrame = PERIOD_W1;
else if( extraTimeFrame == "MN" ) userExtraTimeFrame = PERIOD_MN1;
return(0);
}
int getCurrencyIndex(string currency)
{
for(int i=0; i<CURRENCYCOUNT; i++)
{
if(currencyNames[i]==currency)
{
return(i);
}
}
return (-1);
}
void createSymbolNamesArray()
{
int hFileName=FileOpenHistory("symbols.raw",FILE_BIN|FILE_READ);
int recordCount=int(FileSize(hFileName)/1936);
int counter=0;
for(int i=0; i<recordCount; i++)
{
string tempSymbol=StringTrimLeft(StringTrimRight(FileReadString(hFileName,12)));
if(MarketInfo(tempSymbol,MODE_BID)>0 && MarketInfo(tempSymbol,MODE_TRADEALLOWED))
{
ArrayResize(symbolNames,counter+1);
symbolNames[counter]=tempSymbol;
counter++;
}
FileSeek(hFileName,1924,SEEK_CUR);
}
FileClose(hFileName);
}
string GetTimeframeString(int tf)
{
string result;
switch(tf)
{
case PERIOD_M1: result = "M1"; break;
case PERIOD_M5: result = "M5"; break;
case PERIOD_M15: result = "M15"; break;
case PERIOD_M30: result = "M30"; break;
case PERIOD_H1: result = "H1"; break;
case PERIOD_H4: result = "H4"; break;
case PERIOD_D1: result = "D1"; break;
case PERIOD_W1: result = "W1"; break;
case PERIOD_MN1: result = "MN1"; break;
default: result="SRITSOD";
}
return ( result );
}
void OnDeinit(const int reason)
{
int windex=WindowFind("Fuerza Divisas 3.8");
if(windex>0)
{
ObjectsDeleteAll(windex);
}
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
double getSlope(string symbol,int tf,int shift)
{
double dblTma,dblPrev;
int shiftWithoutSunday=shift;
if(addSundayTПоказано первые 50% кода (символов: 23985)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.