Perguntas sobre MQL5 Wizard e biblioteca padrão de classes comerciais - página 9
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
Qual é, então, o seu objectivo prático, e não o de testar? Parece estar lá, mas não se pode utilizá-lo. E porque é que quaisquer perguntas sobre este assunto, como, por exemplo, a proposta de introdução de tal processamento, ou a redacção de um artigo por parte dos criadores, ou algum guia sobre o tratamento de erros, se encontram sempre em silêncio por parte dos criadores? Afinal, eles são os mais competentes na matéria - qual é o problema? Parece estranho, para dizer o mínimo, que em vez de algo realmente útil, estejamos a trabalhar num monte de indicadores que ninguém precisa (0 comentários, 0 pedidos para eles), quando não há base para a negociação - a capacidade de abrir e fechar negócios. A questão do emulador de auto-transacção fica sem resposta. Gostaria de ouvir a resposta.
Portanto, ninguém esconde o facto de que o mago da estratégia é apenas para o testador. )) Basta e rapidamente verificar esta ou aquela ideia e depois decidir em que direcção seguir. E o tratamento de erros não é uma tarefa tão difícil. Pode, pelo menos, ver como os outros o fazem. Por exemplo, a biblioteca de funções da KimIV no quarto fórum. Penso que poderia até escrever um artigo sobre este assunto, mas não tenho assim tanto tempo agora.
E os promotores agora, segundo sei, têm todos os seus esforços concentrados no desenvolvimento do projecto como um todo. Os serviços de Mercado, Sinais e Armazém estão pendurados no ar, talvez mais alguns bugs. Estas são agora, na minha opinião, as principais tarefas.
A questão não é se a tarefa é complexa ou não, mas se precisa de ser implementada numa biblioteca padrão. Seria uma boa ideia definir uma lista das principais tarefas ao escrever a EA e implementá-las para os criadores, para que não haja necessidade de observar como os outros o fazem, ou esperar que alguém tenha tempo para escrever um artigo.
... Mas e se eu o fizer? ))
Não.
Lamento, mas é para isso que serve a Biblioteca Standard, para conter soluções genéricas. O processamento de erros comerciais depende muito das preferências do comerciante.
Portanto, caros amigos, façamo-lo por nós próprios.
Em qualquer caso, provavelmente terá de esperar até que a empresa tenha mais prioridades. Talvez venha a ser implementado num futuro próximo. Aqui decidi não esperar, pois realmente não gosto de esperar e já a implementei há muito tempo. Não demorou nada. Além disso, fi-lo logo no início da aprendizagem da língua. Poderá escrever o seu pedido para o balcão de serviço. E se eu o fizer? ))
A implementação pode ser feita por qualquer pessoa e de qualquer forma. Tem a certeza de que fez tudo de forma óptima, correcta e bonita? Claro que pode haver muitas variantes, mas uma típica dos criadores é suficiente para a adaptar às suas necessidades ou utilizá-la tal como está.
Olá, tenho 2 perguntas.
1) No método duplo CExpertSignal::Direction(), para normalizar o resultado em todos os filtros, dividimos o valor total resultante pelo valor numérico. Suponhamos que usamos um único filtro, então, de acordo com o código da biblioteca padrão, o valor do número que =1 durante a inicialização aumentará +1 e tornar-se-á 2. Assim, o resultado obtido a partir de um filtro é dividido por 2. Pergunta = existe um erro?
duplo CExpertSignal::Direção()
{
CExpertSignal *filtro;
máscara longa;
direcção dupla;
duplo resultado=m_weight*(LongCondition()-ShortCondition());
int número=1; // número de "votado
//---
int total=m_filters.Total();
//--- para depuração
//printf(__FUNÇÃO__+" : %s %d",EnumToString(m_period),total);
//--- laço por filtros
for(int i=0;i<total;i++)
{
//--- máscara para mapas de bits
mask=((long)1)<<<i;
//--- verificação da bandeira de ignorar o sinal do filtro
if((m_ignore&mask)!=0) continuar;
filter=m_filters.at(i);
direcção=filtro.direcção();
//--- o sinal de "proibição
if(direction===EMPTY_VALUE) return(EMPTY_VALUE) return(EMPTY_VALUE)
//--- verificação da bandeira de inversão do sinal do filtro
if((m_invert&mask)!=0) resultado=direcção;
senão resultado+=direcção;
número+++;
}
//--- normalização
resultado/=número;
//--- devolver o resultado
retorno(resultado);
}
2) Poderia dizer-me o que significa a variável m_adjusted_point?
Obrigado.
Olá, tenho duas perguntas.
1) Não há erro fundamental.
2) Correcção para citações de 3/5 dígitos.
Não.
Lamento, mas é para isso que serve a Biblioteca Padrão, para conter soluções padrão. O processamento de erros comerciais depende muito das preferências do comerciante.
Por isso, caros amigos, é uma coisa do tipo "faça você mesmo".
Olá.
Decidi escrever o meu próprio módulo de sinal puramente para fins cognitivos. Tenho enfrentado um problema. Tenho de estabelecer ordens pendentes. Compreendi que isso pode ser feito através do CExpertSignal::OpenLongParams(...). Mas eu tenho um problema - o meu testador avisa sobre a Expiração Inválida. Depois de ter mexido no código fonte, apercebi-me que não conseguimos obter nenhum tipo de tempo para além doORDER_TIME_SPECIFIED e gostaríamos de ORDER_TIME_GTC.
Fiz uma jogada inteligente até agora, mas não é bem assim. Corrigi a função na biblioteca:
O que pode aconselhar