rpt-bad.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rpt-bad.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный файл представляет собой торговый советник для платформы MetaTrader 4, ориентированный на работу с инструментом GBPJPY. Советник рассчитывает пользовательский сглаженный индикатор на основе ценовых данных и генерирует торговые сигналы при смене его направления.
При обнаружении сигнала на покупку или продажу советник способен автоматически открывать позиции заданным лотом с установленным стоп-лоссом, а также закрывать ранее открытые ордера при развороте сигнала. Все торговые операции идентифицируются с помощью уникального магического числа.
Советник поддерживает уведомления: текстовые алерты на графике и звуковые сигналы через указанный аудиофайл. Пользователь может включать и отключать автоматическое открытие торгов, а также управлять параметрами расчёта индикатора и уровнем защиты.
Работа советника осуществляется в основном цикле функции start(), где на каждом тике проверяется изменение состояния индикатора и при необходимости выполняются торговые операции или отправляются уведомления.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Объём лота для открытия и закрытия позиций |
| GBPJPY | Включает или отключает торговлю и анализ для инструмента GBPJPY |
| GBPJPY_t3_period | Период расчёта индикатора, определяющий глубину сглаживания |
| GBPJPY_b | Коэффициент сглаживания, используемый в расчёте индикатора |
| GBPJPY_TimeFrame | Таймфрейм, на котором осуществляется анализ инструмента GBPJPY |
| GBPJPY_SL | Размер стоп-лосса в пунктах для открытых позиций по GBPJPY |
| TextAlert | Включает или отключает текстовое уведомление-алерт на графике |
| SoundAlert | Включает или отключает звуковое уведомление при срабатывании сигнала |
| SoundFile | Путь к аудиофайлу для воспроизведения при звуковом уведомлении |
| OpenTrades | Разрешает советнику автоматически открывать новые торговые позиции |
Поиск по коду файла
#property show_inputs
#include <stdlib.mqh>
extern double Lots=0.1;
extern bool GBPJPY=true;
extern int GBPJPY_t3_period=9;
extern double GBPJPY_b=0.8;
extern int GBPJPY_TimeFrame=60;
extern int GBPJPY_SL=50;
/*
extern bool EURUSD=false;
extern bool GBPUSD=false;
extern bool USDJPY=false;
extern bool USDCHF=false;
extern bool AUDUSD=false;
extern bool USDCAD=false;
extern bool EURGBP=false;
extern bool EURCHF=false;
extern bool EURJPY=false;
extern bool GBPCHF=false;
extern bool AUDJPY=false;
extern bool EURCAD=false;
extern bool CADJPY=false;
extern bool CHFJPY=false;
extern bool EURAUD=false;*/
int EURUSD_Bars=0;
int GBPUSD_Bars=0;
int USDJPY_Bars=0;
int USDCHF_Bars=0;
int AUDUSD_Bars=0;
int USDCAD_Bars=0;
int EURGBP_Bars=0;
int EURCHF_Bars=0;
int EURJPY_Bars=0;
int GBPJPY_Bars=0;
int GBPCHF_Bars=0;
int AUDJPY_Bars=0;
int EURCAD_Bars=0;
int CADJPY_Bars=0;
int CHFJPY_Bars=0;
int EURAUD_Bars=0;
extern bool TextAlert=true;
extern bool SoundAlert=true;
extern string SoundFile="expert.wav";
extern bool OpenTrades=true;
int mBar=300;
int Magic=230475609;
int check_stat(string para,int tf,int t3_period,double b)
{
RefreshRates();
double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3;
double P0,P1,P2;
double t3[];
int R1=0,R0=0,shift;
ArrayResize(t3, mBar);
b2=b*b;
b3=b2*b;
c1=-b3;
c2=(3*(b2+b3));
c3=-3*(2*b2+b+b3);
c4=(1+3*b+b3+3*b2);
n=t3_period;
if (n<1) n=1;
n=1+0.5*(n-1);
w1=2/(n+1);
w2=1-w1;
for (shift=mBar; shift>=0; shift--)
{
e1=w1*iClose(para,tf,shift)+w2*e1;
e2=w1*e1+w2*e2;
e3=w1*e2+w2*e3;
e4=w1*e3+w2*e4;
e5=w1*e4+w2*e5;
e6=w1*e5+w2*e6;
t3[shift]=c1*e6+c2*e5+c3*e4+c4*e3;
}
if (t3[2]<t3[1]) {R1=1;} else if (P2>P1) {R1=-1;} else R1=0;
if (t3[1]<t3[0]) {R0=1;} else if (P1>P0) {R0=-1;} else R0=0;
if (R0!=R1)
{
Print("R0=",R0," R1=",R1);
if (R0==1) string do="???????? (BUY)";
if (R0==-1) do="????????? (SELL)";
int res=R0;
if (TextAlert) Alert("?? ", para," ?? ",WhatTF(tf)," ???? ",do);
if (SoundAlert) PlaySound(SoundFile);
return(R0);
} else res=0;
return(res);
}
string WhatTF(int ctf)
{
switch(ctf)
{
case PERIOD_M1: return("M1"); break;
case PERIOD_M5: return("M5"); break;
case PERIOD_M15: return("M15"); break;
case PERIOD_M30: return("M30"); break;
case PERIOD_H1: return("H1"); break;
case PERIOD_H4: return("H4"); break;
case PERIOD_D1: return("D1"); break;
case PERIOD_W1: return("W1"); break;
case PERIOD_MN1: return("MN1"); break;
default: return("??? ?????? ??????????");
}
}
int start(){
// код доступен только после оплаты
}
{
RefreshRates();
/* if(EURUSD) if(EURUSD_Bars!=iBars("EURUSD",TimeFrame)) {check_stat("EURUSD", TimeFrame); EURUSD_Bars=iBars("EURUSD",TimeFrame);}
if(GBPUSD) if(GBPUSD_Bars!=iBars("GBPUSD",TimeFrame)) {check_stat("GBPUSD", TimeFrame); GПоказано первые 50% кода (символов: 5025)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.