Caldeirão da Bolsa

Ajuda no Metastock

Espaço dedicado a todo o tipo de troca de impressões sobre os mercados financeiros e ao que possa condicionar o desempenho dos mesmos.

por Red » 27/4/2007 7:59

Bom dia Cem,
De facto o que pretendia não era uma linha ascendente, apenas criei um exemplo para colocar a minha questão. O que pretendia mesmo era conseguir encontrar uma solução para passar o Barras Cem para MS :)
Da maneira que tinha pensado não vai dar, devido à forma de funcionamento que o Bender indicou.
Obrigado e um abraço.


Bender,
Pois é, se ele tem o valor futuro definido é porque o calculou previamente :)

Um abraço,
red
Avatar do Utilizador
 
Mensagens: 418
Registado: 6/11/2002 15:42
Localização: 16

por Bender » 26/4/2007 23:17

Red,

só para clarificar melhor a minha explicação, deixo aqui esta fórmula que consegue prever o futuro. :wink:

Com este "truque", só não consigo adivinhar o fecho do PSI20 de amanhã.. :) :mrgreen:


Código: Selecionar todos
a := 3.14;
a := Ref(a,+2);
a;


Abraço,
Bender
Avatar do Utilizador
 
Mensagens: 378
Registado: 12/2/2004 18:57

por Bender » 26/4/2007 19:09

Red Escreveu:Queres dizer que ele primeiro calcula o a:=0; para todas as barras e depois vai calcular o a:=ref(a,-1); para todas as barras, indo sempre buscar o valor de 0 para "a"?


Precisamente. :)

Red Escreveu:Sendo assim não há mesmo hipóetes... raios partam o script do MS :P


só usando duas fórmulas, uma delas para o cálculo de "a", e a segunda que usa a primeira para o cálculo que pretendes ( que já pode referenciar valores anteriores de "a")....o método do costume, basicamente ;-)

Abraço,
Bender
Avatar do Utilizador
 
Mensagens: 378
Registado: 12/2/2004 18:57

Re

por Cem » 26/4/2007 19:06

Amigo Red:
Não sei se o que procuras é uma função que aumente 1 unidade por cada barra.
Se for esse o caso a solução poderia ser:

a:=
Cum(1);
a;

Espero que resolva o teu problema!
Abraço.

Cem
 
Mensagens: 715
Registado: 18/4/2003 1:58

por Red » 26/4/2007 18:32

Olá Bender,

Penso ter percebido o que querias dizer, não sei é se percebi exactamente de que forma isso implica os resultados que se obtêm :)

Queres dizer que ele primeiro calcula o a:=0; para todas as barras e depois vai calcular o a:=ref(a,-1); para todas as barras, indo sempre buscar o valor de 0 para "a"?

Sendo assim não há mesmo hipóetes... raios partam o script do MS :P

Obrigado e um abraço,
red
Avatar do Utilizador
 
Mensagens: 418
Registado: 6/11/2002 15:42
Localização: 16

Re: Ajuda no Metastock

por Bender » 26/4/2007 18:06

Red Escreveu:Neste indicador, supostamente ele deveria mostrar uma linha que aumenta de valor ao longo das barras, +1 por cada barra. No entanto, mostra uma linha sempre a 1. Se numa determinada barra a=1, na barra seguinte, ao invocar ref(a,-1), iriamos obter o valor 1 e somando 1 daria 2, e por aí adiante. Mas não é isso que acontece.

Alguem sabe o porquê?


Caro Red,

isso está relacionado com a forma como são interpretadas as fórmulas no MS. O teu raciocínio e o meu inicialmente era esse: para cada uma das velas, o MS avalia a fórmula. Basicamente seria:

Para cada vela V no gráfico
__Para cada linha L da fórmula
____Avalia L, para a vela V
__Fim Para
Fim Para

Mas na realidade o que se passa é que cada linha da fórmula é processada logo para todas as velas.

O algoritmo de interpretação é basicamente este:

Para cada linha L da fórmula
__Para cada vela V no gráfico
____Avalia L, para a vela V
__Fim Para
Fim Para

(_ usado como espaço)

Não sei se dá para entender, mas posso explicar melhor, caso seja necessário. :wink:

Abraço,
Bender
Avatar do Utilizador
 
Mensagens: 378
Registado: 12/2/2004 18:57

por Red » 26/4/2007 17:14

Olá tugabulls,

Obrigado mas de facto essa solução não me resolve o problema, já que, o que pretendo não é propriamente uma linha ascendente mas sim conseguir ir buscar o valor da variável na barra anterior, e que não consigo com a função ref() por motivos que desconheço. Aparentemente essa função vai buscar o valor da constante atribuido a "a" e não o último valor atribuido...

Já perguntei em outros foruns específicos do MS e até agora não tenho solução. Paciência :)

Um abraço,
red
Avatar do Utilizador
 
Mensagens: 418
Registado: 6/11/2002 15:42
Localização: 16

por tugabulls » 24/4/2007 22:25

Não sei se ajuda, mas é um principio.

a:= 1;
a:= Cum(Ref(a,-1)) + 1;
a
I'd rather be out of a market wishing I was in, than in a market wishing I was out!
 
Mensagens: 87
Registado: 13/12/2005 17:41

Ajuda no Metastock

por Red » 24/4/2007 21:20

Olá,

Estou a tentar fazer algo no metastock e ele não me está a dar o resultado esperado.

Código: Selecionar todos
a:= 0;
a:= Ref(a,-1) + 1;
a;


Neste indicador, supostamente ele deveria mostrar uma linha que aumenta de valor ao longo das barras, +1 por cada barra. No entanto, mostra uma linha sempre a 1. Se numa determinada barra a=1, na barra seguinte, ao invocar ref(a,-1), iriamos obter o valor 1 e somando 1 daria 2, e por aí adiante. Mas não é isso que acontece.

Alguem sabe o porquê?

Obrigado,
red
Avatar do Utilizador
 
Mensagens: 418
Registado: 6/11/2002 15:42
Localização: 16


Quem está ligado:
Utilizadores a ver este Fórum: Google Adsense [Bot], Kiko_463, peterteam2, Phil2014 e 114 visitantes