frbestexp02_1_maloma_mod.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «frbestexp02_1_maloma_mod.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Frbestexp02_1_maloma_mod — торговый советник для MetaTrader 4, работающий на языке MQL4. Советник использует фрактальные сигналы, индикатор OsMA и анализ объёма для генерации торговых сигналов на рынке. Расчёт опорной цены производится по методике максимума и минимума дневного диапазона с учётом текущей цены закрытия.
Советник поддерживает два режима работы: обычный и хеджирование. В режиме хеджирования допускается одновременное удержание противоположных позиций. Реализована функция трейлинг-стопа с динамическим перемещением защитного уровня по ходу движения цены. Также предусмотрены механизмы блокировки новых сделок при достижении определённых порогов совокупной прибыли или убытка.
Советник рассчитан преимущественно для работы на таймфрейме M15. Входные параметры позволяют настраивать размер лота, уровни стоп-лосса и тейк-профита, периоды индикаторов и временные интервалы между сделками. Торговые операции выполняются через стандартные функции MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Размер лота для открытия торговых позиций. |
| Stop_Loss | Уровень стоп-лосса в пунктах для защиты позиции от убытка. |
| Take_Profit | Уровень тейк-профита в пунктах для фиксации прибыли. |
| Trailing_Stop | Расстояние трейлинг-стопа в пунктах для динамического перемещения защитного уровня. |
| Vlim | Минимальный объём сделки для фильтрации торговых сигналов по активности рынка. |
| fper | Период основной линии индикатора OsMA, используемого для подтверждения тренда. |
| stop | Уровень прибыли в пунктах, при достижении которого активируются механизмы контроля и закрытия позиций. |
| hedg | Режим хеджирования: при значении 1 разрешается удержание противоположных позиций одновременно. |
| kh | Множитель лота, определяющий размер позиции при открытии хедж-позиций. |
| lok | Режим управления лотом, влияющий на условия контроля совокупной прибыли и убытка. |
| rpr | Режим восстановления позиций, определяющий поведение советника при отсутствии открытых ордеров. |
| ttime | Минимальный интервал в секундах между последовательными торговыми операциями. |
| hstop | Порог убытка в пунктах для принудительного закрытия позиций в режиме трейлинг-стопа. |
Поиск по коду файла
extern double Lots = 1.00;
extern int Stop_Loss = 1000;
extern int Take_Profit = 1000;
extern int Trailing_Stop = 0;
extern int Vlim=50;
extern int fper=12,sper=26,sigper=9; // ??????? ?????????? OsMA
extern int stop=300; // ??????? ??????? ???????
extern int hedg=1; // ???? ?????????? ?????
extern double kh=10; // ?????.????????????
extern int lok; // ???? ?????????? ??????????? ???????
extern int rpr=1; // ???? ??????????? ???????? ???? ??? ?? ????? ?????
extern int ttime=900; // ???????? ??????????? ????-?????? ?? 1 ?????
extern int hstop=-3000; // ????-???? ??? ?????
int cnt; // ?????? ?????
int sigs,sigb; // ??????????? ?????? ?? ?????????? ???????? ?????-???????
double ssig,bsig; // ??????? ?? ?????-??????? ?? ?????????? ?????????
double osmanul,osmaone; // ??????? ?????????? OsMA ?? ???????? ? ??????? ?????
int s,b; // ?????????? ???????? ???? ? ??? ???????
int hml; // ???? ???????? ??????? ? ????????? ???????? (??????????? ??????? ? ??????? ?????
int pl; // ???? ???????? ???? ??????? ?? ??????? ??????? ?????????????? ?????????????? ???????
double summa; // ????????? ?????? ?? ???? ????????
double mlot; // ???????? ?????????? ????
double ssum,bsum; // ?????? ?? ??????? ???? ? ??? ?????????
double pr; // ????????? ????????
int hblok,shblok,bhblok; // ???? ???????????? ??????????? ????-?????? ? ????? ?????????? ??????? ????-?????????
double DHMax,DLMin;
bool ft=true;
int rang;
double pt;
int nul; // ?????????? ??? ?????????? ?????????? ????? ??? ??????? ? ? 00.00 ?????? ?????
int LastTradeTime;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
double FractalBest(int Dir)
{
double up,dw;
if(High[3]>High[4] && High[3]>High[5] && High[3]>High[2] && High[3]>High[1]){
up=Low[0]-3*Point;
}
else
{
up=0;
}
if(Low[3]<Low[4] && Low[3]<Low[5] && Low[3]<Low[2] && Low[3]<Low[1]){
dw=High[0]+3*Point;
}
else
{
dw=0;
}
if (Dir==0) {return(up);}
if (Dir==1) {return(dw);}
}
int start()
{
// код доступен только после оплаты
}
mlot=Lots; // ??????????? ???????? ???????? ????
if ((Hour()==0 && Minute()==0) || ft){ //???????? ????? ??? ?????? ??????
DHMax=0;
DLMin=1000;
if(ft)
{// ?????? ??????
rang=MathRound((Hour()*60+Minute())/Period());
nul=rang;
}
else
{
nul=96;//?? ????? ?? 15
rang=1;
}
for(cnt=rang;cnt<=rang+95;cnt++)
{//????? ???? ? ??? ?? ????????? ?????
if(DHMax<High[cnt])DHMax=High[cnt];
if(DLMin>Low[cnt])DLMin=Low[cnt];
}
pt=(DHMax+DLMin+Close[nul])/3;//?????????? ?????
ft=false;
}
if(CurTime()-LastTradeTime<20)return(0);
s=0;b=0;summa=0;bsum=0;ssum=0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
{
ssum=ssum+OrderProfit();
s=s+1;
}
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY){
bsum=bsum+OrderProfit();
b=b+1;
}
}
summa=bsum+ssum;summa=MathRound(summa);
if(Trailing_Stop>0 && hedg==1)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderProfit()>0)
{
if(Bid-OrderOpenPrice()>Point*Trailing_Stop)
{
if(OrderStopLoss()<Bid-Point*Trailing_Stop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*Trailing_Stop,OrderTakeProfit(),0,Red);
return(0);
}
}
if(OrderOpenPrice()-AsПоказано первые 50% кода (символов: 5838)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.