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

 
Alexey Viktorov:

Tem de verificar no depurador. Não posso dizer com certeza.

Já está, obrigado.

 
Amigos,por favor aconselhar como prescrever um código no conselheiro para negociar apenas num sentido Comprar ou Vender
 
Alexanerhoch:
Amigos,por favor aconselhar como prescrever um código no conselheiro para negociar apenas num sentido Comprar ou Vender

F7 - geral - apenas compras

 
Iurii Tokman:

F7 - geral - apenas compras

não há tal coisa no mt5

 
Alexanerhoch:
Amigos,por favor aconselhar como prescrever um código no conselheiro para negociar apenas num sentido Comprar ou Vender

É assim que as coisas são;

enum typ
  {
                        ty1=0,                  //Buy and Sell
                        ty2=1,                  //Only Buy
                        ty3=2                   //Only Sell
  };

input typ               TradesType=ty1;         //Type of trading operations
.
.
.
if(TradesType!=2 && ...
if(TradesType!=1 && ...
 
VVT:

É assim que as coisas são;

Obrigado

 

Boa tarde, colegas. Não consigo encontrar um erro no código. O método .Magic() da classeCPositionInfo dá o valor correcto, se o comércio for aberto directamente no código através da classe Trade.mqh.

Se eu abrir um negócio através de Trade.mqh, mas chamado noutra classe, então o método .Magic() dá 0 no código Expert Advisor. Porque é que é assim?

Estou a anexar o código.

Arquivos anexados:
MQL5.zip  5 kb
 
Ildar Yusupov:

Boa tarde, colegas. Não consigo encontrar um erro no código. O método .Magic() da classeCPositionInfo dá o valor correcto, se o comércio for aberto directamente no código através da classe Trade.mqh.

Se eu abrir um negócio através de Trade.mqh, mas chamado noutra classe, então o método .Magic() dá 0 no códigoExpert Advisor. Porque é que é assim?

Estou a anexar o código.

Eu não abro o código)

Assim, a segunda variante não usa Magic, olha cuidadosamente para o código

 
Ildar Yusupov:

Boa tarde, colegas. Não consigo encontrar um erro no código. O método .Magic() da classeCPositionInfo dá o valor correcto, se o comércio for aberto directamente no código através da classe Trade.mqh.

Se eu abrir um negócio através de Trade.mqh, mas chamado noutra classe, então o método .Magic() dá 0 no códigoExpert Advisor. Porque é que é assim?

Estou a anexar o código.

Ainda nem sequer olhei para o arquivo.

O algoritmo é sempre o seguinte: Cria-se 'm_trade' - objecto da classe CTrade. Se queres que ele negoceie pela sua magia - tens de fazer

   m_trade.SetExpertMagicNumber(InpMagic);

- Ou seja, deve definir esta Magia para o objecto da classe CTrade.

 
Vitaly Muzichenko:

não existe tal coisa no mt5.

Faço-o à moda antiga, não consigo sair disto...