O indicador LWMA é diferente do MC
1 resposta
binhsir
2 anos atrás #271099
Hi
Tenho uma estratégia de MC, preciso transplantá-la para o Algowizard e testar novamente, otimizar.
Portanto, o código da estratégia MC é :
entradas:Len1(14),Len2(80),sb(40);
variáveis:var1(0);
var1=(Average(close,Len1)-wAverage(close,Len2));
Se Average(var1,sb) cruzar acima de 0, compre a próxima barra no mercado;
se Average(var1,sb) cruzar abaixo de 0, então Sell Short Next Bar at market;
Pergunta:
1. Descobri que a função de média no MC é diferente do indicador LWMA no SQ
MC Waerage:
insumos:
PriceValue( numericseries ),
Len( numericsimple ) ;
variáveis:
var0( 0 ),
var1( 0 ) ;
var0 = 0 ;
for Value1 = 0 to Len - 1
começar
var0 = var0 + ( Len - Value1 ) * PriceValue[Value1] ;
fim ;
var1 = ( Len + 1 ) * Len * .5 ;
WAverage = var0 / var1 ;
Indicador SQ LWMA:
private void calculateLWMA(int CurrentBar, double newValue) {
int max = Math.min(Period, CurrentBar);
int multiplicador = Period;
int divisor = 0;
double sum = 0;
for(int a=0; a<max; a++){
divisor += multiplicador;
sum += buffer[a] * (multiplicador-);
}
currentValue = soma / divisor;
}
O divisor se parece com Period*Period. Portanto, é diferente do MC. Qual é o melhor? Ou não é melhor, apenas ser consistente entre SQ e MC?
2. Quando eu codifico a média (var1,sb) cruza acima de 0 nos sinais de negociação, como posso codificar? Porque não há "variable5" em
" Opção "Compute from" do indicador de média.
Então, é possível oferecer suporte para adicionar variáveis personalizadas no preço calculado a partir da opção? como período, opção de deslocamento.
É claro que tentarei adicionar primeiro a função de média personalizada por meio de programação no editor de código.
Muito obrigado
Caixa
tomas262
2 anos atrás #271129
Olá,
Sim, o LWMA parece ser diferente do WMA, já que eles devem ser calculados de forma diferente
LWMA https://www.investopedia.com/terms/l/linearlyweightedmovingaverage.asp
Você pode simplesmente verificar se há dois valores cruzados, mas sempre precisa armazenar 4 valores. Significado 2 valores para Deslocamento = 2 e 2 valores para Deslocamento = 1 para que você tenha valores de barra anteriores e valores de barra atuais que possam ser facilmente comparados.
Para verificar o cruzamento, basta configurar essas condições:
se Value1atShift2 Value2atShift1 - Agora você tem uma situação em que o Valor1 cruza acima do Valor2. Dessa forma, você pode configurar qualquer situação de "Cross-over" ...
Visualizando 1 resposta (de um total de 1)