[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 647

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
certo.
Eu desenhei o código abaixo. Alguém pode me dizer qual é o problema - o fragmento que eu coloquei em negrito?
O problema é que o indicador traça o histórico imediatamente para trás e não o reinicia após alterar os parâmetros.
#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 1
#indicador de propriedade_color1 LimeGreen
AUD duplo;
perAvr=5,Delta=1;
duplo idx[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0,Idx);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização do indicador do cliente |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
AUD=(iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+De lta)*100/iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+De lta) ;
//if (Curency =="AUDUSD")
Idx[i] = AUD;
}
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
Boa tarde, membros do fórum. Encontrei um código interessante para construir uma linha de tendência. Decidi brincar um pouco com ele.
Por alguma razão me lembrei de uma anedota: em uma família de um programador, um filho se aproxima de seu pai e pergunta porque o sol nasce no leste e se põe no oeste.
Papai, sem tirar os olhos do computador, será que ele realmente se levanta no leste? -Sim. - E se instala no oeste? - Sim. Então, o quê, todos os dias? - Sim. Bem, não toque em nada se estiver funcionando.
Por alguma razão me lembrei de uma anedota: em uma família de um programador, um filho se aproxima de seu pai e pergunta porque o sol nasce no leste e se põe no oeste.
Papai, sem tirar os olhos do computador, será que ele realmente se levanta no leste? -Sim. - E se instala no oeste? - Sim. Então, o quê, todos os dias? - Sim. Bem, não é preciso tocar em nada se estiver funcionando.
Olá usuários do fórum, eu encontrei um código interessante para desenhar a linha de tendência.
Você sabe o que é engraçado - você mudou o código de acordo com seus princípios e quer que uma brigada de estudiosos encontre as falhas
e você apenas tenta produzir as informações que você quer obter no comentário? é possível que tudo funcione, mas você obtém os dados que não são exibidos ao preço atual, mas em algum lugar no final do gráfico - eu acho que são os ventos separados.
SZS boa sorte
Você sabe o que é engraçado - você mudou o código de acordo com seus princípios e quer uma brigada de estudiosos para encontrar falhas
e você apenas tenta produzir as informações que você quer obter no comentário? é possível que tudo funcione, mas você obtém os dados que não são exibidos ao preço atual, mas em algum lugar no final do gráfico - eu acho que são os ventos separados.
SZS boa sorte
Eu sei sobre o separador - eu sei, está em uma janela separada, não é sobre isso. Não consigo ver o que acontecerá com este código - aparentemente este método de cálculo não funcionará para porcentagens((.
Imediatamente, por alguma razão eu me lembro de uma piada - o filho de um programador vem até seu pai e pergunta por que o sol nasce no leste e se põe no oeste?
Papai, sem tirar os olhos do computador, será que ele realmente se levanta no leste? -Sim. - E se instala no oeste? - Sim. Então, o quê, todos os dias? - Sim. Bem, não é preciso tocar em nada se estiver funcionando.
Obrigado. Acho que a única diferença é que a EA é lançada cada vez que um novo tick chega, enquanto o script tem que ser lançado em loop infinito para mantê-lo funcionando?
Não necessariamente. Tudo depende da finalidade do roteiro. Se o objetivo do roteiro é uma corrida única (que é a grande maioria), não há necessidade de se inventar loops infinitos. A necessidade de calcular a quantia de dinheiro a ser aplicada ao mercado ao abrir uma posição com um lote pré-definido pode servir como um exemplo de um roteiro único. Como o preço do lote mínimo é diferente para diferentes instrumentos, é mais fácil abrir o instrumento necessário, aplicar o roteiro a ele, entrar o lote pretendido na janela de parâmetros e ver quanto dinheiro será bloqueado se o comércio for aberto.
Este é apenas um exemplo. O propósito dos roteiros pode ser diferente.
Estou ciente da separação - eu sei, está em uma janela separada, não se trata disso. Não vejo como este código vai funcionar - aparentemente este método de cálculo de porcentagem não vai funcionar((.
Imediatamente, por alguma razão eu me lembro de uma anedota: um filho de uma família de um programador vem até seu pai e pergunta por que o sol nasce no leste e se põe no oeste?
Papai, sem tirar os olhos do computador, será que ele realmente se levanta no leste? -Sim. - E se instala no oeste? - Sim. Então, o quê, todos os dias? - Sim. Bem, não é preciso tocar em nada se estiver funcionando.
É um indicador bastante simples. Não vejo como as porcentagens são melhores do que os pips, mas o que quer que seja.
Você cometeu alguns erros, no entanto :)
1.
Para calcular corretamente a porcentagem você deve adicionar parênteses.
2.
O problema é que o indicador traça o histórico para trás imediatamente e não o reinicia após alterar os parâmetros.
O mais interessante é que ele despertou o interesse esportivo e ficou meia hora sentado no seu indicador.
Por que a história não foi calculada?
A resposta é que você acrescentou uma operação de divisão.
O fato de que a função iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE ,i+Delta) retorna 0 logo no início da história não foi levada em conta. E você foi "expulso" com o erro 4013 (ERR_ZERO_DIVIDE) ao tentar dividir por 0, verifique o registro.
Você pode adicionar mais um cheque no FOR loop.
E tudo vai ficar bem. Abaixo está minha variante.
#Indicador de propriedade_color1 Branco
É possível alterar este parâmetro programmaticamente no módulo start(),
ou seja, é possível mudar a cor do buffer à medida que o programa avança?
#Indicador de propriedade_color1 Branco
É possível alterar este parâmetro programmaticamente no módulo start(),
ou seja, é possível mudar a cor do buffer à medida que o programa avança?
Acho que não. E por que deveria ser?