Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 665

 
criar
nikitasa1997:

Bom dia, caros usuários do fórum, por favor, ajudem um novato. Eu fiz um indicador personalizado, abaixo está um fragmento de código com mais de 1000 linhas como no código original, por isso não colei o código inteiro.

O programa '+' - é muito complexo. Ele dá a conhecer este erro.

Eu li os tópicos do fórum, este erro ocorre quando a função é muito longa. Como posso dividir uma função em várias subfunções? Por favor, deixe-me ter um exemplo do meu código.


criar arquivo filter.mq4 com esta função e salvá-lo em MQL4Incluir.


então chame-o do indicador #include <filter.mq4>

se a resposta variável estiver no indicador, não é necessário declará-la, basta usá-la onde for necessário.

 
evillive:
criar

criar filtro de arquivo .mq4 com esta função e salvá-lo em MQL4Inclua


então ligue do indicador #include <filter.mq4>

se a resposta variável estiver no indicador, não é necessário declará-la, basta usá-la onde for necessário.



Muito obrigado!)
 
Chiripaha:

Do canto do meu olho, olhei as soluções oferecidas anteriormente por outros. Você pode ter restrições de permissão ao carregar os modelos. Isto se reflete na descrição de ChartApplyTemplate(). Mas isto é apenas como uma opção. Ou algo semelhante. Assim, quando você carrega via visualização, todas as permissões são salvas, mas quando programadas, elas são restritas.

Citação da descrição da função:

Quando você salva o modelo, as permissões para os programas executados no gráfico também são lembradas: o direito de comércio e o direito de usar a DLL. Por razões de segurança, estes direitos podem ser restringidos quando o modelo é aplicado ao gráfico:

Os direitos de negociação e uso de DLL não podem ser aumentados quando uma EA é lançada aplicando um modelo usando a função ChartApplyTemplate().

Se o programa mql4 que chama ChartApplyTemplate() não tem direitos de negociação, a EA carregada usando o modelo também não terá direitos de negociação, independentemente das configurações do modelo.

Se o programa mql4, que chama ChartApplyTemplate(), tem direitos comerciais, mas as configurações do modelo não, então o EA, carregado por meio de um modelo, não terá direitos comerciais.


Eu tentei desligá-los e ligá-los. Mudei o modelo, tanto com um simples gráfico com indicadores como com uma EA já carregada. mas o resultado é o mesmo: no testador sem visualização a EA não faz nada, com visualização - tudo como planejado) Não sei ... provavelmente, os desenvolvedores deveriam realmente escrever ou inventar algo mais sem modelos.

 

Aqui vai uma pergunta:

Suponha que tenhamos um servidor de busca de texto completo que tenha um cache para resultados de consulta. Precisamos calcular a eficiência do cache (tamanho máximo do cache e porcentagem de acerto) para um determinado tempo de cache.

Dados de entrada

O programa insere um arquivo texto com as consultas recebidas pelo servidor, com o tempo e a cadeia de busca, assim como o tempo de retenção do cache em segundos.

Dados de saída

Após sua execução, o programa deve emitir os seguintes valores: o número de consultas processadas, o número de consultas únicas, o tamanho máximo do cache (em número de registros), a probabilidade de entrar no cache.



Não entendo o que significa "tamanho máximo do cache (em número de registros)", como calculá-lo?

 
Bom dia cavalheiros, tenho uma pergunta muito importante, é possível configurar o robô para não comercializar em certos momentos, se sim, como pode ser feito?
 
Em quanto o indicador padrão de volume de divisas aumenta quando o preço muda por um tick (por 1 ou 2 ????)
 
Mavellol:
Bom dia cavalheiros, tenho uma pergunta muito importante, é possível configurar o robô para não negociar em certos momentos, se sim, como pode ser feito?


Preciso implementar tal possibilidade em meu Conselheiro Especializado.
 

Olá a todos!

Favor me ajudar com MarketInfo(Symbol(),MODE_MARGINREQUIRED)

double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
a variável One_Lot conterá o valor de um lote para a moeda corrente.
Exemplo de cálculo de lote para EURUSD (Preço=1,3606):
tamanho de contrato padrão (1 lote) = 100000
se comprarmos 100000 EUR temos que pagar 100000*1,3606=136060$
temos alavancagem = 100, então pagaremos One_Lot=136060/100=1360.6$

(Entendi que todos estes cálculos fazem MarketInfo(Symbol(),MODE_MARGINREQUIRED) e nosso One_Lot=1360.6)

mas o resultado é diferente no roteiro:

preço duplo = perguntar;
Imprimir ("Price =",Price);

double One_Lot = MarketInfo ( Symb, MODE_MARGINREQUIRED ) ; // o custo de um lote
Print ("One_Lot =",One_Lot);

na saída

17:10:30 informar EURUSD,H1: Preço =1,3606

17:10:30 informar EURUSD,H1: One_Lot =1600.0

Onde está o meu erro?

 
Quem é Symb e como você o define no código? Ao chamar One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED) diretamente, ele funciona bem.
 
evillive:
Quem é Symb e como você o define no código? Ao chamar One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED) funciona bem.

Obrigado por responder!

Em meu roteiro.

Symb = Símbolo ( );

Eu tentei como você faz - o resultado é o mesmo: One_Lot =1600.0

Qual é o seu resultado?