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

FX 3 MA

fx_3ma_arrow22_5978916310816397259.mq5
Вы автор или правообладатель?

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

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

О программе

FX 3 MA — пользовательский индикатор для MetaTrader 4, отображаемый в отдельном окне с семью буферами. Он рассчитывает аналитическую линию на основе ценового диапазона за заданный период и применяет к ней сглаживание. На основе этой линии строятся две скользящие средние с настраиваемыми типами и периодами.

Индикатор визуализирует пересечения нуля выбранной линии в виде стрелок, а также формирует текстовые объекты с метками BUY, SELL и EXIT при выполнении условий направления изменения значения. Все параметры, включая типы и периоды скользящих средних, пороговые значения и отображение сигналов, настраиваются пользователем.

Продукт работает в среде MetaTrader 4 на языке MQL4 и предназначен для аналитической визуализации рыночных данных.

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

НастройкаОписание
period Период — Период для определения максимума и минимума ценового диапазона при расчёте аналитической линии.
0 or other = (H+L)/2 (price) Тип цены — Тип цены для расчёта (0 — (H+L)/2, 1 — Open, 2 — Close, 3 — High, 4 — Low, 5 — (H+L+C)/3, 6 — (O+H+L+C)/4, 7 — (O+C)/2).
Mode_Fast Ускоренный режим — Переключатель ускоренного режима — при включении обработка ограничивается 100 последними барами.
Signals Отображение сигналов — Переключатель создания текстовых объектов с метками BUY, SELL и EXIT на графике.
MA1period Период MA1 — Период первой скользящей средней, рассчитываемой на основе преобразованной линии.
TypeHelp Справка типов MA — Справочный текст, описывающий доступные типы скользящих средних.
TypeHelp2 Рекомендуемые настройки — Справочный текст с рекомендуемыми настройками типов скользящих средних.
TypeMA1 Тип MA1 — Тип первой скользящей средней (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA).
TypeMA2 Тип MA2 — Тип второй скользящей средней (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA).
???????? ??????? ?? ????. 0 - ?? ???????? ????, > 0 - ?? ????????. (SignalBar) Бар сигнала — Смещение бара для начала расчёта и отрисовки сигналов.
????? ????? ?? ????????? (NumLine) Номер линии — Номер линии для определения пересечений нуля при отрисовке стрелок (1 — основная, 2 — MA1, 3 — MA2).
??????? ??????? (widthSimbol) Толщина стрелки — Толщина стрелок-сигналов на графике.
241 //??? ??????? buy (indexSymbolUp) Индекс стрелки покупки — Индекс символа стрелки, отображаемой при восходящем сигнале.
242 //??? ??????? sell (indexSymbolDn) Индекс стрелки продажи — Индекс символа стрелки, отображаемой при нисходящем сигнале.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Blue
#property indicator_color4 Yellow
#property indicator_color5 Lime

double buffer1[];
double buffer2[];
double buffer3[];
double MA1buffer[];
double MA2buffer[];
double MA_sUP[];
double MA_sDN[];

extern int period=10;
extern int price=0; // 0 or other = (H+L)/2

extern bool Mode_Fast= False;
extern bool Signals= False;
extern int MA1period=9, MA2period=45;
extern string TypeHelp = "SMA- 0, EMA - 1, SMMA - 2, LWMA- 3";
extern string TypeHelp2 = "John Hyden settings TypeMA1=0, TypeMA2=3";
extern int TypeMA1=0;
extern int TypeMA2=3;

extern int SignalBar = 1; //???????? ??????? ?? ????. 0 - ?? ???????? ????, > 0 - ?? ????????. 
extern int NumLine = 1; //????? ????? ?? ?????????
extern int  widthSimbol = 1;   //??????? ???????
extern int  indexSymbolUp = 233; //241 //??? ??????? buy
extern int  indexSymbolDn = 234; //242 //??? ??????? sell                           

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

int deinit()
  {
  int i;
  double tmp;

  for (i=0;i>Bars;i++)
    {
    ObjectDelete("SELL SIGNAL: "+DoubleToStr(i,0));
    ObjectDelete("BUY SIGNAL: "+DoubleToStr(i,0));
    ObjectDelete("EXIT: "+DoubleToStr(i,0));
    }
  return(0);
  }

double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;

int buy=0,sell=0;

int start()
  {
      // код доступен только после оплаты
   }
  int counted_bars=IndicatorCounted();
  int i;
  int barras;
  double _price;
  double tmp;

  double MinL=0;
  double MaxH=0;                    

  double Threshold=1.2; 

  if(counted_bars>0) counted_bars--;

  barras = Bars-counted_bars;
  if (Mode_Fast)
    barras = 100;
  i = 0;
  while(i<barras)
   {
   MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
   MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];

   switch (price)
     {
     case 1: _price = Open[i]; break;
     case 2: _price = Close[i]; break;
     case 3: _price = High[i]; break;
     case 4: _price = Low[i]; break;
     case 5: _price = (High[i]+Low[i]+Close[i])/3; 

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

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

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

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

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

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

Стоимость полного кода
405,50₽ ≈ $4.96