class A {};
class B : public A
{
public:
int i;
};
voidOnStart()
{
A* a = new B;
((B*)a).i = 1;dynamic_cast<B*>(a).i = 1;
delete a;
}
Support Team2017.06.29 12:04
Porque não deveria compilar?
A é o antepassado de B, pelo que a conversão pode ser válida, a validade é verificada e se a conversão do objecto não for possível, é lançada uma excepção e o programa MQL termina.
Em contraste com a conversão explícita dynamic_cast não levanta uma excepção, mas retorna NULL, caso em que o programa continuará a ser executado.
Ajuda por favor!!!!!!!! O botão "1-clique de negociação" não é exibido no terminal 1090. Fiz todos os possíveis. Também assinalei a caixa nas propriedades. Não é exibido como uma ordem de abertura de linha!!! O que fazer?
vati-vv: Ajuda por favor!!!!!!!! No terminal 1090, o botão "Trocar em 1 clique" não é exibido. Fiz tudo o que era possível. Também o verifiquei em propriedades. Não é exibido como uma ordem de abertura de linha!!! O que fazer?
A sua pergunta foi agora afixada na secção MQL5. Para o terminal antigo, deve colocar as suas perguntas nas secçõesMQL4 e MetaTrader 4.
É aconselhável verificar se está ligado ao servidor de negociação, uma vez que o painel de negociação rápida é exibido apenas quando está efectivamente ligado à sua conta de negociação.
Olá, em mql5 utilizo a seguinte forma de especificar o modo_de_enchimento
No testador um EA abre posições, mas algumas posições não são abertas e o modo de enchimento sem suporte de erro, o que estou a fazer mal?
Não é um valor que é devolvido, mas um composto de um ou dois - é por isso que a verificação pode estar incorrecta.
Tente uma tal construção:
//---if(IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_FOK))
m_trade.SetTypeFilling(ORDER_FILLING_FOK);
elseif(IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_IOC))
m_trade.SetTypeFilling(ORDER_FILLING_IOC);
else
m_trade.SetTypeFilling(ORDER_FILLING_RETURN);
...
//+------------------------------------------------------------------+ //| Checks if the specified filling mode is allowed | //+------------------------------------------------------------------+ bool IsFillingTypeAllowed(string symbol,int fill_type)
{
//--- Obtain the value of the property that describes allowed filling modes int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- Return true, if mode fill_type is allowed return((filling & fill_type)==fill_type);
}
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Insectos, insectos, perguntas
fxsaber, 2017.06.15 10:08
Porque é que se compila?A é o antepassado de B, pelo que a conversão pode ser válida, a validade é verificada e se a conversão do objecto não for possível, é lançada uma excepção e o programa MQL termina.
Em contraste com a conversão explícita dynamic_cast não levanta uma excepção, mas retorna NULL, caso em que o programa continuará a ser executado.
Definir a velocidade para menos três passos do máximo - caso contrário, as actualizações da interface não são garantidas.
o código de erro também é 0
por alguma razão retorna sempre 0.0
o código de erro também é 0
Isto, tanto quanto sei, só funciona na Bolsa de Moscovo
Ajuda por favor!!!!!!!! No terminal 1090, o botão "Trocar em 1 clique" não é exibido. Fiz tudo o que era possível. Também o verifiquei em propriedades. Não é exibido como uma ordem de abertura de linha!!! O que fazer?
A sua pergunta foi agora afixada na secção MQL5. Para o terminal antigo, deve colocar as suas perguntas nas secçõesMQL4 e MetaTrader 4.
É aconselhável verificar se está ligado ao servidor de negociação, uma vez que o painel de negociação rápida é exibido apenas quando está efectivamente ligado à sua conta de negociação.
Olá, em mql5 utilizo a seguinte forma de especificar o modo_de_enchimento
No testador o EA abre posições, mas cerca de uma posição não abre e erro no modo de enchimento sem suporte, o que estou eu a fazer mal?
Olá, em mql5 utilizo a seguinte forma de especificar o modo_de_enchimento
No testador um EA abre posições, mas algumas posições não são abertas e o modo de enchimento sem suporte de erro, o que estou a fazer mal?
Não é um valor que é devolvido, mas um composto de um ou dois - é por isso que a verificação pode estar incorrecta.
Tente uma tal construção:
Acrescentado: se ajudou, por favor avisem-me.
Não é um único valor que é devolvido, mas um composto de um, ou dois - por isso pode receber um cheque inválido.
Experimente esta construção:
Acrescentado: se ajudou, por favor avisem-me.
Obrigado, mas não ajudou, ainda dá periodicamente este erro!
Como sei o número da janela/ubjanela de um objecto? Não vejo uma propriedade correspondente.