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

trendscalper_tr_loosetest.mq4

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

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

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

О программе

Данный советник для MetaTrader 4 реализует скальпингную стратегию на основе пользовательской триггерной линии и фильтрации полосами Боллинджера. При пробое полос Боллинджера и пересечении пороговых значений триггерной линии советник открывает длинные или короткие позиции.

Советник поддерживает три режима управления капиталом: фиксированный размер лота, дробные лоты с учётом риска от баланса, а также целочисленные лоты с увеличением при росте баланса. Стоп-лосс задаётся в пунктах, а трейлинг-стоп рассчитывается на основе индикатора ATR.

Для фильтрации ложных сигналов используются полосы Боллинджера с периодом 100. Заявки отправляются через стандартные торговые функции MetaTrader 4. Советник отслеживает открытые позиции и управляет ими путём закрытия по цели или модификации стоп-лосса.

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

НастройкаОписание
LotsIfNoMM Размер лота без управления капиталом — Фиксированный размер лота при отключённом режиме управления капиталом (MM_Mode=0).
Stoploss Стоп-лосс — Расстояние стоп-лосса в пунктах от цены открытия позиции.
Slip Допустимое проскальзывание — Максимально допустимое проскальзывание цены исполнения в пунктах.
InitialTarget Начальная цель — Расстояние в пунктах от цены открытия, при котором возможен выход позиции по цели.
MM_Mode Режим управления капиталом — Режим управления размером лота: -1 — дробные лоты, 0 — фиксированный лот, 1 — целые лоты с учётом баланса.
MM_Risk Коэффициент риска — Коэффициент риска, определяющий размер лота в зависимости от баланса счёта при активном режиме управления капиталом.
Получить полный код

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

extern double    LotsIfNoMM=0.1;
extern int       Stoploss=40;
extern int       Slip=5;
extern int       InitialTarget=999;
extern int       MM_Mode=0;
extern int       MM_Risk=40;

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

int deinit()
  {

   return(0);
  }

double Opentrades,orders,first,mode,cnt,Ilo,sym,b;
double b4signal,Signal,Triggerline,b4Triggerline,Nowsignal,NowTriggerline,sl,LastOpByExpert,LastBarChecked;

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

   Comment(" Trailingstop    ",  b, "\n","      Tick no. ", iVolume(,0,0),
     "\n"," Lots    ",Ilo);

   /**********************************Money and Risk Management***************************************
   Changing the value of mm will give you several money management options
   mm = 0 : Single 1 lot orders.
   mm = -1 : Fractional lots/ balance X the risk factor.(use for Mini accts)
   mm = 1 : Full lots/ balance X the risk factor up to 100 lot orders.(use for Regular accounts)
   ***************************************************************************************************
   RISK FACTOR:
   risk can be anything from 1 up. 
   Factor of 5 adds a lot for every $20,000.00 added to the balance. 
   Factor of 10 adds a lot with every $10.000.00 added to the balance.
   The higher the risk,  the easier it is to blow your margin..
   **************************************************************************************************/

   if (MM_Mode < 0)  {
   Ilo = MathCeil(AccountBalance()*MM_Risk/10000)/10;
     if (Ilo > 100) {  
     Ilo = 100;  
     }
   } else {
   Ilo = LotsIfNoMM;
   }
   if (MM_Mode > 0)  
    {
   Ilo = MathCeil(AccountBalance()*MM_Risk/10000)/10;
    if (Ilo > 1)  
    {
    Ilo = MathCeil(Ilo);
    }
    if (Ilo < 1)  
    {
    Ilo = 1;
    }
    if (Ilo > 100)  
    {  
     Ilo = 100;  
     }
   }

   Opentrades=0;
   for (cnt=0;cnt<OrdersTotal();cnt++) 
   {
      if ( OrderSelect (cnt, SELECT_BY_POS) == false )  continue;
      if ( OrderSymbol()==Symbol()) Opentrades=Opentrades+1;
   }

   if (Opentrades==0)  //and iATR(5,2)<StopLoss*Point 

     {

     if (LastBarChecked == Time[0]) 
         return(0); 
      else 
  	      {
  	      LastBarChecked = Time[0]; 
  	      if (! High[1]>iBands(NULL,0,100,1,0,PRICE_CLOSE,MODE_UPPER,1) && ! Low[1]<iBands(NULL,0,100,1,0,PRICE_CLOSE,MODE_LOWER,1)) 
  	         return(0);
  	      }

      double HHR,HHO,LLR,LLO;
      double BP,SP;

	  HHR=High[Highest(NULL, 0, MODE_HIGH,1,0+1)];
	  HHO =High[Highest(NULL, 0, MODE_HIGH,15,0+1+1)];
	  LLR =Low [Lowest (NULL, 0, MODE_LOW,1,0+1)];
	  LLO =Low [Lowest (NULL, 0, MODE_LOW,15,0+1+1)];
	  BP =HHR-LLO;
	  SP=HHO -LLR;
	  Triggerline=(BP-SP)/(0.5*(BP+SP))*100;
	  if (Triggerline>=0) Triggerline= 100; else Triggerline=-100;

	  HHR=High[Highest(NULL, 0, MODE_HIGH,1,1+1)];
	  HHO =High[Highest(NULL, 0, MODE_HIGH,15,1+1+1)];
	  LLR =Low [Lowest (NULL, 0, MODE_LOW ,1,1+1)];
	  LLO =Low [Lowest (NULL, 0, MODE_LOW ,15,1+1+1)];
	  BP =HHR-LLO;
	  SP=HHO -LLR

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

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

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

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

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

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

Стоимость полного кода
422,50₽ ≈ $5.16