[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 38
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
esquerda (por simplicidade) apenas o que constitui o problema no código. Colocar o indicador e ver o problema, por assim dizer.
Se não estou enganado, a função init é chamada apenas uma vez, quando você desliga em um gráfico. Seria lógico forçar a reinicialização quando o tf muda - para evitar "coisas estranhas" com o trabalho do gerente de memória.
>> Boa sorte.
esquerda (por simplicidade) apenas o que constitui o problema no código. Colocamos o indicador e vemos o problema, por assim dizer.
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//...........................................................
Set_SL[History*Depth]=1.0*Level*Point;
Alerta("Init:"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//suspendeu para ver: mostra (digamos) 0,0001
//--------------------------------------------------------------------//----
retorno(0);
}
Você não deve se referir a arrays do init(). O mais provável é que as matrizes ainda não tenham sido inicializadas. Faz sentido mover a parte problemática para começar()
É suficiente verificar a última transação fechada. Mas você tem que prever quando ainda não há história
Que função você pode usar para fazer isso?
Que função pode ser usada para fazer isso?
Você tem que escrever uma função ou procurar por uma já feita.
Se não estou enganado, a função init é chamada apenas uma vez, quando você desliga em um gráfico. Seria lógico forçar a reinicialização quando se muda o t\f - para evitar "coisas estranhas" com a operação do gerenciador de memória.
Boa sorte.
Do tutorial:
Função init() especial.
Nos indicadores personalizados a função init() especial é chamada (e executada) imediatamente após o início do terminal do cliente, após uma mudança de um símbolo e/ou de um período gráfico, após a recompilação do programa no MetaEditor e após a mudança dos parâmetros de entrada a partir da janela de configuração de indicadores personalizados.
Do livro didático:
Função init() especial.
Nos indicadores personalizados, a função especial init() é chamada (e executada) imediatamente após o início do terminal do cliente, após a mudança do símbolo e/ou período gráfico, após a recompilação do programa no MetaEditor e após a mudança dos parâmetros de entrada a partir da janela de configuração de indicadores personalizados.
Leva no máximo cinco minutos - declarar uma função e transferi-la para lá do anexo init e chamá-la como eu lhe escrevi.
Boa sorte.
SZ o valor int máximo que sua função lhe dá é muito provavelmente VAZIO_VALOR.
Sim, mais uma coisa: a variável Período Atual deve ser declarada como uma variável estática ou global para o arquivo. Normalmente atribuo um valor de -1 a tais variáveis.
Como se referir à barra anterior (já formada)?
Close[1]/Open[1]/High[1]/Low[1]/.... Dependendo do valor necessário.
Close[1]/Open[1]/High[1]/Low[1]/.... Dependendo do valor necessário.
Obrigado
Close[1]/Open[1]/High[1]/Low[1]/.... Dependendo do valor necessário.
Obrigado