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

ntk_07.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

ntk_07.mq4 — советник для платформы MetaTrader 4, предназначенный для автоматической торговли на валютном рынке. Советник размещает отложенные ордера типа BUYSTOP и SELLSTOP, отслеживает открытые позиции и модифицирует их стоп-лосс и тейк-профит при срабатывании трейлинг-стопа. Также реализована функция безубытка и управление лотами с помощью мультипликатора.

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

НастройкаОписание
g1 Заголовок группы 1 — Текстовый параметр-разделитель для визуальной группировки настроек в интерфейсе.
netstep Шаг в пунктах — Расстояние в пунктах от текущей цены для размещения отложенных ордеров BUYSTOP и SELLSTOP.
sl Стоп-лосс в пунктах — Расстояние в пунктах от цены открытия ордера до уровня стоп-лосса.
tp Тейк-профит в пунктах — Расстояние в пунктах от цены открытия ордера до уровня тейк-профита.
TrailingStop Трейлинг-стоп в пунктах — Расстояние в пунктах для трейлинг-стопа, фиксирующего прибыль при движении цены в нужную сторону.
mul Множитель лота — Множитель, используемый при расчёте размера лота при наращивании позиций.
??????????? ?? ?????? (trailprofit) Корректировать тейк-профит при трейлинге — Флаг, определяющий, менять ли уровень тейк-профита при срабатывании трейлинг-стопа (1 — да, 0 — нет).
gg Заголовок группы 2 — Текстовый параметр-разделитель для визуальной группировки настроек в интерфейсе.
mm Режим управления лотами — Режим расчёта размера лота: 0 — фиксированный лот, 1 — лот как процент от баланса с делением на множитель, 2 — наращивание лота умножением базового лота.
Lots Базовый лот — Начальный размер лота для расчёта при различных режимах управления лотами.
LotLim Лимит лота — Максимально допустимый размер лота для новых позиций.
maxtrades Максимум сделок — Максимальное количество одновременно открытых сделок, используемое при расчёте лота.
percent Процент от баланса — Процент свободного средства, используемый для расчёта размера лота в режиме mm=1.
minsum Минимальный свободный маржинал — Минимальный размер свободного маржинала на счёте, при котором советник продолжает работу.
???? 1, ??????????? ????? ? ????????? (bezub) Включить безубыток — Флаг активации перемещения стоп-лосса в безубыточную точку при приближении цены к уровню открытия.
???? ????? ?????????? ????????? ?????? ???? ??????? ?? 5 ??????? ? ?????? ???????, ?? ????????? ? ?? (deltalast) Дистанция для безубытка в пунктах — Расстояние в пунктах от цены открытия, при достижении которого стоп-лосс перемещается в точку безубытка.
bq Заголовок группы 3 — Текстовый параметр-разделитель для визуальной группировки настроек в интерфейсе.
usema Использовать скользящую среднюю — Флаг включения корректировки трейлинг-стопа на основе значения простой скользящей средней.
MovingPeriod Период скользящей средней — Количество баров для расчёта простой скользящей средней, используемой при корректировке трейлинг-стопа.
MovingShift Сдвиг скользящей средней — Сдвиг индикатора скользящей средней относительно текущего бара.
bb Заголовок группы 4 — Текстовый параметр-разделитель для визуальной группировки настроек в интерфейсе.
???? ?????? (chas1) Час начала торговой сессии — Начальный час (по серверному времени) для разрешения размещения ордеров.
chas2 Час окончания торговой сессии — Конечный час (по серверному времени) для разрешения размещения ордеров.
?????? ? ????? (per) Период анализа диапазона — Количество баров для определения максимума и минимума цены; 0 отключает анализ диапазона.
0 - ??????? ?? ????? ?????????, 1- ??????? ?? ?????? (center) Использовать центр диапазона — Режим срабатывания: 0 — ордера при пробое верхней или нижней границы диапазона, 1 — ордера при достижении средней цены диапазона.
???????????? ??? ?????????? ????? (c10) Округление лота — Множитель для округления размера лота до определённого знака.
???????????? ??? ?????????? ??? (c20) Округление цены — Множитель для округления ценовых значений до определённого знака.
Получить полный код

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

/*
??? ????????:
?????? ??? ?????????? ?????? ?? ??????? ???? ?? ?????????? netstep
???? ???? ?? ??? ???????????, ?? ?????? ???????
?????? ??? ???? ?????????? ? ??????????? ???????? ???? ?? ?????????? netstep, ?? ? ????? ?????????? ?? mul
? ?.?. ?? ??? ??? ???? ?? ????????? ?????????? ??????? ?????? maxtrades ??? LotLim
? ?????? ????? ????? ? ??????? ? ??????????? ????, ?.?. ?????? ??????? ????? ? ?? ????? ?? ?????
??????? maxtrades, ?????, ??????? ??????? ?? ????????????? ?????, ? mul ?? ???? ?????? ???? ?????? ????, ????? ?? ???? ??????????? ????? ?? ????? ?????
??????? ??????? ???????? ????????? ???????? ? ??????????? ?????????? ?????????? ???? ??????????
?? ?????

?? ??????? 1 ??? ?????? ????????? ????????? ???? ?? eurusd (???????? ????), ????????? ???????? ?????????????? ?? ?????? 01.01.2008 - 01.11.2008.
??????? ????????? ???????? ? ????????? ??? ?????? ? ?????? ???????? 2007 ????, ??? ? ?????????????? ????????

????????? ?? ??????? ? ??? ???? ?????????? ???? ??????? ??? ?? ????? ? ??? ???????????? ?????.
???????? ????????:
1. ??????? ????????, ????? ????????? ??????? ?? ?????? ????? ???? ??????????? ????? ????????? ??????, ????? ??? ?????, ??????? ??????????? (?? ?????????? ? ????)
2. ? ???? ???? ??????? ???? ?????? ?? ?????, ?? ??????? ?? ????? ???????? ?? ????? ????????? ??????? ...
(????????, ?? ????? fxstart ?? ????????????? ?????? (? ??????? ?????????), ? ?? forex4u ??? ??)
???? ?????????? ?? ????? ??????, ????????? ? ???????????.
?????????? ???????????? ????????, set ????? ??? ?????? ????????????, ????????? ??????
??????? ?? ???? ????????? ??? ?????????, ???? ??? ??????? ??????? ??? ? ??? ???? ???????? ????????? ??????.
? ? ?????? ???? ????? ???? ??????? ????????? !
(?? ?????? ??? ?? ???????/??????, ? ?????? ??? IMHO ?????? ?????(?) ????? ?? ??? ?????) 

??????, ???? ??? ????? ???? ?????????, ?? ??? ??? (351 ??) 
(??????? ? ???????? ? ?????? ?????, ??? ????? ??????)
*/

extern string  g1="???????? ?????????";
extern int       netstep=23;
extern int       sl=115;
extern int       tp=300;
extern int       TrailingStop=75;
extern double    mul=1.7;
extern int       trailprofit=1;   // ??????????? ?? ??????

extern string  gg="?????????? ????????";

extern int       mm=2; 

extern double    Lots=1;
extern double    LotLim=7;
extern int       maxtrades=4;
extern double    percent=10;
extern double    minsum=5000;
extern int       bezub=0; // ???? 1, ??????????? ????? ? ?????????
extern int       deltalast=5; // ???? ????? ?????????? ????????? ?????? ???? ??????? ?? 5 ??????? ? ?????? ???????, ?? ????????? ? ????????? 

extern string  bq="???????";

extern int       usema=0;
extern int    MovingPeriod       = 100;
extern int    MovingShift        = 0;

extern string  bb="???????????? ??????????";

extern int       chas1=0;        // ???? ??????
extern int       chas2=24;
extern int       per=0;       // ?????? ? ?????
extern int       center=0; // 0 - ??????? ?? ????? ?????????, 1- ??????? ?? ??????
extern int       c10=10; // ???????????? ??? ?????????? ?????
extern int       c20=10000; // ???????????? ??? ?????????? ???

int oldtr=0;
double nulpoint=0;

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

int deinit()
  {

   return(0);
  }

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

 if (oldtr>TrailingStop) {TrailingStop=oldtr;}

if (mm==1)
   {
double lotsi=MathCeil(AccountBalance()/1000*percent/100);
  LotLim=lotsi;
  for(int t=1;t<=maxtrades;t++)   
    {
    lotsi=lotsi/mul;
    }
    lotsi=MathRound(lotsi*c10)/c10;    
    Lots=lotsi;
    }

if (mm==2)
   {
   lotsi=Lots;
  for(t=1;t<=maxtrades;t++)   
    {
    lotsi=lotsi*mul;
    }
    LotLim=lotsi;
    }    

if(DayOfWeek()==0 || DayOfWeek()==6)  return(0);// ?? ???????? ? ???????? ???.

if(AccountFreeMargin()<minsum) // ?????? ?????????
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }   

if (OrdersTotal()<1) // ???????? !
  {
  if (Hour()<chas1 || Hour()>(chas2) || chas1>chas2) return(0);// ????? ? ?????????

     if (per>0 && center==0) 
        {   
          double ssmax=High[1];
          double ssmin=Low[1];
          for (int x=2;x<=per;x++)
            {
            if (ssmax < High[x]) ssmax=High[x];
            if (ssmin > Low[x]) ssmin=Low[x];
            }
         if (Ask>=ssmax || Ask<=ssmin)
            {
            int ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+netstep*Point,3,Ask+netstep*Point-sl*Point,Ask+netstep*Point+tp*Point,"BUYSTOP",0,0,Green);          
            ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-netstep*Point,3,Bid-netstep*Point+sl*Point,Bid-netstep*Point-tp*Point,"STOPLIMIT",0,0,Green);   
            }
        }

     if (per>0 && center==1) 
        {   
          ssmax=High[1];
          ssmin=Low[1];
          for (x=2;x<=per;x++)
            {
            if (ssmax < High[x]) ssmax=High[x];
            if (ssmin > Low[x]) ssmin=Low[x];
            }
         if (Ask==(ssmax+ssmin)/2 || Bid==(ssmax+ssmin)/2)
            {
            ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+netstep*Point,3,Ask+netstep*Point-sl*Point,Ask+netstep*Point+tp*Point,"BUYSTOP",0,0,Green);          
            ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-netstep*Point,3,Bid-netstep*Point+sl*Point,Bid-netstep*Point-tp*Point,"STOPLIMIT",0,0,Green);   
            }
        }        

    if (per==0)
    {
    ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+netstep*Point,3,Ask+netstep*Point-sl*Point,Ask+netstep*Point+tp*Point,"BUYSTOP",0,0,Green) ;        
    ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-netstep*Point,3,Bid-netstep*Point+sl*Point,Bid-netstep*Point-tp*Point,"STOPLIMIT",0,0,Green);  
    }

  }

int cnt=0;
int mode=0; 

double buylot=0;double buyprice=0;double buystoplot=0;double buystopprice=0;double buylimitlot=0;double buylimitprice=0;
double selllot=0;double sellprice=0;double sellstoplot=0;double sellstopprice=0;double selllimitlot=0;double selllimitprice=0;
double buysl=0;double buytp=0;double sellsl=0;double selltp=0;
int bt=-1;int bst=-1;int blt=-1;int st=-1;int sst=-1;int slt=-1;

if (OrdersTotal()>0)////////////////////////////////////////////////////////////////

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

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

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

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

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

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

Стоимость полного кода
909,20₽ ≈ $11.11