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

SKALPER FZ

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

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

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

О программе

SKALPER FZ — торговый советник для MetaTrader 4, написанный на языке MQL4. Программа анализирует ценовые данные с помощью скользящей средней и выполняет торговые операции на основе сигналов индикатора, фильтруя сделки по времени суток и допустимому проскальзыванию.

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

Встроенная информационная панель отображает текущие позиции, баланс, эквити и данные о прибыли за различные периоды. Весь торговый процесс идентифицируется с помощью магического номера, а параметры торговли настраиваются через внешние переменные.

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

НастройкаОписание
t0 Разделитель — Разделитель в настройках (визуальная строка).
???? ? ????????? (Risk) Риск в процентах — Процент риска от баланса счёта, используемый для расчёта размера лота.
?????? ? ????????? (TP) Тейк-профит в процентах — Процент прибыли от баланса счёта, при достижении которого позиции закрываются.
t2 Разделитель — Разделитель в настройках (визуальная строка).
???? ? ??????? (Tral) Трейл-стоп включен — Включает или отключает функцию трейл-стопа для управляемых позиций.
??? ????? ? ??????? (TralStep) Шаг трейл-стопа — Шаг трейл-стопа в пунктах, определяющий дистанцию фиксации прибыли при смещении стопа.
??? ????? ???????? (Step) Шаг добавления к позиции — Шаг в пунктах, используемый при добавлении к открытым позициям.
t4 Разделитель — Разделитель в настройках (визуальная строка).
????? ?????? ?????? (StartTime) Час начала сессии — Час начала разрешённой торговой сессии (в часах UTC).
????? ?????????? ?????? (EndTime) Час окончания сессии — Час окончания разрешённой торговой сессии (в часах UTC).
t5 Разделитель — Разделитель в настройках (визуальная строка).
? ?????? ???? ????? ????? ?????? (BarShift) Сдвиг бара индикатора — Сдвиг бара, используемый при расчёте значения индикатора.
???? ????? ? ??????? ? ?????? ????? ??????. ???? =0, ????? ? ???????? (Tf) Таймфрейм индикатора — Таймфрейм для индикатора. Значение 0 означает текущий таймфрейм графика, остальные значения указывают на конкретные периоды.
?????? ?? (Per) Период индикатора — Период расчёта скользящей средней.
????? ?????????? ???????????? ???????? ???????. (Shift) Сдвиг индикатора — Сдвиг скользящей средней относительно текущего бара.
????? ??????????. (Metod) Метод индикатора — Метод расчёта скользящей средней (код метода в MQL4).
???????????? ????. (Pric) Тип цены — Тип цены, используемый для расчётов (код типа цены).
t6 Разделитель — Разделитель в настройках (визуальная строка).
???????????? ??????????????? (Slip) Проскальзывание — Максимально допустимое проскальзывание цены при открытии ордеров, в пунктах.
?????? ??????? (Magic) Магический номер — Магический номер, используемый для идентификации ордеров, управляемых данным советником.
??????????? ? ??????? (Name) Комментарий к ордерам — Текстовый комментарий, добавляемый к ордерам при их открытии.
????? ?????????? ?? ?????? (Info) Отображение информации — Переключатель отображения информационной панели и данных о торговле на графике.
Получить полный код

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

extern string   t0="---------------------";
extern double   Risk          =1;          //???? ? ?????????
extern double   TP            =0.25;       //?????? ? ?????????
extern string   t2="---------------------";
extern int      Tral          =0;          //???? ? ???????
extern int      TralStep      =0;          //??? ????? ? ???????
extern int      Step          =50;         //??? ????? ????????
extern string   t4="---------------------";
extern int      StartTime     =1;          //????? ?????? ??????
extern int      EndTime       =23;         //????? ?????????? ??????
extern string   t5="---------------------";
extern int      BarShift      =0;          //? ?????? ???? ????? ????? ??????
extern int      Tf            =0;          //???? ????? ? ??????? ? ?????? ????? ??????. ???? =0, ????? ? ????????
extern int      Per           =8;           //?????? ??
extern int      Shift         =0;           //????? ?????????? ???????????? ???????? ???????.
extern int      Metod         =3;           //????? ??????????.
extern int      Pric          =0;           //???????????? ????. 
extern string   t6="---------------------";
extern int      Slip          =10;            //???????????? ???????????????
extern int      Magic         =123;           //?????? ???????
extern string   Name          ="ForexZona.ru";//??????????? ? ???????
extern bool     Info          =true;          //????? ?????????? ?? ??????

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

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

int Count(int type)
{int count=0;
 for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic && (type==-1 || OrderType()==type)) count++;}
   return(count);}

void Trail(int _key)
{for(int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol() && OrderMagicNumber()==_key)
{if(Tral!=0){
if (OrderType()==OP_BUY && Bid>MathMax(OrderOpenPrice(),OrderStopLoss())+(Tral+TralStep)*D*Point)
if (!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Tral*D*Point,OrderTakeProfit(),0))
{}
if (OrderType()==OP_SELL && ((Ask<MathMin(OrderOpenPrice(),OrderStopLoss())-(Tral+TralStep)*D*Point && 
OrderStopLoss()!=0)||(Ask<OrderOpenPrice()-(Tral+TralStep)*D*Point && OrderStopLoss()==0)))
if (!OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Tral*D*Point,OrderTakeProfit(),0))
{}}}}

void Closer(int _key, int type)
{for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic)
  if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,Slip,0);
   if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,Slip,0);}}

double BuyPric() {
   double oldorderopenprice;
   int oldticketnumber;
   double unused = 0;
   int ticketnumber = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) {
         oldticketnumber = OrderTicket();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice();
            unused = oldorderopenprice;
            ticketnumber = oldticketnumber;}}}
   return (oldorderopenprice);}

double SellPric() {
   double oldorderopenprice;
   int oldticketnumber;
   double unused = 0;
   int ticketnumber = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) {
         oldticketnumber = OrderTicket();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice();
            unused = oldorderopenprice;
            ticketnumber = oldticketnumber;}}}
   return (oldorderopenprice);}

double Profit(int type) 
{double Profit = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
      {if (OrderMagicNumber()==Magic && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
       return (Profit);}

double ProfitDey(int type) 
{double Profit = 0;
   for (int cnt = OrdersHistoryTotal() - 1; cnt >= 0; cnt--) {
      if(OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY))
      {if (OrderMagicNumber()==Magic &&

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

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

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

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

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

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

Стоимость полного кода
917,40₽ ≈ $11.21