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

Index Scalper PRO

index scalper pro.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, ориентированный на работу на ECN-счетах с такими инструментами, как Nasdaq USTEC и DAX40. Советник анализирует экстремумы цен с помощью индикатора ZigZag и выставляет отложенные ордера типа Buy/Sell Stop или Buy/Sell Limit на основе найденных уровней. Реализована фильтрация по времени, автоматическое удаление отложенных ордеров в пятницу, трейлинг-стоп и инкрементальное увеличение лота при достижении заданного уровня прибыли.

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

НастройкаОписание
> > > (s0) Раздел общих настроек — Текстовый заголовок раздела общих настроек
Comments (Comments) Комментарий ордера — Текст комментария, присваиваемого открываемым ордерам
Lot (Lot) Начальный лот — Начальный размер лота для сделок
Smart lot (lotChange) Умный лот — Включает автоматическое увеличение лота при росте баланса
Every N$ profit upper lot (lotUpper) Прибыль для увеличения лота — Порог прибыли в долларах, при превышении которого лот увеличивается
Upper lot (lotU) Прирост лота — Величина увеличения лота при срабатывании порога прибыли
Stop Loss (StopLoss) Стоп-лосс — Размер стоп-лосса в пунктах для каждого ордера
Take Profit (TakeProfit) Тейк-профит — Размер тейк-профита в пунктах для каждого ордера
Trailing Stop (TrailingStop) Трейлинг-стоп — Уровень трейлинг-стопа в пунктах
Friday (DeletePendingsOnFriday) Удаление отложек в пятницу — Автоматическое удаление всех отложенных ордеров в пятницу после 23 часов
Magic Number (MagicNumber) Магический номер — Идентификационный номер для ордеров советника
Получить полный код

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

#property icon "\\Images\\icon.ico"
#property description "======================"
#property description "Advisor for ECN accounts"
#property description "Nasdaq (USTECH Cash)"
#property description "DAX40 (DE40Cash)"
#property description "======================"
#property version   "3.61"
#property strict

#include <..\Libraries\stdlib.mq4>

#define LICENSE_PANEL
const string VERSION="3.61";
const int ADMIN_ID=36;
const int PRODUCT_ID=58;//Index Scalper PRO MT4
#include <EA_Protect/Protect.mqh>
SHOW_LICENSE_PARAMS
PROTECT_CREATE

/*
в начале кода подключаем и настраиваем на ID товара. ID берем из вкладки Дополнительно при создании товара, либо в EA Protect - Продукты
const int PRODUCT_ID=3265;//Index Scalper PRO MT4
const string VERSION="3.50"; //номер версии при обновлении меняем тоже, это на будущее когда будет доступна првоерка версий и обновления
#include <EA_Protect/Protect.mqh>
SHOW_LICENSE_PARAMS
PROTECT_CREATE

----
Данные макросы нужно встроить в указаные функции.

PROTECT_INIT - в функцию OnInit, инициализация
PROTECT_DEINIT в функцию OnDeinit, деинициализация
PROTECT_EVENT в функцию OnChartEvent, прием сообщений внутренних и резервный таймер
PROTECT_TIMER в функцию OnTimer, опрос по таймеру данных с сайта
статус защиты в любом месте можно получить через переменную PROTECT_STATUS
возвращает true - если все в порядке или false если проблемы. Статус при опросах пишет в журнал.

После компиляции компилируем дополнительно с помощью защиты от MQL5 Сервис - MQL5 Cloud Protector - это обязательно делать необходимо.

На сайт загружать все в архиве zip
желательно в архиве чтобы было все по папкам
MQL4 / MQL5
Experts
Indicators

*/

enum pending
  {
   StopOrder  = 1,
   LimitOrder = 2,
  };

extern string s0 = "<== General Settings ==>"; //>  >  >
pending OrdersType              = 1;
extern string  Comments                = "IndexScalperPRO"; //Comments
extern double  Lot                     = 0.01; //Lot
extern bool lotChange                  = true; //Smart lot
extern int lotUpper                    = 10; //Every N$ profit upper lot
extern double lotU                     = 0.01; //Upper lot
extern double  StopLoss                = 100; // Stop Loss
extern double  TakeProfit              = 2000; //Take Profit
extern double  TrailingStop            = 100; //Trailing Stop
extern bool    DeletePendingsOnFriday  = true; //Friday
extern int     MagicNumber             = 12324; //Magic Number
string TimeFilter = "----------Time Filter";
int StartHour = 0;
int StartMinute = 0;
int EndHour = 23;
int EndMinute = 59;
int Filter = 300;
string s1 = "<== ZigZag Settings ==>"; //>  >  >
int     ExtDepth                = 15; //Depth
int     ExtDeviation            = 5;  //Deviation
int     ExtBackstep             = 3;  //Backstep

int PipsDivided = 1;
datetime Update_Time = 0;

double balance;
double lot;
int TotalLossBuy,TotalLossSell,TotalWinBuy,TotalWinSell;
datetime timeStart;

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

  int f0_4() {
   if ((Hour() > StartHour && Hour() < EndHour) || (Hour() == StartHour && Minute() >= StartMinute) || (Hour() == EndHour && Minute() < EndMinute)) return (1);
   return (0);
}

void OnDeinit(const int reason)
  {

   PROTECT_DEINIT
   ObjectDelete(0,"BmpLabel");
   ObjectsDeleteAll(0,"Panel");
  }

void OnTick()
  {
      // код доступен только после оплаты
   }
   bool bStatus=PROTECT_STATUS; //получаем текущий статус защиты, его можем дальше использовать в нужных местах для блокировки функционала или разрешения его. true разрешает
   if(!bStatus)
      return; //прервем выполнение программы, если блокировка

   BuyCountLosses();
   SellCountLosses();
   int Spread = (int)MarketInfo(Symbol(),MODE_SPREAD);
   double currentBalance = AccountBalance();
   changeObj("Panel_BalanceNumber",DoubleToString(AccountBalance(),2));
   changeObj("Panel_TimeNumber",TimeToStr(TimeCurrent(),TIME_MINUTES));
   changeObj("Panel_SpreadNumber",IntegerToString(Spread));
   changeObj("Panel_StatusNumber",IsTradeAllowed()?"working":"stopped");

   changeObj("Panel_WinLossNumber",StringFormat("%d/%d",TotalWinBuy+TotalWinSell,TotalLossSell+TotalLossBuy));

   trailing_simple(MagicNumber,TrailingStop,TrailingStop);

   if(Update_Time != iTime(NULL,0,0))   //обновлять данные всех индикаторов раз в период
     {
      Update_Time = iTime(NULL,0,0); //перезаписываем значение переменной для хранения времени текущей свечи

      int k=MathMin(Bars,100);
      double zz1 = 0, zz2 = 0;
      for(int i=1; i<k-1; i++)
        {
         zz2 = iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
         if(zz2 != 0)   //если на данной свече есть значение в буфере индикатора
           {
            if(zz1 == 0)
               zz1 = zz2; //сохранение первого значения ближайшего ЗигЗага
            else
               break; //останавливаем цикл после нахождения второго значения индикатора
           }
        }

      if(zz1 > 0 && zz2 > 0 && !OrderExist(zz2))
        {
         if(OrdersType == StopOrder)
           {
            if(Ask < zz2 && zz1 < zz2)
               OpenTrade(OP_BUYSTOP, zz2); //открытие ордера to purchase BUY STOP
            else
               if(Bid > zz2 && zz1 > zz2)
                  OpenTrade(OP_SELLSTOP, zz2); //открытие ордера for sale SELL STOP
           }
         else
            if(OrdersType == Limi

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

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

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

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

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

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

Стоимость полного кода
1 476,30₽ ≈ $18.05