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

ENESTO SCALPER

enesto scalper.mq4
Вы автор или правообладатель?

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

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

О программе

ENESTO SCALPER — торговый советник для MetaTrader 4, предназначенный для скальпинговой торговли на новых барах. Советник анализирует ценовые данные и технические показатели для формирования сигналов на покупку и продажу, а также управляет открытыми позициями с использованием фиксированных уровней стоп-лосса и тейк-профита.

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

НастройкаОписание
Keltner_Length Длина канала Кельтнера — Количество периодов для расчёта канала Кельтнера.
Keltner_Multiplier Множитель канала Кельтнера — Множитель, определяющий ширину полос канала Кельтнера.
informative only (EMA_Period) Период EMA — Период экспоненциальной скользящей средней (информационный параметр).
informative only (ATR_Period) Период ATR — Период усреднённого истинного диапазона (информационный параметр).
Stop Loss (points) (SL_Points) Стоп-лосс в пунктах — Размер стоп-лосса в пунктах цены.
Take Profit (points) (TP_Points) Тейк-профит в пунктах — Размер тейк-профита в пунктах цены.
LotSize Размер лота — Объём торговой позиции в лотах.
MagicNumber Магический номер — Идентификационный номер для ордеров советника.
points (Slippage) Допустимое проскальзывание — Максимально допустимое проскальзывание в пунктах при открытии ордера.
UseSupertrendFilter Использовать фильтр Supertrend — Включает или выключает фильтрацию сигналов по направлению Supertrend.
Supertrend_Period Период Supertrend — Период расчёта индикатора Supertrend.
Supertrend_Multiplier Множитель Supertrend — Множитель для расчёта полос Supertrend.
Use200EMAFilter Использовать фильтр 200 EMA — Включает или выключает фильтрацию сигналов по цене относительно 200 EMA.
EMA_Filter_Period Период EMA фильтра — Период экспоненциальной скользящей средней для фильтра направления.
Получить полный код

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

#property version   "3.00"
#property description "ENESTO SCALPER – Core version"
#property strict

extern int    Keltner_Length         = 20;
extern double Keltner_Multiplier     = 2.0;
extern int    EMA_Period             = 20;          // informative only
extern int    ATR_Period             = 14;          // informative only
extern double SL_Points              = 1500.0;      // Stop Loss (points)
extern double TP_Points              = 3000.0;      // Take Profit (points)
extern double LotSize                = 0.01;
extern int    MagicNumber            = 12345;
extern int    Slippage               = 3;           // points
extern bool   UseSupertrendFilter    = true;
extern int    Supertrend_Period      = 10;
extern double Supertrend_Multiplier  = 3.0;
extern bool   Use200EMAFilter        = true;
extern int    EMA_Filter_Period      = 200;

double point;
double minStopDist;            // for new orders
int    slipPoints;
double lot;
int    lastTradeDirection = 0; // 1=buy, -1=sell, 0=none

double trCompleted[];          // size = Keltner_Length+1
int    lastBars;

int    supertrendDir = 0;      // 1=up, -1=down, 0=neutral

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

void OnTick()
{
      // код доступен только после оплаты
   }
   if(Bars != lastBars)   // new bar only
   {
      double newTR = TrueRange(1);
      for(int i = Keltner_Length; i >= 1; i--)
         trCompleted[i] = trCompleted[i-1];
      trCompleted[0] = newTR;
      lastBars = Bars;

      double sum1 = 0, sum2 = 0;
      for(int i=0; i<Keltner_Length; i++)
      {
         sum1 += trCompleted[i];
         sum2 += trCompleted[i+1];
      }
      double smaTR1 = sum1 / Keltner_Length;
      double smaTR2 = sum2 / Keltner_Length;

      double basis1 = iMA(Symbol(), 0, Keltner_Length, 0, MODE_SMA, PRICE_CLOSE, 1);
      double basis2 = iMA(Symbol(), 0, Keltner_Length, 0, MODE_SMA, PRICE_CLOSE, 2);

      double lower1 = basis1 - smaTR1 * Keltner_Multiplier;
      double upper1 = basis1 + smaTR1 * Keltner_Multiplier;
      double lower2 = basis2 - smaTR2 * Keltner_Multiplier;
      double upper2 = basis2 + smaTR2 * Keltner_Multiplier;

      double close1 = iClose(Symbol(), 0, 1);
      double close2 = iClose(Symbol(), 0, 2);

      bool basicBuy  = (close1 > lower1 && close2 <= lower2);
      bool basicSell = (close1 < upper1 && close2 >= upper2);

      if(UseSupertrendFilter)
      {
         double atrST = iATR(Symbol(), 0, Supertrend_Period, 1);
         double high1 = iHigh(Symbol(), 0, 1);
         double low1  = iLow(Symbol(), 0, 1);
         double hl2   = (high1 + low1) / 2.0;
         double upper = hl2 + Supertrend_Multiplier * atrST;
         double lower = hl2 - Supertrend_Multiplier * atrST;

         if(supertrendDir == 0)
         {
            if(close1 > upper)      supertrendDir = 1;
            else if(close1 < lower) supertrendDir = -1;
         }
         else if(supertre

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

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

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

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

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

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

Стоимость полного кода
479,80₽ ≈ $5.86