Discussão do artigo "Operações de negócios no MQL5 - São fáceis" - página 2

 
Valmars:
Você ainda deve revisar o código antes de publicar.

Isso foi corrigido há muito tempo, no dia da publicação.
 
Valmars:

Concordo que as classes de negociação já se estabilizaram o suficiente. Então, por que, ao defender seu uso, os exemplos incluem funções para obter propriedades de instrumentos em vez de usar métodos da classe CSymbolInfo? Parece inconsistente.

Esclareça o que você quer dizer. Se você pedir para escrever classes em todos os lugares, alguns novatos podem achar complicado e incompreensível.
 
Rosh:
Isso foi corrigido há muito tempo, no dia da publicação.
Peço desculpas, eu abri o artigo imediatamente, mas só o li agora.
 
Rosh:
Esclareça o que se quer dizer. Se você pedir para escrever classes em todos os lugares, alguns novatos podem achar complicado e incompreensível.

Na verdade, não sou eu quem o incentiva a usar as classesda "Biblioteca Padrão" na citação acima, apenas concordo. É claro que é uma questão de gosto.

Em um EA um pouco complexo, há muitas referências a propriedades de símbolos e, ao criar uma instância da classe CSymbolInfo, simplificamos as referências a elas e a percepção do programa. Minha opinião.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Peço desculpas, mas não sabia onde fazer essa pergunta e decidi fazê-la aqui, pois acho que o tópico é adequado.

Como posso fechar todas as ordens abertas somente para venda ou somente para compra de uma só vez?

 
nskforward:

Peço desculpas, mas não sabia onde fazer essa pergunta e decidi fazê-la aqui, pois acho que o tópico é adequado.

Como posso fechar todas as ordens abertas para venda ou compra de uma só vez?

No MetaTrader 5, só pode haver uma posição aberta para cada instrumento. Talvez você queira fechar todas as posições de todos os instrumentos?
 

Olá,
Ao usar a função BuyStop no código para negociar futuros de RTS-3.13 (RIH3), continua ocorrendo um erro:
10022 TRADE_RETCODE_INVALID_EXPIRATION - Data de expiração da ordem inválida

Na especificação de futuros RTS-3.13, está especificado que o tipo de ordens - Válido até o cancelamento. na fila até ser cancelada.
Tentei usar outros tipos ORDER_TIME_DAY, ORDER_TIME_SPECIFIED, ORDER_TIME_SPECIFIED_DAY - o erro não desaparece.


Parte do código:

   int    digits = (int)SymbolInfoInteger(Ticket,SYMBOL_DIGITS);// número de casas decimais
   double point  = SymbolInfoDouble(Ticket,SYMBOL_POINT);       // para.
   double ask    = SymbolInfoDouble(Ticket,SYMBOL_ASK);         // preço de compra atual
   double price= 1000 * point;                                  // preço de abertura não normalizado
   price  = NormalizeDouble(price, digits);                     // normalizar o preço de abertura
   //price = NormalizeDouble(ask + 1000, digits); // ????
   Print("digits=", IntegerToString(digits), " point=", DoubleToString (point, 0), " ask=", DoubleToString (ask, 0),
         " price=", DoubleToString (price, 0));    
//--- tudo está pronto, envie uma ordem Buy Stop pendente para o servidor 
   if(!m_Trade.BuyStop(1, price, Ticket))
     {
      Print("O método BuyStop() falhou. Código de retorno="", m_Trade.ResultRetcode(),
            ". Descrição do código: ",m_Trade.ResultRetcodeDescription());
     }
   else
     {
      Print("O método BuyStop() foi executado com êxito. Código de retorno="",m_Trade.ResultRetcode(),
            " (",m_Trade.ResultRetcodeDescription(),")");
     }

No registro do Strategy Tester da entrada :

2012.12.18 19:44:59   digits=0 point=1 ask=151830 price=1000
2012.12.18 19:44:59   failed buy stop 1.00 RTS-3.13 at 1000 [Invalid expiration]
2012.12.18 19:44:59   CTrade::OrderSend: buy stop 1.00 RTS-3.13 at 1000 [invalid expiration]
2012.12.18 19:44:59   Метод BuyStop() потерпел неудачу. Код возврата=10022. Описание кода: invalid expiration

Qual poderia ser o problema? Por favor, me dê uma dica.
Ficarei grato se você responder ao e-mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.

Obrigado.

Win7 64 vezes, MT5, conta de demonstração DB Otkrytie.

 
Nikos52:

Olá,
Ao usar a função BuyStop no código para negociar futuros de RTS-3.13 (RIH3), continua ocorrendo um erro:
10022 TRADE_RETCODE_INVALID_EXPIRATION - Data de expiração da ordem inválida

Na especificação de futuros RTS-3.13, está especificado que o tipo de ordens - Válido até o cancelamento. na fila até ser cancelada.
Tentei usar outros tipos ORDER_TIME_DAY, ORDER_TIME_SPECIFIED, ORDER_TIME_SPECIFIED_DAY - o erro não desaparece.


Parte do código:

No registro do Strategy Tester da entrada :

Qual poderia ser o problema? Por favor, me dê uma dica.
Ficarei grato se você responder ao e-mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.

Obrigado.

Win7 64 razr., MT5 , conta de demonstração DB Discovery.

Problema semelhante no RTS-3.13 Otkritie-demo, tentei de tudo (enquanto as ordens de limite são definidas como ORDER_TIME_SPECIFIED_DAY, conforme escrito no perfil do símbolo) !!!!. Enquanto a ordem buy-stop está perfeitamente aberta no mercado manualmente. Essa é uma falha no terminal, você deve escrever para os desenvolvedores
 
Sim, não poderia ser mais simples! Eles aprenderam muitas coisas lá e, ainda assim, usam bibliotecas padrão e, sem elas, por assim dizer, do zero???? A maneira mais fácil e rápida de programar um Expert Advisor no MQl4!!!! Meu EA no mql4 tem 70 linhas, eu o reescrevi no mql5 e ele ficou com 198!!!!!!. Portanto, o título com a palavra "simples" não é apropriado.
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
zlodei:
...Meu EA mql4 tem 70 linhas, eu o reescrevi para mql5 e ele acabou sendo 198!!!!!! Portanto, o título com a palavra "simples" não é apropriado.
Isso se a ideia do EA não for complicada. Na minha opinião, quanto mais complexa for a ideia, mais a diferença no número de linhas de código entre a MQL4 e a MQL5 será favorável a esta última. Portanto, eu não seria tão categórico....