sergeygukach.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «sergeygukach.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник рассчитывает ценовые уровни на основе фрактальных структур и размещает отложенные ордера типа BUYSTOP и SELLSTOP с заданными параметрами стоп-лосса и тейк-профита. В рамках рабочего окна по часам советник выполняет модификацию ордеров, переводит позиции в безубыток и реализует трейлинг-стоп. По окончании торговой сессии все позиции закрываются.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Объём — Объём позиции в лотах для открытия сделки. |
| TP | Тейк-профит — Расстояние до тейк-профита в пунктах от цены открытия. |
| StartHour | Час начала — Час начала торговой сессии, в который советник начинает расчёт уровней и размещение ордеров. |
| Filtr | Фильтр — Дополнительное смещение в пунктах для корректировки ценовых уровней и условий размещения ордеров. |
| SL | Стоп-лосс — Расстояние до стоп-лосса в пунктах от цены открытия. |
| EndHour | Час окончания — Час завершения торговой сессии, к которому советник закрывает все позиции. |
| TStOp | Трейлинг-стоп активация — Расстояние в пунктах от цены открытия, при достижении которого активируется трейлинг-стоп. |
| TStEp | Трейлинг-стоп шаг — Шаг смещения стоп-лосса в пунктах при активном трейлинг-стопе. |
| Bezubitok | Безубыток — Расстояние в пунктах от цены открытия, при достижении которого ордер переводится в безубыток. |
Поиск по коду файла
extern double Lots = 0.1;
extern int TP = 60;
extern int StartHour = 14;
extern int Filtr = 9;
extern int SL = 23;
extern int EndHour = 21;
extern int TStOp=15;
extern int TStEp=1;
extern int Bezubitok=10;
int magic =923845;
double HiPrice, LoPrice;
int CBars;
int SellDone=-1, BuyDone=-1;
/*
int deinit()
{
}
*/
void Tral()
{
int i;
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ((OrderSymbol()==Symbol()) && (OrderMagicNumber()==magic))
{
if (OrderType()==OP_BUY && Bid-OrderOpenPrice()>TStOp*Point)
{
if (Bid-OrderOpenPrice()>=Bezubitok*Point && OrderStopLoss()<OrderOpenPrice())
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+1*Point,OrderTakeProfit(),0,CLR_NONE);}
if (Bid-OrderStopLoss()>=(TStOp+TStEp)*Point)
{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TStOp*Point,OrderTakeProfit(),0,CLR_NONE);}
}
if (OrderType()==OP_SELL && OrderOpenPrice()-Ask>TStOp*Point)
{
if (OrderOpenPrice()-Ask>=Bezubitok*Point && OrderStopLoss()>OrderOpenPrice())
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-1*Point,OrderTakeProfit(),0,CLR_NONE);}
if (OrderStopLoss()-Ask>=(TStOp+TStEp)*Point)
{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TStOp*Point,OrderTakeProfit(),0,CLR_NONE);}
}
}
}
return(0);
}
void GetLevels()
{
HiPrice=0;
LoPrice=0;
int i=0;
while (HiPrice==0 || LoPrice==0)
{
if(High[i+3]>High[i+3+1] && High[i+3]>High[i+3+2] && High[i+3]>High[i+3-1] && High[i+3]>High[i+3-2] && HiPrice==0)
{
HiPrice=High[i+3];
}
if(Low[i+3]<Low[i+3+1] && Low[i+3]<Low[i+3+2] && Low[i+3]<Low[i+3-1] && Low[i+3]<Low[i+3-2] && LoPrice==0)
{
LoPrice=Low[i+3];
i++;
continue;
}
if(High[i+3]==High[i+3+1] && High[i+3]>High[i+3+2] && High[i+3]>High[i+3+3] && High[i+3]>High[i+3-1] && High[i+3]>High[i+3-2] && HiPrice==0)
{
HiPrice=High[i+3];
}
if(Low[i+3]==Low[i+3+1] && Low[i+3]<Low[i+3+2] && Low[i+3]<Low[i+3+3] && Low[i+3]<Low[i+3-1] && Low[i+3]<Low[i+3-2] && LoPrice==0)
{
LoPrice=Low[i+3];
i++;
continue;
}
if(High[i+3]>=High[i+3+1] && High[i+3]==High[i+3+2] && High[i+3]>High[i+3+3] && High[i+3]>High[i+3+4] && High[i+3]>High[i+3-1] &&
High[i+3]>High[i+3-2] && HiPrice==0)
{
HiPrice=High[i+3];
}
if(Low[i+3]<=Low[i+3+1] && Low[i+3]==Low[i+3+2] && Low[i+3]<Low[i+3+3] && Low[i+3]<Low[i+3+4] && Low[i+3]<Low[i+3-1] &&
Low[i+3]<Low[i+3-2] && LoPrice==0)
{
LoPrice=Low[i+3];
i++;
continue;
}
if(High[i+3]>=High[i+3+1] && High[i+3]==High[i+3+2] && High[i+3]==High[i+3+3] && High[i+3]>High[i+3+4] && High[i+3]>High[i+3+5] &&
High[i+3]>High[i+3-1] && High[i+3]>High[i+3-2] && HiPrice==0)
{
HiPrice=High[i+3];
}
if(Low[i+3]<=Low[i+3+1] && Low[i+3]==Low[i+3+2] && Low[i+3]==Low[i+Показано первые 50% кода (символов: 5043)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.