Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Скрипты

Close Positions Current Symbol - скрипт для MetaTrader 5

Просмотров:
2782
Рейтинг:
(14)
Опубликован:
2020.02.10 15:49
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Описание скрипта

Данный скрипт закрывает все позиции по символу на график которого он был брошен. Скрипт копирует Magic number у закрываемой позиции, при этом своего Magic number скрипт не имеет.

Например по символу 'USDJPY' открыты несколько позиций:

  • позиция #1 была открыта вручную и поэтому её Magic равен '0'
  • позиция #2 была открыта советников и её Magic равен '300'
Скрипт бросаем на график 'USDJPY' - значит скрипт попытается закрыть все позиции по символу 'USDJPY'. При этом перед закрытием позиции #1 он установит себе Magic number '0', а перед закрытием позиции #2 - установит '300'.

Код скрипта:

//+------------------------------------------------------------------+
//|                               Close Positions Current Symbol.mq5 |
//|                              Copyright © 2020, Vladimir Karputov |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2020, Vladimir Karputov"
#property version   "1.000"
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
CPositionInfo  m_position;                   // trade position object
CTrade         m_trade;                      // trading object
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positions
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if(m_position.Symbol()==Symbol())
           {
            m_trade.SetExpertMagicNumber(m_position.Magic());
            if(!m_trade.PositionClose(m_position.Ticket())) // close a position by the specified m_symbol
               Print(__FILE__," ",__FUNCTION__,", ERROR: ","CTrade.PositionClose ",m_position.Ticket());
           }
  }
//+------------------------------------------------------------------+


    New Day New Pending Order 2 New Day New Pending Order 2

    Отложенные ордера выставляются каждый день в индивидуальное время. Развитие первой версии

    LifeHack Balance Equity 2 LifeHack Balance Equity 2

    Вторая версия индикатора "LifeHack Balance Equity" - теперь отображение данных только в момент рождения нового бара

    Close at opposite signal Full Close at opposite signal Full

    Советник-утилита: если на символе стало более одной позиции - наиболее старая позиция закрывается.

    Freeman 2 Freeman 2

    Развитие первой версии. Торговля по RSI и Moving Average. Moving Average используется в качестве фильтра тренда на периоде H1.