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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.