Ajuda no Metastock
Excelente Vdap. Faz exactamente o mesmo, com muito menos chatices ! Fiz a sobreposição do indicador do José Silva e do teu e não há discrepância nenhuma. Perfeito.
Figueira, tens o PTR que é gratuito e tem um tópico para dúvidas aqui no forum.
Figueira, tens o PTR que é gratuito e tem um tópico para dúvidas aqui no forum.
No man is rich enough to buy back his past - Oscar Wilde
Boas mais uma vez,
Como diz o Ulisses por vezes escrever-mos o que nos leva a mudar de opinião, é um grande passo para vermos as coisas de perspectiva diferente.
Claro que o erro era básico, o que estava a acontecer era ir buscar o Open de sexta feira e não o open de segunda feira.
feita esta correcção fica aqui a solução para quem precisar:
fs:=0;cs:=0; FT:=0;FCh:=0;
cs:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
{Valor mais baixo da semana que passou}
LLow:=(ValueWhen(1,cs>0,
Ref(LowestSince(1,cs>0,L),-1)));
{Valor mais alto da semana que passou}
HHigh:=(ValueWhen(1,cs>0,
Ref(HighestSince(1,cs>0,H),-1)));
{valor do close da semana que passou}
CClose:=(ValueWhen(1,cs>0,Ref(C,-1)));
{valor do open da semana que passou}
OOPEN:=(ValueWhen(1,cs>0,Ref(O,-5)));
OOPEN;
hhigh;
llow;
cclose;
A única alteração está no Ref(O,-5); como podem observar.
Cumprimentos,
Obrigado Automech,
Como diz o Ulisses por vezes escrever-mos o que nos leva a mudar de opinião, é um grande passo para vermos as coisas de perspectiva diferente.
Claro que o erro era básico, o que estava a acontecer era ir buscar o Open de sexta feira e não o open de segunda feira.
feita esta correcção fica aqui a solução para quem precisar:
fs:=0;cs:=0; FT:=0;FCh:=0;
cs:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
{Valor mais baixo da semana que passou}
LLow:=(ValueWhen(1,cs>0,
Ref(LowestSince(1,cs>0,L),-1)));
{Valor mais alto da semana que passou}
HHigh:=(ValueWhen(1,cs>0,
Ref(HighestSince(1,cs>0,H),-1)));
{valor do close da semana que passou}
CClose:=(ValueWhen(1,cs>0,Ref(C,-1)));
{valor do open da semana que passou}
OOPEN:=(ValueWhen(1,cs>0,Ref(O,-5)));
OOPEN;
hhigh;
llow;
cclose;
A única alteração está no Ref(O,-5); como podem observar.
Cumprimentos,
Obrigado Automech,
Obrigado AutoMech,
Tentei utilizar (com o DLL direitinho), mas quando crio o indicador diz que a função "calender week counter", em que o José Silva utiliza o fml, não está disponível.
Bem mas a minha dúvida não precisava de ir tão longe:
Já ando a algum tempo a pesquisar e a tentar e cheguei ao seguinte:
fs:=0;cs:=0; FT:=0;FCh:=0;
cs:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
{Valor mais baixo da semana que passou}
LLow:=(ValueWhen(1,cs>0,
Ref(LowestSince(1,cs>0,L),-1)));
{Valor mais alto da semana que passou}
HHigh:=(ValueWhen(1,cs>0,
Ref(HighestSince(1,cs>0,H),-1)));
{valor do close da semana que passou}
CClose:=(ValueWhen(1,cs>0,Ref(C,-1)));
{valor do open da semana que passou}
OOPEN:=(ValueWhen(1,cs>0,ref(O,-1)));
OOPEN;
hhigh;
llow;
cclose;
Funciona o High, low e close! o open não funciona e eu não sei porquê!!!
sugestões?
Abraço
Tentei utilizar (com o DLL direitinho), mas quando crio o indicador diz que a função "calender week counter", em que o José Silva utiliza o fml, não está disponível.
Bem mas a minha dúvida não precisava de ir tão longe:
Já ando a algum tempo a pesquisar e a tentar e cheguei ao seguinte:
fs:=0;cs:=0; FT:=0;FCh:=0;
cs:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
{Valor mais baixo da semana que passou}
LLow:=(ValueWhen(1,cs>0,
Ref(LowestSince(1,cs>0,L),-1)));
{Valor mais alto da semana que passou}
HHigh:=(ValueWhen(1,cs>0,
Ref(HighestSince(1,cs>0,H),-1)));
{valor do close da semana que passou}
CClose:=(ValueWhen(1,cs>0,Ref(C,-1)));
{valor do open da semana que passou}
OOPEN:=(ValueWhen(1,cs>0,ref(O,-1)));
OOPEN;
hhigh;
llow;
cclose;
Funciona o High, low e close! o open não funciona e eu não sei porquê!!!
sugestões?
Abraço
vdap Escreveu:(...)
A dúvida é a seguinte: Quanto traço alguma linha de tendência com a velas semanais, quando mudo para velas diárias essa linha não aparece.
Como posso ultrapassar este problema?
Obrigado pela ajuda,
é porque no gráfico semanal excedes o nº de sessões disponíveis que definiste no diário
aclarando:
experimenta traçar uma linha, no semanal, que termine há umas semanas; se fores ver ao diário ela aparece
agora traça uma linha no semanal que avance um pouco para a dta da última sessão - não a vais ver no diário
por fim, traça uma linha no semanal que termine exactamente na última sessão do semanal; quando espreitares no diário ela vai estar lá

Vdap, dá uma vista de olhos aqui:
http://caldeiraodebolsa.negocios.pt/vie ... &js_link=1
http://caldeiraodebolsa.negocios.pt/vie ... &js_link=1
No man is rich enough to buy back his past - Oscar Wilde
Fórmula metastock




Boas,
Precisava da ajuda aqui dos experts,
Estava aqui entretido com o metastock, a testar umas coisas e não consigo ir buscar o máximo da semana anterior, ou seja, se for pelo comando HHV, dá o máximo dos "X" dias anteriores não da semana anterior.
Estando com o gráfico diário aberto, trazer o máximo do semanal, ou o close, ou o low enfim queria os dados da semana anterior, sendo segunda, ou quarta feira devolver-me sempre os valores da semana anterior.
Obrigado,
Abraço
Obrigado Elias pela resposta,
Pois, eu já me deparo com este problema à uns tempos valentes.
Obrigado pela sugestão, eu já costumava fazer isso, no entanto, se no semanal no ajustamento da linha esta alterar o seu tamanho, já não aparece no diário.
Bem... fica por aqui a dúvida se alguém a souber ultrapassar, agradeço.
Obrigado Elias,
Abraço
Pois, eu já me deparo com este problema à uns tempos valentes.
Obrigado pela sugestão, eu já costumava fazer isso, no entanto, se no semanal no ajustamento da linha esta alterar o seu tamanho, já não aparece no diário.
Bem... fica por aqui a dúvida se alguém a souber ultrapassar, agradeço.
Obrigado Elias,
Abraço
vdap Escreveu:A dúvida é a seguinte: Quanto traço alguma linha de tendência com a velas semanais, quando mudo para velas diárias essa linha não aparece.
Como posso ultrapassar este problema?
Também me acontece o mesmo. O que sugiro é o seguinte:
1. Escolhes a representação diária
2. Traças a linha de tendência
3. Mudas para semanal
4. Ajustas a linha se não estiver como pretendes, e neste caso já vai aparecer no diário também.
Espero que isto ajude.
- Mensagens: 35428
- Registado: 5/11/2002 12:21
- Localização: Barlavento
Obrigado Cem. A tua fórmula não funciona a 100% por causa dos meses em que a primeira sessão não é dia 1, mas sim dia 2, 3, etc. Mas juntando a tua formula com a minha, ficamos com:
If(DayOfMonth()<Ref(DayOfMonth(),-1),Fml( "A"),PREV )
Assim funciona na perfeição. Obrigado por esta grande ajuda. Como diz o ditado: A União faz a força
If(DayOfMonth()<Ref(DayOfMonth(),-1),Fml( "A"),PREV )
Assim funciona na perfeição. Obrigado por esta grande ajuda. Como diz o ditado: A União faz a força

No man is rich enough to buy back his past - Oscar Wilde
Re
AMek:
O Metastock não te aceita essa expressão porque a seguir à vírgula e sinal menos em "" Ref(Fml("A"),- "" tens de colocar apenas uma constante ou número inteiro positivo.
O que estavas a tentar colocar era um valor variável e ele aí nickles!
Esse é o problema de por exemplo tentares colocar funções que retornam períodos variáveis nas médias móveis, o programa vai-te pedir uma constante para validar a fórmula. Por acaso na versão 11 que uso do Metastock Pro já se podem usar variáveis, só que em situações específicas dependentes de ciclos e da volatilidade, nada que resolva o problema que colocaste.
No entanto deixa-me dar-te os parabéns pela ideia original que tiveste a marcar o início do mês através dessa forma engenhosa do "BarsSince", nunca me lembraria de tal artimanha.
Em relação à resolução do teu problema talvez usasse a função condicional:
If(
DayofMonth() = 1 ,
Fml("A") ,
PREV ) ;
Boa sorte, espero ter ajudado, senão tenta outra ideia.
Cem
O Metastock não te aceita essa expressão porque a seguir à vírgula e sinal menos em "" Ref(Fml("A"),- "" tens de colocar apenas uma constante ou número inteiro positivo.
O que estavas a tentar colocar era um valor variável e ele aí nickles!
Esse é o problema de por exemplo tentares colocar funções que retornam períodos variáveis nas médias móveis, o programa vai-te pedir uma constante para validar a fórmula. Por acaso na versão 11 que uso do Metastock Pro já se podem usar variáveis, só que em situações específicas dependentes de ciclos e da volatilidade, nada que resolva o problema que colocaste.
No entanto deixa-me dar-te os parabéns pela ideia original que tiveste a marcar o início do mês através dessa forma engenhosa do "BarsSince", nunca me lembraria de tal artimanha.
Em relação à resolução do teu problema talvez usasse a função condicional:
If(
DayofMonth() = 1 ,
Fml("A") ,
PREV ) ;
Boa sorte, espero ter ajudado, senão tenta outra ideia.
Cem
Editado pela última vez por Cem pt em 2/9/2011 18:19, num total de 1 vez.
O autor não assume responsabilidades por acções tomadas por quem quer que seja nem providencia conselhos de investimento. O autor não faz promessas nem oferece garantias nem sugestões, limita-se a transmitir a sua opinião pessoal. Cada um assume os seus riscos, incluindo os que possam resultar em perdas.
Citações que me assentam bem:
Sucesso é a habilidade de ir de falhanço em falhanço sem perda de entusiasmo – Winston Churchill
Há milhões de maneiras de ganhar dinheiro nos mercados. O problema é que é muito difícil encontrá-las - Jack Schwager
No soy monedita de oro pa caerle bien a todos - Hugo Chávez
O day trader trabalha para se ajustar ao mercado. O mercado trabalha para o trend trader! - Jay Brown / Commodity Research Bureau
Citações que me assentam bem:
Sucesso é a habilidade de ir de falhanço em falhanço sem perda de entusiasmo – Winston Churchill
Há milhões de maneiras de ganhar dinheiro nos mercados. O problema é que é muito difícil encontrá-las - Jack Schwager
No soy monedita de oro pa caerle bien a todos - Hugo Chávez
O day trader trabalha para se ajustar ao mercado. O mercado trabalha para o trend trader! - Jay Brown / Commodity Research Bureau
- Mensagens: 3199
- Registado: 4/3/2008 17:21
- Localização: 16
Quero que o Meta me coloque diariamente o valor que uma Função A tinha no primeiro dia de cada mês.
Estou a fazer isto:
Ref(Fml( "A"),-BarsSince(DayOfMonth()<Ref(DayOfMonth(),-1)))
Dá-me o erro "This variable or expression must contain only constant data".
A lógica que segui foi:
- Se ele aceita Ref(Fml( "A"),-1) e coloca o valor da função A do dia anterior, então em vez de -1 tenho de colocar tantas sessões quantas as necessárias até chegar ao primeiro dia do mês.
- Para isso uso o BarsSince(DayOfMonth()<Ref(DayOfMonth(),-1) que sozinho funciona bem (vai começando em 1 e aumenta à medida que o mês avança, até voltar a 1 quando começa o novo mês)
Onde é que está o erro ?
Estou a fazer isto:
Ref(Fml( "A"),-BarsSince(DayOfMonth()<Ref(DayOfMonth(),-1)))
Dá-me o erro "This variable or expression must contain only constant data".
A lógica que segui foi:
- Se ele aceita Ref(Fml( "A"),-1) e coloca o valor da função A do dia anterior, então em vez de -1 tenho de colocar tantas sessões quantas as necessárias até chegar ao primeiro dia do mês.
- Para isso uso o BarsSince(DayOfMonth()<Ref(DayOfMonth(),-1) que sozinho funciona bem (vai começando em 1 e aumenta à medida que o mês avança, até voltar a 1 quando começa o novo mês)
Onde é que está o erro ?
No man is rich enough to buy back his past - Oscar Wilde
AutoMech Escreveu:Não me digas que tu também usas esta ferramenta dos hereges
Respondi de memória, actualmente não uso o Meta.
Remember the Golden Rule: Those who have the gold make the rules.
***
"A soberania e o respeito de Portugal impõem que neste lugar se erga um Forte, e isso é obra e serviço dos homens de El-Rei nosso senhor e, como tal, por mais duro, por mais difícil e por mais trabalhoso que isso dê, (...) é serviço de Portugal. E tem que se cumprir."
***
"A soberania e o respeito de Portugal impõem que neste lugar se erga um Forte, e isso é obra e serviço dos homens de El-Rei nosso senhor e, como tal, por mais duro, por mais difícil e por mais trabalhoso que isso dê, (...) é serviço de Portugal. E tem que se cumprir."
Esses deram-me função inválida LTCM, mas é lá perto.
Minus Directional Movement e Plus Directional Movement
MDI(X) e PDI(X)
Obrigado pela ajuda. Se não fosse o teu post duvido que os encontrasse. Já tinha corrido a lista duas vezes e nem reparei (tenho mesmo de limpar a porcaria da lista dos indicadores que isto está uma enorme confusão).
P.S. Não estava à espera. Não me digas que tu também usas esta ferramenta dos hereges
Minus Directional Movement e Plus Directional Movement
MDI(X) e PDI(X)
Obrigado pela ajuda. Se não fosse o teu post duvido que os encontrasse. Já tinha corrido a lista duas vezes e nem reparei (tenho mesmo de limpar a porcaria da lista dos indicadores que isto está uma enorme confusão).
P.S. Não estava à espera. Não me digas que tu também usas esta ferramenta dos hereges

No man is rich enough to buy back his past - Oscar Wilde
AutoMech Escreveu:Ideias ?
DIPlus
DIMinus
ou
PlusDI
MinusDI
Remember the Golden Rule: Those who have the gold make the rules.
***
"A soberania e o respeito de Portugal impõem que neste lugar se erga um Forte, e isso é obra e serviço dos homens de El-Rei nosso senhor e, como tal, por mais duro, por mais difícil e por mais trabalhoso que isso dê, (...) é serviço de Portugal. E tem que se cumprir."
***
"A soberania e o respeito de Portugal impõem que neste lugar se erga um Forte, e isso é obra e serviço dos homens de El-Rei nosso senhor e, como tal, por mais duro, por mais difícil e por mais trabalhoso que isso dê, (...) é serviço de Portugal. E tem que se cumprir."
rsacramento Escreveu:creio que podes exportar apenas aqueles que queres (para uma determinada pasta)
assim terias as pastas osQueQueroMuito, osQueQJáNãouero, osQueMevãoEnriquecer e por aí fora
Dadas as circunstâncias penso que é isso que vou fazer Sacramento.
No man is rich enough to buy back his past - Oscar Wilde
Preciso de fazer uma limpeza na lista dos indicadores. Tenho imensos que já não preciso, quero apaga-los mas não os quero perder.
Estava a pensar exporta-los todos para uma pasta, apagar tudo e depois importar apenas o que me interessa.
Infelizmente parece-me que, se fizer isto, ele importa tudo novamente, sem deixar escolher. É mesmo assim ?
É que se for, parece-me que a outra alternativa é exportar os que quero apagar e depois apaga-los mesmo. E nunca vou ter a hipótese dum dia importar apenas um determinado indicador porque ele importa tudo.
Fazer exportação um a um está, obviamente, fora de causa. Alguma ideia ?
Estava a pensar exporta-los todos para uma pasta, apagar tudo e depois importar apenas o que me interessa.
Infelizmente parece-me que, se fizer isto, ele importa tudo novamente, sem deixar escolher. É mesmo assim ?
É que se for, parece-me que a outra alternativa é exportar os que quero apagar e depois apaga-los mesmo. E nunca vou ter a hipótese dum dia importar apenas um determinado indicador porque ele importa tudo.
Fazer exportação um a um está, obviamente, fora de causa. Alguma ideia ?
No man is rich enough to buy back his past - Oscar Wilde
rsacramento Escreveu:lá está o erro:
This variable or expression must contain only constant data.
- Código: Selecionar todos
haQuantoTempo:=barssince(compra);
Ref(O, haQuantoTempo+1) <- erro
em que compra é obviamente o código de entrada
É natural que dê erro, rsacramento.
haQuantoTempo, como a definiste, é uma serie (array) e não podes colocar um array como segundo argumento de Ref. Nem faz muito sentido, na minha maneira de ver.
"Pedras no caminho? Guardo todas, um dia vou construir um castelo..." (Fernando Pessoa)
- Mensagens: 535
- Registado: 5/3/2010 17:06
- Localização: 16
Quem está ligado:
Utilizadores a ver este Fórum: aaugustobb_69, darkreflection, drealeya, Google Adsense [Bot], latbal, m-m, malakas, Manchini888, Massao1, Musus, nunorpsilva, PAULOJOAO, Pmart 1, Shimazaki_2, trend=friend, trilhos2006 e 396 visitantes