Index Scalper PRO
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «index scalper pro.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индексный скальпер для 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.