cms_bidratio mtf.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «cms_bidratio mtf.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор мультитаймфреймового анализа валютной силы для MetaTrader 4. Рассчитывает относительную силу восьми основных валют на основе анализа ценовых диапазонов и позиции бида внутри этих диапазонов на нескольких таймфреймах. Результаты отображаются в виде цветных текстовых меток и панелей непосредственно на графике. Обновление данных происходит периодически через таймер.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame 1 for CSM (csm1) | Таймфрейм 1 — Выбор таймфрейма для первого расчёта валютной силы |
| TimeFrame 2 for CSM (csm2) | Таймфрейм 2 — Выбор таймфрейма для второго расчёта валютной силы |
| TimeFrame 3 for CSM (csm3) | Таймфрейм 3 — Выбор таймфрейма для третьего расчёта валютной силы |
| TimeFrame 4 for CSM (csm4) | Таймфрейм 4 — Выбор таймфрейма для четвёртого расчёта валютной силы |
| TimeFrame 5 for CSM (csm5) | Таймфрейм 5 — Выбор таймфрейма для пятого расчёта валютной силы |
| x_axis | Смещение по оси X — Горизонтальное смещение элементов отображения индикатора на графике |
| y_axis | Смещение по оси Y — Вертикальное смещение элементов отображения индикатора на графике |
Поиск по коду файла
#property version "1.00"
#property strict
#property indicator_chart_window
sinput ENUM_TIMEFRAMES csm1 = PERIOD_D1; // TimeFrame 1 for CSM
sinput ENUM_TIMEFRAMES csm2 = PERIOD_H4; // TimeFrame 2 for CSM
sinput ENUM_TIMEFRAMES csm3 = PERIOD_H1; // TimeFrame 3 for CSM
sinput ENUM_TIMEFRAMES csm4 = PERIOD_M30; // TimeFrame 4 for CSM
sinput ENUM_TIMEFRAMES csm5 = PERIOD_M15; // TimeFrame 5 for CSM
sinput int x_axis =0;
sinput int y_axis =20;
string TXT = "CM_BR";
string DefaultPairs[] = {"AUDCAD","AUDCHF","AUDJPY","AUDNZD","AUDUSD","CADCHF","CADJPY","CHFJPY","EURAUD","EURCAD","EURCHF","EURGBP","EURJPY","EURNZD","EURUSD","GBPAUD","GBPCAD","GBPCHF","GBPJPY","GBPNZD","GBPUSD","NZDCAD","NZDCHF","NZDJPY","NZDUSD","USDCAD","USDCHF","USDJPY"};
string TradePairs[];
string curr[8] = {"USD","EUR","GBP","JPY","AUD","NZD","CAD","CHF"};
double currstrength[8];
string postfix=StringSubstr(Symbol(),6,6);
struct pairinf {
double PairPip;
int pipsfactor;
double Pips;
double PipsSig;
double Pipsprev;
double Spread;
double point;
int lastSignal;
int base;
int quote;
}; pairinf pairinfo[];
struct currency
{
string curr;
double strength;
double prevstrength;
double crs;
int sync;
datetime lastbar;
}
; currency currencies[8];
struct signal {
string symbol;
double range;
double range1;
double ratio;
}; signal signals[];
int CandlePeriod;
string timer1,timer2,timer3,timer4,timer5;
int AutoTimer=5;
int OnInit()
{
// код доступен только после оплаты
}
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[])
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
string s;
string name;
s = TXT; //_symbolPair;
for (int i = ObjectsTotal() - 1; i >= 0; i--)
{
name = ObjectName(i);
if (StringSubstr(name, 0, StringLen(s)) == s)
{
ObjectDelete(name);
}
}
EventKillTimer();
}
void OnTimer()
{
if(csm1>0) CandlePeriod=csm1;
GetSignals(StrToTime(timer1),100,0);
if(csm2>0) CandlePeriod=csm2;
GetSignals(StrToTime(timer2),180,0);
if(csm3>0) CandlePeriod=csm3;
GetSignals(StrToTime(timer3),260,0);
if(csm4>0) CandlePeriod=csm4;
GetSignals(StrToTime(timer4),340,0);
if(csm5>0) CandlePeriod=csm5;
GetSignals(StrToTime(timer5),420,0);
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparamПоказано первые 50% кода (символов: 6320)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.