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
Sugiro o seguinte: anexar indicador (a variante que funcionava antes, sem alterações) aqui ou em minha mensagem pessoal, eu o corrigirei.
Olá, Pavlik!
Essa é a versão.
original.
tente arrastar o código
pansa
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2.mq4
//| Ramdass - Somente conversão
//+------------------------------------------------------------------+
#propriedade copyright "Autor - OlegVS, GOODMAN"
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 2
#Indicador de propriedade_color1 Chartreuse
#indicador de propriedade_color2 Amarelo
#largura_do_indicador de propriedade1 2
#largura_do_indicador de propriedade2 2
//---- parâmetros de entrada
externo int K=30;
duplo Kstop externo=0,5;
período interno externo Kperiod=150;
externo interno PerADX=14;
Externo interno CountBars=350;
intON=1; //zakton's externos
//---- buffers
duplo val1[];
duplo val2[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
nome_curto_de_filtro;
//----linha indicadora
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1.159);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2|
//+------------------------------------------------------------------+
int start()
{
se (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+PerADX);
SetIndexDrawBegin(1,Bars-CountBars+PerADX);
int i,shift,counted_bars=IndicatorCounted();
int i1,i2;
faixa dupla,AvgRange,smin,smax,SsMax,SsMin,SSP,preço;
bool uptrend,velho;
//----
if(Bars<=PerADX+1) return(0);
//---- inicial zero
if(counted_bars<PerADX+1)
{
for(i=1;i<=PerADX;i++) val1[CountBars-i]=0,0;
for(i=1;i<=PerADX;i++) val2[CountBars-i]=0,0;
}
//----
para (shift = CountBars-PerADX; shift>=0; shift--)
{
SSP=MathCeil(Kperiod/iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_MAIN,1)));
Faixa = 0;
AvgRange=0;
para (i1=shift; i1<=shift+SSP; i1++)
{AvgRange=AvgRange+MathAbs (High[i1]-Low[i1]));
}
Alcance=AvgRange/(SSP+1);
SsMax=Alto[turno]; SsMin=Baixo[turno];
for (i2=shift;i2<=shift+SSP-1;i2++)
{
price=High[i2];
if(SsMax<preço) SsMax=preço;
price=Low[i2];
if(SsMin>=preço) SsMin=preço ;
}
smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
se (Fechar[turno]<smin)
{
uptrend = falso;
}
se (Fechar[turno]>smax)
{
uptrend = true;
}
if (uptrend!=old && uptrend===true) {val1[shift]=Low[shift]-Range*Kstop;}
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*Kstop;}
old=uptrend;
// código do zakton
if ((shift == 0) && (SoundON == 1)) {
se (val1[0] > 0) PlaySound("ReadyToExit.wav");
}
if ((shift == 0) && (SoundON == 1)) {
se (val2[0] > 0) PlaySound("ReadyToExit.wav");
}
}
retorno(0);
}
//+--------------------------------------------------------Olá, Pavlik!
Essa é a versão.
original.
tente arrastar o código
pansa
Sr. Pansa! Porqué no usa el botón SRC para poner su código? Así mejor o Ud. tiene alguna duda?
Buena suerte!
Olá, Pavlik!
Essa é a versão.
original.
tente arrastar o código
pansa
O indicador funciona, mas o desenvolvedor cometeu um erro lógico nele
OK?
OK?
Oi Pavlik!
Instalou seu código...
Funciona perfeitamente!
Você é um grande talento...
Você quebrou a parede!
Ótimo trabalho -
agora sinais confiáveis e
♪ novos horizontes! ♪
que dia bom hoje!
Eu gostaria de agradecer especialmente à Integer.
Ele escreveu o roteiro de chamada do jogador!
Existem, no entanto, talentos e boas pessoas.
Kudos para você!
Hoje é 11/9/14!
Panza
A maioria dos meus avisos de lixo são gerados por causa de uma passagem perfeitamente legal, correta e padrão de uma variável por referência em uma função, quando o nome do modelo da função coincide com a própria variável como deveria estar nesta construção em seu uso padrão e típico, quando a própria variável é passada para a função por seu próprio nome.
Dê um exemplo, por favor.
Infelizmente, o MC não pôde dar uma explicação competente e lógica disto, pois às vezes alguém lá pode ter um mal-entendido em outras construções quando há nomes semelhantes.
Se entendi o caso corretamente, a resposta foi lógica e correta, e foi aprendida durante mais de algumas décadas de programação contínua.
Desculpe pelo comentário apagado acidentalmente - cliquei no lugar errado e não há nenhuma função para restaurá-lo.
Dê-me um exemplo, por favor.
Se entendi o caso corretamente, a resposta foi lógica e correta, e tem sido sofrida através de mais de duas décadas de programação contínua.
O editor gerou o aviso "declaração de 'a' esconde a declaração global na linha 4" e "declaração de 'b' esconde a declaração global na linha 4" para este padrão, construção legal e popular pelos padrões da linguagem C que também é incorreta e analfabeta por sua própria essência, pois não há declaração de uma nova variável dentro de uma função nem qualquer dica de qualquer possível sobreposição de variáveis.
Como resultado, temos centenas de avisos inapropriados, mesmo em um código de programa não tão grande.
O indicador funciona, mas o desenvolvedor cometeu um erro lógico nele
Oi Vinin!
Você verificou o indicador: AltrTrend_Signal_v2_2.mq4
e encontrou um erro lógico
em fórmula : SSP=MathCeil (Kperiod/iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_MAIN,1))
você sublinhou 1 no final
o que você acha que deveria ser?
pansa