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

fx_3ma_arrow22_5402521786908705462.mq5

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

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

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

О программе

Данный индикатор для MetaTrader 5 выполняет расчёт аналитической величины на основе диапазона цен High/Low за заданный период с применением сглаживающей трансформации. Результат отображается в отдельном окне в виде двух линий (положительных и отрицательных значений) и общей объединённой линии. Индикатор рассчитывает две скользящие средние от полученной трансформированной величины.

При пересечении выбранных линий индикатор формирует стрелочные сигналы покупки и продажи, которые отображаются на графике цен. При включённом режиме отображения дополнительно создаются текстовые объекты с отметками точек выхода. Параметры настройки позволяют выбрать тип цены, период расчёта, типы скользящих средних и визуальные параметры стрелок.

Режим быстрой обработки ограничивает расчёт последними 100 барами. Параметр проверки сигнала определяет, на открытом или закрытом баре фиксируется сигнал. Индикатор не содержит встроенной торговой логики и выполняет исключительно аналитическую функцию.

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

НастройкаОписание
period Период расчёта диапазона High/Low для определения максимума и минимума цены.
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 Переключатель отображения текстовых объектов с сигналами покупки, продажи и выхода на графике.
MA1period Период первой скользящей средней, рассчитываемой от трансформированной величины.
TypeHelp Справочный текст, описывающий допустимые типы скользящих средних: SMA — 0, EMA — 1, SMMA — 2, LWMA — 3.
TypeHelp2 Справочный текст с примером настроек типов скользящих средних.
TypeMA1 Тип первой скользящей средней. 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
TypeMA2 Тип второй скользящей средней. 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
SignalBar Смещение бара для проверки сигнала. 0 — на открытом баре, значение больше 0 — на закрытых барах.
NumLine Номер линии, на основе которой строятся стрелочные сигналы. 1 — объединённая линия, 2 — первая скользящая средняя, 3 — вторая скользящая средняя.
widthSimbol Толщина стрелочных символов.
indexSymbolUp Код символа для стрелки покупки.
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