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

Daydream

daydream01.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Daydream — торговый советник для MetaTrader 4, автоматизирующий процесс открытия и закрытия позиций на основе анализа ценовых данных текущего графика. Советник вычисляет опорные уровни за настраиваемый период и на основании соотношения текущей цены с ними определяет направление входа.

Советник поддерживает длинные и короткие позиции с механизмом скользящей фиксации прибыли, который подтягивает уровень выхода по мере благоприятного движения цены. Для идентификации собственных ордеров используется уникальный магический номер, а вход в позицию ограничивается одним ордером в рамках текущего бара.

Торговые параметры, включая размер лота, период расчёта, допустимое проскальгивание и расстояние до тейк-профита, настраиваются через внешние переменные.

Настройки программы

НастройкаОписание
Lots Lots — Размер лота для открытия позиции
ChannelPeriod ChannelPeriod — Период вычисления опорных ценовых уровней
Slippage Slippage — Допустимое проскальгивание при совершении ордера
TakeProfit TakeProfit — Расстояние до уровня фиксации прибыли
Получить полный код

Поиск по коду файла

#define MAGIC_NUM  48213657

extern double Lots      =1;
extern int ChannelPeriod=25;
extern int Slippage     =3;
extern int TakeProfit   =15;

double LastOrderTime=0;
double CurrentDirection=0;
double CurrentTakeProfitPrice=0;

void OpenLong()
  {
   if (Time[0]==LastOrderTime)
      return;
   if (CurrentDirection!=0)
      return;

   OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0,
             "Daydream", MAGIC_NUM, 0, Blue);
   LastOrderTime=Time[0];
   CurrentDirection=1;
  }

void OpenShort()
  {
   if (Time[0]==LastOrderTime)
      return;
   if (CurrentDirection!=0)
      return;

   OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0,
             "Daydream", MAGIC_NUM, 0, Red);
   LastOrderTime=Time[0];
   CurrentDirection=-1;
  }

void CloseLong()
  {
   int i;

   if (Time[0]==LastOrderTime)
      return;
   if (CurrentDirection!=1)
      return;

   for(i=0; i < OrdersTotal(); i++)
     {
      if (OrderSelect(i, SELECT_BY_POS) && OrderSymbol()==Symbol() &&
          OrderMagicNumber()==MAGIC_NUM && OrderType()==OP_BUY)
        {
         OrderClose(OrderTicket(), OrderLots(), Bid, 3, White);
         LastOrderTime=Time[0];
         CurrentDirection=0;
        }
     }
  }

void CloseShort()
  {
   int i;

   if (Time[0]==LastOrderTime)
      return;
  

Показано первые 50% кода (символов: 1900)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
190₽ ≈ $2.32