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

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 и перейдите к оплате.

Стоимость полного кода
632₽ ≈ $7.72