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

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 и перейдите к оплате.

Стоимость полного кода
504,30₽ ≈ $6.16