//-------------------------------------------------------------------+
//|                                                  2JurXSystem.mq4 |
//|                             Copyright © 2006,   Nikolay Kositsin | 
//|                              Khabarovsk,   farria@mail.redcom.ru | 
//-------------------------------------------------------------------+
#property copyright "Copyright © 2006, Nikolay Kositsin"
#property link      "farria@mail.redcom.ru"
//---- ВХОДНЫЕ ПАРАМЕТРЫ ЭКСПЕРТА 
extern double Money_MANAGAMENT=0.15;
extern int Length1  = 20; // глубина JurX сглаживания медленного мувинга
extern int Length2  =  5; // глубина JurX сглаживания быстрого мувинга
extern int STOPLOSS = 50; // Размер стоплосса
extern int TAKEPROFIT = 50; // Размер тейкпрофита 
//-------------------------------------------------------------------+
//| Expert functions                                                 |
//-------------------------------------------------------------------+
#include <Lite_EXPERT.mqh>
//-------------------------------------------------------------------+
//| JurXSeries1() functions                                          |
//-------------------------------------------------------------------+
#include <JurXSeries1.mqh>
//-------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//-------------------------------------------------------------------+
int init()
  {
//---- 

 //---- Здесь должен быть код инициализации вашего эксперта
  
//---- 

//----+ Изменение размеров буфферных переменных функции JurXSeries1, nJurX1.number=2(Два обращения к функции JurXSeries1)
if(JurXSeries1Resize(2)==0)return(-1);
return(0);
  }
//-------------------------------------------------------------------+
//| Custom expert function                                           |
//-------------------------------------------------------------------+
int start()
{ 
//---- введение переменной памяти для расчёта переменной limit
static int Time2;
//---- введение переменной памяти для запоминаний значения второго бара
static double Vel21,Vel22,Vel11,Vel12;
//---- введение логических переменных для команд покупки и продажи 
bool Buy_Signal,Sell_Signal;
//---- введение переменных с плавающей точкой 
double Series,Resalt;
//---- Введение целых переменных 
int reset,bar,MaxBar,limit; 
//---- 
MaxBar=Bars-1;
//---- определение номера самого старого бара, начиная с которого будет произедён пересчёт новых баров
limit=iBarShift(NULL,0,Time2,true)-1;
//---- Проверка на ошибку
if (limit<0)limit=MaxBar;
//---- Инициализация переменной памяти
Time2=Time[1];

//----+ Цикл обращений к функции JurXSeries1()
for(bar=limit;bar>=1;bar--)
 {
  Series=Close[bar];
  //----+ Обращение к функции JurXSeries1()за номером 0, 
  //параметры nJurX1.Phase и nJurX1.Length не меняются на каждом баре (nJurX1.din=0)
  Resalt=JurXSeries1(0,0,MaxBar,limit,Length1,Series,bar,reset);
  //---- проверка на ошибки выполнения функции JurXSeries1()
  if (reset!=0)return(-1);
  //----+ 
  if (bar==1)Vel11=Resalt;
  
  //----+ Обращение к функции JurXSeries1()за номером 1, 
  //параметры nJurX1.Phase и nJurX1.Length не меняются на каждом баре (nJurX1.din=0)
  Resalt=JurXSeries1(1,0,MaxBar,limit,Length2,Series,bar,reset);
  //---- проверка на ошибки выполнения функции JurXSeries1()
  if (reset!=0)return(-1);
  //----+ 
  if (bar==1)
   {
    Vel12=Resalt;
    Vel21=Vel11;
    Vel22=Vel12;
   }
 } 
//----+ 
if (Trend)
 {
  if ((Vel11-Vel21>=0)&&(Vel22<Vel21)&&(Vel12>Vel11))Buy_Signal =true; else Buy_Signal =false; 
  if ((Vel11-Vel21<=0)&&(Vel22>Vel21)&&(Vel12<Vel11))Sell_Signal=true; else Sell_Signal=false;
 }
else
 {
  if ((Vel22<Vel21)&&(Vel12>Vel11))Buy_Signal =true; else Buy_Signal =false; 
  if ((Vel22>Vel21)&&(Vel12<Vel11))Sell_Signal=true; else Sell_Signal=false;
 }
if (limit==Bars)return(0);
//----+ +===========================================================================================================+
//---- 
 
  //---- Здесь должен быть отдающая приказы на совершение сделок исполнительная часть кода вашего эксперта

//---- 
return(0);
}
//----+ 

