Внешние переменные

Внешние переменные

Теперь определим внешние переменные (те, которые будут в настройках советника)


Нам потребуются:


Magic -магическое число (идентификатор ордера, нужен для того, чтобы советник мог отличать свои ордера от других, например открытых вручную)


SL -стоп лосс


T_P тейк (точнее соотношение лось-профит)


Ind_p(1-4) -так же зарезервируем несколко переменных под параметры индикаторов.


пишем:


extern int magic=12345;
extern int sl=40;
extern int tp=120;
extern int ind_p1=0;
extern int ind_p2=0;
extern int ind_p3=0;
extern int ind_p4=0;


Далее проведем небольшую проверку:

 

  1. Проверим дц на пятизнак.
  2. Проверим счёт. (демо или реал)

1. В случае пятизнака нужно стоп лосс умножить на 10.
2. если счёт реальный-запретить работу советника.(ну хотя бы для того, чтобы случайно не запусть советника на реале.)


для этого определим булевую переменную trade.
bool trade;

if(Digits==3||Digits==5)sl=sl*10;//в случае пятизнака умножаем стоп лосс на 10


if(IsDemo())trade=true;
else
trade=false;

всё это безобразие запишем в функции init().
Т. К. эта функция выполняется один раз при запуске советника,
нет необходимости проводить проверку постоянно.
должно получиться вот что:

// +------------------------------------------------------------------+
// | test.mq4 |
// | lapot |
// | http://lapot10.ru/ |
// +-------------------------------------------------------------------+
#property copyright "lapot"
#property link "http://lapot10.ru/"
extern int magic=12345;
extern int sl=40;
extern int t_p=120;
extern int ind_p1=0;
extern int ind_p2=0;
extern int ind_p3=0;
extern int ind_p4=0;
int tp;
bool trade;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
if(Digits==3||Digits==5)sl=sl*10;//в случае пятизнака умножаем стоп лосс на 10
if(IsDemo())trade=true;
else
trade=false;
//Высчитаем тейк профит
tp=MathCeil(sl*t_p)/100;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if(!trade)return(0);//торговля запрещена
//----
return(0);
}
//+------------------------------------------------------------------+
 

Комментарии (0)

Нет комментариев. Ваш будет первым!

Яндекс.Метрика