Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

Скрипты

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

Vladimir Karputov

Просмотров:
270
Рейтинг:
голосов: 8
Опубликован:
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.