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

ytg_adx_v1.mq5

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

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

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

О программе

ytg_adx_v1.mq5 — торговый советник для MetaTrader 5, использующий индикатор ADX (Average Directional Index) для формирования торговых сигналов. Советник анализирует направление ценовой динамики по линиям ADX+ и ADX- и открывает позиции при пересечении заданных пороговых уровней.

Продукт обрабатывает события OnTick, проверяет наличие открытых позиций с заданным магическим номером на текущем инструменте и при отсутствии таковых инициирует новые сделки через стандартные торговые API MetaTrader 5.

В качестве параметров задаются объём позиции, стоп-лосс, тейк-профит, допустимое отклонение цены, период расчёта ADX и уровни для линий направления. Советник работает на текущем символе и поддерживает выбор таймфрейма.

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

НастройкаОписание
Copyright Текстовый параметр, содержащий информацию об авторе советника.
e_mail Текстовый параметр, содержащий адрес электронной почты автора советника.
Skype Текстовый параметр, содержащий контакт Skype автора советника.
TimeFrames Вариант настройки, определяющий таймфрейм для анализа ценовых данных и расчёта индикатора.
shift Целочисленный параметр, задающий сдвиг при чтении значений буферов индикатора.
adx_period Целочисленный параметр, задающий период расчёта индикатора ADX.
MAGIC Целочисленный параметр, задающий магический номер для идентификации позиций, открытых советником.
Lots Числовой параметр, задающий объём лота для открытия торговой позиции.
SL Целочисленный параметр, задающий значение стоп-лосса в пунктах от цены открытия.
TP Целочисленный параметр, задающий значение тейк-профита в пунктах от цены открытия.
dev Целочисленный параметр, задающий допустимое отклонение цены от запрашиваемой при выполнении торговых операций, в пунктах.
level_p Целочисленный параметр, задающий пороговое значение для линии ADX+ при формировании сигнала на покупку.
level_m Целочисленный параметр, задающий пороговое значение для линии ADX- при формировании сигнала на продажу.
Получить полный код

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

#property version   "1.00"

input  string Copyright="Yuriy Tokman";
input  string ????_??_?????_????????="??????????_???????";
input  string e_mail= "*********************";
input  string Skype = "yuriy.g.t";

input ENUM_TIMEFRAMES TimeFrames=0;
input int shift=1;

int h_adx=INVALID_HANDLE;
double b_adxP[];
double b_adxM[];
input int adx_period=28;

input int    MAGIC= 2899;
input double Lots = 0.1;
input int    SL = 500;
input int    TP = 500;
input int    dev= 30;

input int    level_p = 5;
input int    level_m = 5;

int OnInit(){
      // код доступен только после оплаты
   }
void OnDeinit(const int reason){}

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

int Sig_ADX()
  {
   int sig=0;

   if(h_adx==INVALID_HANDLE)
     {
      h_adx=iADXWilder(Symbol(),TimeFrames,adx_period);return(0);
     }
   else
     {
      if(CopyBuffer(h_adx,1,0,3+shift,b_adxP)<3+shift) return(0);
      if(CopyBuffer(h_adx,2,0,3+shift,b_adxM)<3+shift) return(0);
      if(!ArraySetAsSeries(b_adxP,true))return(0);
      if(!ArraySetAsSeries(b_adxM,true))return(0);
     }

   if(b_adxP[0+shift]>level_p && b_adxP[1+shift]<level_p)sig=+1;

   if(b_adxM[0+shift]>level_m && b_adxM[1+shift]<level_m)sig=-1;

   return(sig);
  }

bool ExtPos()
  {
   for(int i=0;i<PositionsTotal();i++)
     {
      if(Symbol()==PositionGetSymbol(i))
        {
         if(PositionGetInteger(POSITION_MAGIC)==MAGIC)
           {
            if(Pos

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

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

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

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

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

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

Стоимость полного кода
231,40₽ ≈ $2.83