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

Scalp-M PRO 2.0

scalp-m pro 2.0@lifeindreamsworld.mq4
Вы автор или правообладатель?

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

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

О программе

Scalp-M PRO 2.0 — торговый советник для MetaTrader 4, написанный на MQL4. Он работает на графике выбранного инструмента, обрабатывает тики и события графика, а также использует таймер для периодического обновления котировок и повторного запуска торговой логики. Советник открывает рыночные ордера BUY и SELL, сопровождает их стоп-лоссом и трейлингом, а также предоставляет информационную панель с показателями счёта и кнопки ручной торговли.

Советник рассчитывает объём лота на основе баланса счёта и параметра Risk, ограничивая его минимальным и максимальным лотом инструмента. Стоп-лосс для открываемых позиций вычисляется от экстремума предыдущего бара и ограничивается параметрами MinStopLoss и MaxStopLoss. Трейлинг активируется при достижении заданных условий и изменяет стоп-лосс по мере движения цены. Торговые операции выполняются только при отсутствии открытых ордеров советника и при достаточной свободной марже.

Вход в рынок возможен как автоматически по изменению цены на заданное число пунктов, так и вручную с помощью кнопок BUY и SELL на информационной панели. Автоматические сделки учитывают максимально допустимый спред и разрешённый временной интервал. Все ордера помечаются заданным Magic-номером, что позволяет советнику отслеживать только свои позиции.

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

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

НастройкаОписание
Risk Риск — Коэффициент риска для расчёта торгового объёма от баланса счёта.
StopLoss Стоп-лосс — Базовый размер стоп-лосса в пунктах от экстремума предыдущего бара.
MaxStopLoss Максимальный стоп-лосс — Максимальный размер стоп-лосса в пунктах.
MinStopLoss Минимальный стоп-лосс — Минимальный размер стоп-лосса в пунктах.
Tral Трейлинг — Размер шага трейлинга в пунктах.
TralStart Начало трейлинга — Расстояние в пунктах от цены открытия до начала трейлинга.
TimeStart Время начала — Час начала разрешённого времени для автоматических сделок.
TimeEnd Время окончания — Час окончания разрешённого времени для автоматических сделок.
MaxSpread Максимальный спред — Максимально допустимый спред в пунктах для открытия автоматических сделок. Значение 0 отключает проверку.
PipsStep Шаг в пунктах — Шаг в пунктах для автоматического входа в рынок при изменении цены.
Magic Магический номер — Уникальный идентификатор ордеров советника для их отслеживания.
SpeedEA Скорость советника — Интервал таймера в миллисекундах для периодического обновления котировок и вызова торговой логики.
Info Показывать информацию — Включает или отключает отображение информационной панели и торговых кнопок на графике.
TextColor Цвет текста — Цвет текстовых подписей на информационной панели.
InfoDataColor Цвет данных информации — Цвет числовых данных на информационной панели.
FonColor Цвет фона — Цвет фона информационной панели и служебных сообщений.
FontSizeInfo Размер шрифта информации — Размер шрифта текста информационной панели и кнопок.
Получить полный код

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

#property version   "2.00"
#property strict

extern double    Risk             =0.01;  
extern double    StopLoss         =1;   
extern double    MaxStopLoss      =20;
extern double    MinStopLoss      =5;
extern double    Tral             =6;  
extern double    TralStart        =4;  
extern int       TimeStart        =0;   
extern int       TimeEnd          =1;
extern int       MaxSpread        =5; 
extern int       PipsStep         =22;
extern int       Magic            =2020;
extern int       SpeedEA          =50;
extern bool      Info             =true;  
extern color     TextColor        =White;   
extern color     InfoDataColor    =DodgerBlue; 
extern color     FonColor         =Black;   
extern int       FontSizeInfo     =7;      

string           Commemt          ="Scalp-M PRO 2.0 by www.mforex.pro";
int              D,o;
double           Lot              =0;
static double    price            =0;
double           Slb,Sls;
double           spread;
int              dig;
color            FonButtonBuy     =Blue;
color            FonButtonSell    =Red;
color            TextButtonBS     =White; 
color            ButtonBorder     =Blue;
color            ClickButton      =Black;
int              AccNumber        =0;

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

void OnDeinit(const int reason)
{
EventKillTimer();
ObjectsDeleteAll(0,OBJ_LABEL);
ObjectsDeleteAll(0,OBJ_RECTANGLE_LABEL);
}

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

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{

if(ObjectGetInteger(0,"TRADEs_B",OBJPROP_STATE))
 {ObjectSetInteger(0,"TRADEs_B",OBJPROP_BGCOLOR,ClickButton);}
else 
 {ObjectSetInteger(0,"TRADEs_B",OBJPROP_BGCOLOR,FonButtonBuy);}

if(ObjectGetInteger(0,"TRADEs_S",OBJPROP_STATE))
 {ObjectSetInteger(0,"TRADEs_S",OBJPROP_BGCOLOR,ClickButton);}
else 
 {ObjectSetInteger(0,"TRADEs_S",OBJPROP_BGCOLOR,FonButtonSell);}

if(id==CHARTEVENT_OBJECT_CLICK)
{string clickedChartObject=sparam;

if(clickedChartObject=="TRADEs_B")
  {o=OrderSend(Symbol(),OP_BUY,Lot,Ask,10,0,0,Commemt,Magic,0,Green);       
   ObjectSetInteger(0,"TRADEs_B",OBJPROP_STATE,false);}
if(clickedChartObject=="TRADEs_S")
  {o=OrderSend(Symbol(),OP_SELL,Lot,Bid,10,0,0,Commemt,Magic,0,Red);
   ObjectSetInteger(0,"TRADEs_S",OBJPROP_STATE,false);}

ChartRedraw();
}}

int CountHistBar(int type)
{
int count=0;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
  {
  if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),0,0) && (type==-1 || OrderType()==type)) 
  {
  count++;
  }
  }
return(count);}

void ModOrder()
{int tic;
 bool mod;
for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
tic=OrderTicket();

if (OrderType()==OP_BUY && OrderStopLoss()==0)
{mod=OrderModify(tic,OrderOpenPrice(),Slb,OrderTakeProfit(),0);}

if (OrderType()==OP_SELL && OrderStopLoss()==0)
{mod=OrderModify(tic,OrderOpenPrice(),Sls,OrderTakeProfit(),0);}
}}}

void Traling()
{int tic;
 double Price;
 double Stop;
 bool mod;
for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
tic=OrderTicket();
Price=OrderOpenPrice();
Stop=OrderStopLoss();

if (OrderType()==OP_BUY && Tral!=0)
   {if(Stop<Price && Bid-(Tral+TralStart)*Point>=Price)
      {mod=OrderModify(tic,OrderOpenPrice(),Price+TralStart*Point,OrderTakeProfit(),0);}
    if(Stop>=Price && Bid-Tral*Point>Stop)
      {mod=OrderModify(tic,OrderOpenPrice(),Bid-Tral*Point,OrderTakeProfit(),0);}}

if (OrderType()==OP_SELL && Tral!=0)

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

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

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

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

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

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

Стоимость полного кода
1 347,60₽ ≈ $16.47