Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1144

 
MrBrooklin:

Obrigado, Vladimir, pela dica!

A questão é que este módulo foi descarregado do sítio web e simplesmente compilado no MetaEditor. Não realizei quaisquer outras acções (por exemplo, alterações de código, etc.) com o módulo de sinais comerciais e o aviso foi gerado pelo próprio compilador.

Com os melhores cumprimentos, Vladimir.

Descarregado de onde? É onde o descarregou, por isso escreva sobre o assunto na discussão do código.

 
Vladimir Karputov:

Descarregado de onde? É aí que o descarregou, é aí que deve escrever na discussão do código sobre o problema que notou.

Transferido aqui https://www.mql5.com/ru/articles/358 a partir da pasta mysignals.zip.

Ok, Vladimir, vou escrever exactamente onde o problema com o código ocorre no futuro.

Cumprimentos, Vladimir.

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

Transferido aqui https://www.mql5.com/ru/articles/358 a partir da pasta mysignals.zip.

Ok, Vladimir, vou escrever exactamente onde o problema com o código surge no futuro.

Cumprimentos, Vladimir.

Assim, o artigo é de 2012 :)

 
Vladimir Karputov:

Assim, o artigo é de 2012 :)

Sim, reparei imediatamente, mas mesmo assim decidi testar como os "velhos" módulos de sinais comerciais se comportariam hoje em dia.

Cumprimentos, Vladimir.
 

Quando troco o ponto de interrupção para depuração, os pontos de interrupção começam a aparecer algumas linhas abaixo, antes dos parênteses encaracolados

Isto é um problema para mim, ou é uma nova "característica"?

 
Roman Sharanov:

Quando troco o ponto de interrupção para depuração, os pontos de interrupção começam a aparecer algumas linhas para baixo, antes dos parênteses encaracolados

É este o meu problema, ou é uma nova "característica"?

É você que tem o problema.

  1. Está a tentar adicionar código no modo de teste em execução
  2. Ou o seu bloco de código nunca será executado, por isso o editor lança o cursor do ponto de quebra para fora dele.
 
Vladimir Karputov:

Este é o seu problema.

  1. Está a tentar adicionar código no modo de teste em execução
  2. Ou o seu bloco de código nunca será executado, por isso o editor lança o cursor do ponto de quebra para fora dele.

Felizmente sim, depois de recarregar o editor, está curado!

 
Olá!
Quem pode aconselhar um bom corretor a começar a negociar no MT5?
Não consigo pensar em nenhum. Obrigado!
 
Dmitry Filippov:
Olá!
Quem pode aconselhar um bom corretor a começar a negociar no MT5?
Não consigo pensar em nenhum. Obrigado!

Já leu as regras dos recursos? Ou, como de costume, quebrá-lo primeiro e depois ler o manual?

 

Olá!

Não consigo encontrar o erro. O objectivo da função é definir uma perda de paragem apenas na posição de equilíbrio. Se houver mais do que uma posição aberta pelo símbolo, apenas as posições que podem ser ajustadas para atingir o ponto de equilíbrio, as restantes posições não terão uma paragem colocada sobre elas. Modificar também as paragens existentes aopreço actual, se a paragem actual for inferior à posição de maior breakeven, a paragem é modificada. Erro " CTrade::OrderSend: modificar a posição #3 EURUSD (sl: 1.10871, tp: 0.00000) [paragens inválidas]
"


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
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...