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

Simple Pivot

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

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

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

О программе

Simple Pivot — это торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник рассчитывает центральную точку разворота (pivot) по формуле (предыдущий максимум + предыдущий минимум) / 2 на основе данных предыдущей свечи.

На каждом появлении новой свечи советник определяет направление сделки: если текущая цена открытия находится выше pivot, но ниже предыдущего максимума, открывается продажа (SELL), в противном случае — покупка (BUY). Если направление не изменилось по сравнению с предыдущей свечой, советник не выполняет никаких действий.

При смене направления советник сначала закрывает текущую позицию, а затем открывает новую в определённом направлении с заданным размером лота. Единственная настраиваемая параметр — объём лота, по умолчанию равный 1.

Советник использует стандартные торговые функции MetaTrader 4 для отправки ордеров и управления позициями.

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

НастройкаОписание
Lots Размер лота для открытия и закрытия торговых позиций.
Получить полный код

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

extern int Lots = 1;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {
   return(0);
  }

int start()
{
      // код доступен только после оплаты
   }
   static int prevTradeOp = -1;
   static int prevBars = -1;
   static int ticketNum = -1;

   int curBars = Bars;
   if (prevBars == -1)
      prevBars = curBars;

   Print("curBars, prevBars = ", curBars);
   if (curBars == prevBars)
      return(0);
   Print("After checking bars");

   prevBars = curBars;

   double prevHigh = High[1];
   double prevLow = Low[1];
   double curOpen = Open[0];
   double pivot = (prevHigh + prevLow) / 2;
   int tradeOp = OP_BUY;

   if (curOpen < prevHigh && curOpen > pivot)
      tradeOp = OP_SELL;

   if (tradeOp == prevTradeOp && prevTradeOp != -1)
      return(0);

   Print("Closing old trade");

   if (ticketNum != -1)
   {
      OrderSelect(ticketNum, SELECT_BY_TICKET);

      if (OrderType() == OP_BUY) 
      {
         OrderClose(ticketNum, Order

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

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

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

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

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

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

Стоимость полного кода
125,40₽ ≈ $1.53