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

trendscalper_tr.mq4

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

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

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

О программе

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

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

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

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

НастройкаОписание
LotsIfNoMM Лоты без менеджмента — Размер лота при отключённом менеджменте средств
Stoploss Стоп-лосс — Расстояние стоп-лосса в пунктах от цены открытия ордера
Slip Проскальзывание — Допустимое проскальзывание цены в пунктах при выполнении ордеров
InitialTarget Начальная цель по прибыли — Расстояние в пунктах, при достижении которого проверяется условие фиксации прибыли
BB2periodMin Минимальный период полос Боллинджера — Минимальный период для расчёта полос Боллинджера при поиске сигналов
BB2periodMax Максимальный период полос Боллинджера — Максимальный период для расчёта полос Боллинджера при поиске сигналов
BB2multiplier Множитель полос Боллинджера — Множитель для расчёта границ полос Боллинджера при определении потенциальных сигналов
TTFperiod1 Период триггера 1 — Первый период пользовательского индикатора, используемого для определения триггерных уровней
TTFperiod2 Период триггера 2 — Второй период пользовательского индикатора, используемого для дополнительных триггерных уровней; при значении 0 сигналы по второму периоду не генерируются
TSmultiplier Множитель перемещения стоп-лосса — Множитель для расчёта перемещения защитного уровня на основе ATR
MM_Mode Режим менеджмента средств — Режим менеджмента средств: 0 — фиксированные лоты, отрицательные значения — дробные лоты по балансу, положительные — целые лоты по балансу
MM_Risk Коэффициент риска — Коэффициент риска, используемый при расчёте размера лота в режимах менеджмента
Получить полный код

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

extern double    LotsIfNoMM=0.1;
extern int       Stoploss=40;
extern int       Slip=5;
extern int       InitialTarget=999;
extern int       BB2periodMin=85;
extern int       BB2periodMax=95;
extern double    BB2multiplier=0.95;
extern int       TTFperiod1=15;
extern int       TTFperiod2=0;
extern double    TSmultiplier=6;
extern int       MM_Mode=0;
extern int       MM_Risk=40;

double Opentrades,orders,first,mode,cnt,Ilo,sym,b;
double b4signal,Signal,Triggerline,b4Triggerline,Triggerline2,b4Triggerline2,NowTriggerline,sl,LastOpByExpert,LastBarChecked;
bool PotentialLong,PotentialShort;

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

int deinit()
  {

   return(0);
  }

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

   Comment(" Trailingstop    ",  b, "\n","      Tick no. ", iVolume(Symbol(),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 
  	      {

  	      if (IsTesting()==True) LastBarChecked = Time[0]; //Setting this only when backtesting ensures that the full entry code will be run on each tick (when there are no positions open), in case a setorder fails and needs to be retried. Eventually I'll add in MT4 errortrapping features as well.

  	      PotentialLong=false;
  	      PotentialShort=false;

         for (cnt=BB2periodMin;cnt<=BB2periodMax;cnt++) 
            {

            if (! PotentialShort && High[1]>(iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1) + ((iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_UPPER,1) - iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1)) * BB2multiplier)))
               {
               PotentialShort=True;
               }
            if (! PotentialLong && Low[1]<(iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1) - ((iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1) - iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_LOWER,1)) * BB2multip

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

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

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

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

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

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

Стоимость полного кода
480₽ ≈ $5.87