[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 443
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
Sim, eu entendi isso...
Talvez eu não entenda?
Uma linha como esta:
comparando o valor MACDa com zero e se a condição corresponder, então uma seta é sorteada.
Como funciona?
o que ele faz? se MACD[i]>0 e macd[i+1] também é maior que 0, então como a condição ????????????????? é atendida?
Talvez eu não entenda?
Uma linha como esta:
comparando o valor MACDa com zero e se a condição corresponder, então uma seta é sorteada.
Como funciona?
Se MACD[i]>0 e MACD[i+1] também for maior que 0, então como a condição ????????????????? é atendida?
Se o produto do valor anterior e o valor atual forem inferiores a zero, então estes valores estão em lados diferentes da linha zero.
A multiplicação é cerca de 10 vezes mais rápida que a condição lógica. Eu substituí duas condições lógicas por uma multiplicação e uma condição lógica.
Primeiro verificamos se houve uma interseção de linha zero. Se houver um cruzamento, então determine a direção do cruzamento.
Peço desculpas, mas estou tendo problemas para implementar a condição:
MACD sobe, cruza o nível N (claro, com sinal de menos) - uma seta é desenhada, NACD desce, cruza o nível N (sinal de +) - uma seta é desenhada.
O nível N é um certo nível, como para a CCI - 20 e 80. A lógica é clara, mas como implementar......?????
Por favor, me perdoe, mas minha condição não está funcionando:
MACD sobe, cruza o nível N (claro, com sinal de menos) - uma seta é desenhada, NACD desce, cruza o nível N (sinal de +) - uma seta é desenhada.
O nível N é um certo nível, como para a CCI - 20 e 80. A lógica é clara, mas como implementar......?????
Это контроль пробития уровня. В твоем случае нужно будет делать два контроля. Для положительного и отрицательного Level отдельно
é assim?
Desculpe pela intrusão, você já me ajudou com a definição dos parâmetros de entrada do indicador NonLagDOT e os emitiu através da função iCustom() para o Expert Advisor.
Por favor, informe como abrir pedidos para este indicador.
/+------------------------------------------------------------------+|| NonLagDOT.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2009, MetaQuotes Software Corp.
#link da propriedade "http://www.metaquotes.net"
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 3
#Indicador de propriedade_color1 Amarelo
#largura_do_indicador de propriedade1 1
#indicador de propriedade_color2 RoyalBlue
#largura_do_indicador de propriedade2 1
#indicador de propriedade_cores3 Vermelho
#largura_do_indicador de propriedade3 1
//---- parâmetros de entrada
preço interno externo = 0;
comprimento externo int = 20;
externo interno Deslocamento = 0;
externo int Filtro = 0;
cor exterior int = 1;
externo int ColorBarBack = 0;
Desvio duplo externo = 0;
ciclo duplo = 4;
//---- buffers indicadores
duplo MABuffer[];
duplo UpBuffer[];
duplo DnBuffer[];
preço duplo[];
dupla tendência[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
int ft=0;
nome_curto_de_filtro;
//---- linha indicadora
IndicatorBuffers(5);
SetIndexStyle(0,DRAW_ARROW);
SetIndexBuffer(0,MABuffer);
SetIndexStyle(1,DRAW_ARROW);
SetIndexBuffer(1,UpBuffer);
SetIndexStyle(2,DRAW_ARROW);
SetIndexBuffer(2,DnBuffer);
SetIndexBuffer(3,preço);
SetIndexBuffer(4,tendência);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
SetIndexArrow(0,159);
SetIndexArrow(1.159);
SetIndexArrow(2.159);
SetIndexArrow(3.159);
//---- nome para DataWindow e subwindow do indicador
short_name="NonLagDot("+Length+")";
IndicatorShortName(short_name);
SetIndexLabel(0, "NLD");
SetIndexLabel(1, "Para cima");
SetIndexLabel(2, "Dn");
//----
SetIndexShift(0,Displace);
SetIndexShift(1,Displace);
SetIndexShift(2,Deslocar);
SetIndexDrawBegin(0,Length*Cycle+Length);
SetIndexDrawBegin(1,Length*Cycle+Length);
SetIndexDrawBegin(2,Length*Cycle+Length);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| NonLagMA_v4 |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit;
duplo alfa, beta, t, soma, peso, degrau, g;
pi duplo = 3,1415926535;
Coeff duplo = 3*pi;
int Fase = Comprimento-1;
Len duplo = Comprimento*Ciclo + Fase;
se ( barras_contadas > 0 ) limite=barras_contadas_bars;
se ( counted_bars < 0 ) retornar(0);
se ( counted_bars ==0 ) limit=Bars-Len-1;
se ( barramentos_contados < 1 )
for(i=1;i<Length*Cycle+Length;i++)
{
MABuffer[Bars-i]=0;
UpBuffer[Bars-i]=0;
DnBuffer[Bars-i]=0;
}
for(shift=limit;shift>=0;shift--)
{
Peso=0; Soma=0; t=0;
para (i=0;i<=Len-1;i++)
{
g = 1,0/(Coeff*t+1);
se (t <= 0,5 ) g = 1;
beta = MathCos(pi*t);
alfa = g * beta;
//if (shift>==1) price[i] = iMA(NULL,0,Per,Displace,Mode,Price,shift+i);
//else
preço[i] = iMA(NULL,0,1,0,MODE_SMA,Price,shift+i);
Soma += alfa*preço[i];
Peso += alfa;
se ( t < 1 ) t += 1,0/(Fase 1);
senão se ( t < Len-1 ) t += (2*Cycle-1)/(Cycle*Length-1);
}
se (Peso > 0) MABuffer[shift] = (1,0+Deviação/100)*Soma/Peso;
se (Filtro>0)
{
if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filtro*Ponto ) MABuffer[shift]=MABuffer[shift+1];
}
se (Cor>0)
{
tendência[shift]= tendência[shift+1];
se (MABuffer[shift]-MABuffer[shift+1] > Filtro*Ponto) tendência[shift]=1;
if (MABuffer[shift+1]-MABuffer[shift] > Filter*Point) trend[shift]=-1;
se (tendência[shift]>0)
{
UpBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
DnBuffer[shift] = 0;
}
se (tendência[shift]<0)
{
DnBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
UpBuffer[shift] = 0;
}
}
}
retorno(0);
}
é assim?
Por favor, explique os termos LevelUP e LevelDN
NívelUP- nível positivo
LevelDN- nível negativo.
Em geral, eles são iguais em valor absoluto.
Se eles forem iguais, é possível usar