Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1144

 
MrBrooklin:

Спасибо, Владимир, за подсказку!

Всё дело в том, что этот модуль скачан с сайта и просто скомпилирован в MetaEditor. Никаких других действий (например, изменения кода и т.п.) с модулем торговых сигналов не совершалось, а предупреждение выдал сам компилятор.

С уважением, Владимир.

Скачан где? Вот где скачивали, там и нужно написать в обсуждении кода о замеченной проблеме.

 
Vladimir Karputov:

Скачан где? Вот где скачивали, там и нужно написать в обсуждении кода о замеченной проблеме.

Скачан здесь https://www.mql5.com/ru/articles/358 из папки mysignals.zip.

Хорошо, Владимир, в дальнейшем буду писать именно в том месте, где возникнет проблема с кодом.

С уважением, Владимир.

Простейшие торговые системы с использованием семафорных индикаторов
Простейшие торговые системы с использованием семафорных индикаторов
  • www.mql5.com
Семафорные, или по-другому, сигнальные индикаторы представляют собой простейшие сигнализаторы для входа и выхода из рынка. Если на текущем баре появился сигнал для сделки, то на графике финансового инструмента возникает соответствующий значок, который и может служить в дальнейшем как условие для совершения сделки. Подобных индикаторов очень...
 
MrBrooklin:

Скачан здесь https://www.mql5.com/ru/articles/358 из папки mysignals.zip.

Хорошо, Владимир, в дальнейшем буду писать именно в том месте, где возникнет проблема с кодом.

С уважением, Владимир.

Так статья 2012 года :)

 
Vladimir Karputov:

Так статья 2012 года :)

Да, сразу обратил внимание, но не смотря на это, все-таки решил испытать, как "старые" модули торговых сигналов будут вести себя в настоящее время.

С уважением, Владимир.
 

У меня переключении точки остановки для отладки, точки начали ставиться аж в нескольких строках ниже, перед фигурными скобками

Это у меня проблемы, или это новая "фича"?

 
Roman Sharanov:

У меня переключении точки остановки для отладки, точки начали ставиться аж в нескольких строках ниже, перед фигурными скобками

Это у меня проблемы, или это новая "фича"?

Это у Вас проблема.

  1. Вы пытаетесь в режиме идущего теста добавлять код
  2. Или Ваш блок кода никогда не выполнится, поэтому редактор выбрасывает из него курсор с точкой останова.
 
Vladimir Karputov:

Это у Вас проблема.

  1. Вы пытаетесь в режиме идущего теста добавлять код
  2. Или Ваш блок кода никогда не выполнится, поэтому редактор выбрасывает из него курсор с точкой останова.

К счастью да, после перезагрузки редактора все вылечилось!

 
Здравствуйте!
Кто может посоветовать хорошего брокера для начала в торговли на МТ5?
Спасибо!
 
Dmitry Filippov:
Здравствуйте!
Кто может посоветовать хорошего брокера для начала в торговли на МТ5?
Спасибо!

Правила ресурса читали? Или как всегда, сначала поломать, а потом только читать руководство?

 

Здравствуйте!

Не могу найти ошибку. Цель функции – установка стополосса только в позицию безубытка.  Если открыто несколько позиций по символу установка стопа, только по тем позициям, у которых можно установить безубыток, по остальным позициям стоп не ставиться. Также модификация существующих стопов по самому близкому к текущей цене, если текущий стоп позиции меньше самой большой позиции безубытка, то стоп модифицируется.  Ошибка " CTrade::OrderSend: modify position #3 EURUSD (sl: 1.10871, tp: 0.00000) [invalid stops]
"

void _BTrailing_BUY()
  {
   double _B_BUY=0.0;
   CPositionInfo m_positionBuy; // trade position object
   CTrade m_tradeBuy; // trading object
   CSymbolInfo    m_symbolBuy;

   int TrailingStop=35; //Trailing Stop LEVEL
   
   for(int i=PositionsTotal()-1; i>=0; i--)  
      if(m_positionBuy.SelectByIndex(i))  
        {
         string position_GetSymbol=m_positionBuy.Symbol();  
         if(position_GetSymbol==Symbol())
           {
            long digits=SymbolInfoInteger(position_GetSymbol,SYMBOL_DIGITS);
            long _SYMBOL_TRADE_STOPS_LEVEL=SymbolInfoInteger(position_GetSymbol,SYMBOL_TRADE_STOPS_LEVEL);
            m_adjusted_point=SymbolInfoDouble(position_GetSymbol,SYMBOL_POINT);
            double _PriceCurrent_Stop=0.0;

            if(TrailingStop>_SYMBOL_TRADE_STOPS_LEVEL)
              {_SYMBOL_TRADE_STOPS_LEVEL=TrailingStop;};
                 if(m_positionBuy.PositionType()==POSITION_TYPE_BUY)
              {
               _PriceCurrent_Stop=NormalizeDouble(m_positionBuy.PriceOpen()+((_SYMBOL_TRADE_STOPS_LEVEL)*m_adjusted_point),int(digits));
               if(m_positionBuy.PriceCurrent() >  _PriceCurrent_Stop)
                 {
                  if(_B_BUY==0.0 || _B_BUY <_PriceCurrent_Stop)
                    {
                     _B_BUY=_PriceCurrent_Stop;
                    };
                  if(_B_BUY >m_positionBuy.StopLoss() && _B_BUY >_PriceCurrent_Stop)
                    {
                     _PriceCurrent_Stop=_B_BUY;
                    };

                  if(_PriceCurrent_Stop>m_positionBuy.StopLoss() || m_positionBuy.StopLoss()==0.0)
                    {
                     //--- save Magic Number for the position
                     if(_PriceCurrent_Stop>0)
                       {
                        //m_trade.SetExpertMagicNumber(m_position.Magic());
                        m_tradeBuy.PositionModify(m_positionBuy.Ticket(),
                                                  _PriceCurrent_Stop,
                                                  m_positionBuy.TakeProfit());
                       };

                    };
                 };



              };
           };

        };

  }
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Причина обращения: