Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 223
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Tarde. Por favor, ajude um comerciante principiante a encontrar um consultor adequado para a negociação automatizada, que seja capaz de abrir ordens bloqueadas em pares de divisas com a possibilidade de obter lucros de forma arbitrária. Obrigado.
Alternativamente: método de declaração do tipo em todos eles, no qual o identificador do tipo de retorno.
Heh, se pudesse editar o código fonte... Não é preciso simplificar tanto as coisas. E ainda - há um nome de classe em mql5?
Heh, se pudesse editar o código fonte... Não é preciso simplificar tanto as coisas. Ainda assim - há alguma forma de o mql5 saber o nome de uma classe????
Olhar na direcção dos modelos. Este código devolverá o nome da classe ou de um tipo primitivo.
#Incluir<Comércio\Trade\Trade.mqh>
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
nuloOnStart()
{
//---
Comércio de CTrade;
duplo d_value=M_PI;
int i_value=INT_MAX;
Print("d_value: type=",GetTypeName(d_value),", value=", d_value);
Print("i_value: type=",GetTypeName(i_value),", value=", i_value);
Print("trade: type=",GetTypeName(trade);
//---
}
//+------------------------------------------------------------------+
//| Tipo de retorno em forma de fio|
//+------------------------------------------------------------------+
modelo<nome datilografar T>
string GetTypeName(const T&t)
{
//---- tipo de retorno como cordel
return(typename(T))
//---
}
Olhe para padrões. Este código devolverá o nome de uma classe ou tipo primitivo.
#Incluir<Comércio\Trade\Trade.mqh>
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
nuloOnStart()
{
//---
Comércio de CTrade;
duplo d_value=M_PI;
int i_value=INT_MAX;
Print("d_value: type=",GetTypeName(d_value),", value=", d_value);
Print("i_value: type=",GetTypeName(i_value),", value=", i_value);
Print("trade: type=",GetTypeName(trade);
//---
}
//+------------------------------------------------------------------+
//| Tipo de retorno em forma de fio|
//+------------------------------------------------------------------+
modelo<nome datilografar T>
string GetTypeName(const T&t)
{
//---- tipo de retorno como cordel
return(typename(T))
//---
}
Eu tenho algo! Mas não funciona com o novo - no código há um exemplo do que preciso - pode ser que alguém possa sugerir como?
Eu tenho algo! Mas não funciona com o novo - há um exemplo no código do que eu preciso - alguém pode sugerir alguma forma?
Alguém me pode explicar porque é que este código não funciona no testador, enquanto em tempo real funciona!!? Especificamente interessado em porque no testador, após HistorySelect(0, TimeCurrent()) o HistoryOrderGetInteger...
Imagem de ecrã no testador de estratégia:
Imagem de ecrã em tempo real na demonstração:
p.s. O que é interessante, a primeira encomenda no testador é processada correctamente, as outras não são. Também, se comentarmos HistroryOrderSelect(ticketOrder), recebemos uma mensagem no Strategy Tester de que a ordem não foi seleccionada e no Strategy Tester, tudo começa a funcionar, excepto a primeira ordem.
E eu tenho alguns problemas com HistorySelect(). Abro uma posição com o guião enviando uma ordem de mercado, e se um negócio foi aberto, olho imediatamente para o número de negócios na história desde que o guião foi lançado, e verifico 10 vezes com um intervalo de um segundo. Obviamente, deveria haver uma profissão. Aqui está o guião:
E aqui está o resultado em Alfa-Forex:
Uma troca é realmente feita, mas não está na história, mesmo depois de 10 segundos. O que é isso? Um bug MT? Falha Alfa? Algum tipo de chip que eu não conheço? O guião da Alpari funciona normalmente, apenas ocasionalmente é detectado zero no primeiro (zero) passo (bem, é compreensível - a história ainda não teve tempo de ser actualizada), todos os outros passos são um só. Mas após dez segundos, porque é que não há acordo na história?
E eu tenho alguns problemas com HistorySelect(). Abro uma posição com o guião enviando uma ordem de mercado, e se um negócio foi aberto, olho imediatamente para o número de negócios na história desde que o guião foi lançado, e verifico 10 vezes com um intervalo de um segundo. Obviamente, deveria haver uma profissão. Aqui está o guião:
E aqui está o resultado do corretor Alfa:
Uma troca é realmente feita, mas não está na história, mesmo depois de 10 segundos. O que é isto? Um bug MT? Falha Alfa? Algum tipo de chip que eu não conheço? O guião da Alpari funciona normalmente, apenas ocasionalmente é detectado zero no primeiro (zero) passo (bem, é compreensível - a história ainda não teve tempo de ser actualizada), todos os outros passos são um só. Mas porque é que não há acordo na história em dez segundos?
O que me incomoda é a seguinte linha
data/hora dtStartTime = TimeCurrent();
Tem a certeza de que dtStartTime e TimeCurrent() não são o mesmo número de momento para? Talvez o arredondamento para um segundo coloque a transacção concluída fora do dtStartTime.
A linha
data/hora dtStartTime = TimeCurrent();
Tem a certeza de que dtStartTime e TimeCurrent() não são o mesmo número de tempo para? Talvez o arredondamento para um segundo coloque a transacção concluída fora do dtStartTime.
E mesmo que seja um, não deveria a MT produzir a história para esse segundo? Ou seja, não produz a história dentro dos limites especificados, INCLUINDO os próprios limites?
Mas de qualquer modo, tentei escrever tanto dtStartTime = TimeCurrent() - 1, como dtStartTime = TimeCurrent() - 10. Não funciona.