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

SMC Autotrader Momentum

smc trader triggerlines v2.1.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
TakeProfit Тейк-профит — Уровень фиксации прибыли в пунктах для открытых позиций.
Lots Объём сделки — Размер позиции в лотах, используемый при открытии сделок.
InitialStop Стоп-лосс — Начальный уровень стоп-лосса в пунктах для новых позиций.
TrailingStop Трейлинг-стоп — Расстояние трейлинг-стопа в пунктах от текущей цены для защиты прибыли.
Получить полный код

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

extern double TakeProfit = 50;
 extern double Lots = 0.1;
 extern double InitialStop = 30;
 extern double TrailingStop = 20;
 datetime BarTime;

  static string DirTrgS = "None";
  static string DirTrgM= "None";
  static string DirTrgL = "None";

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

int start()
  {
      // код доступен только после оплаты
   }
   int cnt,total,ticket,MinDist,tmp;
   double Spread;
   double ATR;
   double StopMA;
   double SetupHigh, SetupLow;

   int length;
   double lsma_length;
   double sum[30];
   double wt[30];
   double lsma_ma[30];
   double lengthvar;
   double tmpTG;
   int shift,i,j;
   double lsma10, lsma25;

 if(Bars<100)
  {Print("bars less than 100");
   return(0);}

 if(BarTime == Time[0]) {return(0);}

 BarTime = Time[0]; 

       length = 15;          //Hourly set to 15 bars  
       lsma_length = 15;

      for(shift = 30; shift >= 0; shift--)  //  MAIN For Loop
      { 
         sum[1] = 0;                                              
         for(i = length; i >= 1  ; i--)             //LSMA loop
         {
         lengthvar = length + 1;                               //lengthvar = 21  
         lengthvar /= 3;                                       //lengthvar = 7
         tmpTG = 0;
         tmpTG = ( i - lengthvar)*Close[length-i+shift];         //tmp = 20 - 7 * close[20-i+shift]
         sum[1]+=tmpTG;
         }
         wt[shift] = sum[1]*6/(length*(length+1));  
         j = shift;
         lsma_ma[shift] = wt[j+1] + (wt[j]-wt[j+1])* 2/(lsma_length+1);
       }
         DirTrgS = "None";
         if(wt[1] > lsma_ma[1] && wt[2] > lsma_ma[2] ) DirTrgS = "Long";    //wt[2] < lsma_ma[2] && 
         if(wt[1] < lsma_ma[1] && wt[2] < lsma_ma[2] ) DirTrgS = "Short";   // wt[2] > lsma_ma[2] && 

      length = 60;          //4Hourly = 15(hourly) *4
      lsma_length = 60;

      for(shift = 30; shift >= 0; shift--)  //  MAIN For Loop
      { 
         sum[1] = 0;                                              
         for(i = length; i >= 1  ; i--)             //LSMA loop
         {
         lengthvar = length + 1;                               //lengthvar = 21  
         lengthvar /= 3;                                       //lengthvar = 7
         tmpTG = 0;
         tmpTG = ( i - lengthvar)*Close[length-i+shift];         //tmp = 20 - 7 * close[20-i+shift]
         sum[1]+=tmpTG;
         }
         wt[shift] = sum[1]*6/(length*(length+1));  
         j = shift;
         lsma_ma[shift] = wt[j+1] + (wt[j]-wt[j+1])* 2/(lsma_length+1);
       }

         DirTrgM = "None";
         if(wt[1] > lsma_ma[1] && wt[2] > lsma_ma[2]) DirTrgM = "Long";   //2 days needed to confirm trend    //wt[2] < lsma_ma[2] && 
         if(wt[1] < lsma_ma[1] && wt[2] < lsma_ma[2]) DirTrgM = "Short";      //wt[2] > lsma_ma[2] && 

      length = 100;       // = Daily  
      lsma_length = 100;

      for(shift = 30; shift >= 0; shift--)  //  MAIN For Loop
      { 
         sum[1] = 0;                                              
         for(i = length; i >= 1  ; i--)             //LSMA loop
         {
         lengthvar = length + 1;                               //lengthvar = 21  
         lengthvar /= 3;                                       //lengthvar = 7
         tmpTG = 0;
         tmpTG = ( i - lengthvar)*Close[length-i+shift];         //tmp = 20 - 7 * close[20-i+shift]
         sum[1]+=tmpTG;
         }
         wt[shift] = sum[1]*6/(length*(length+1));  
         j = shift;
         lsma_ma[shift] = wt[j+1] + (wt[j]-wt[j+1])* 2/(lsma_length+1);
       }

         DirTrgL = "None";
         if(wt[1] > lsma_ma[1] && wt[2] > lsma_ma[2]) DirTrgL = "Long";   //2 days needed to confirm trend    //wt[2] < lsma_ma[2] && 
         if(wt[1] < lsma_ma[1] && wt[2] < lsma_ma[2]) DirTrgL = "Short";      //wt[2] > lsma_ma[2] && 

 MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);
 Spread=(Ask-Bid);

 double TrendS=iMA(NULL,0,5,0,MODE_SMA,PRICE_C

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

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

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

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

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

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

Стоимость полного кода
532,30₽ ≈ $6.51