Outros sites Medialivre
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 Dwer » 23/3/2011 19:36

não tinha percebido a pergunta.

cá vai:

x:=Cross(Mov(C,50,E),Mov(C,200,S));

OpenDiaSeguinte:=ValueWhen(1,Ref(x,-1),O);
CloseDiaMaisDois:=ValueWhen(1,Ref(x,-2),C);

OpenDiaSeguinte;
CloseDiaMaisDois
Abraço,
Dwer

There is a difference between knowing the path and walking the path
Avatar do Utilizador
 
Mensagens: 3414
Registado: 4/11/2002 23:16

por Automech » 23/3/2011 16:53

Agora que falas nisto lembrei-me de ter lido umas coisas em tempos quando andei a pesquisar sobre um swing indicator que tinha máximos e mínimos sempre variáveis em termos de ultima data.

Fui pesquisar outra vez e encontrei isto que é parecido com o teu problema. Penso que só te safas mesmo com funções DLL mas aí não te consigo ajudar nada.

http://forum.equis.com/forums/thread/28852.aspx
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por rsacramento » 23/3/2011 16:37

AutoMech Escreveu:se criares um indicador com

haQuantoTempo:=barssince(compra);
haQuantoTempo

e fizeres o plot no chart ele mostra-te os dias decorridos desde a condição ?

Porque eu testei o do yabadoo com

k:=Cross(C,Mov(C,50,E));
x:=BarsSince(k);
x

e vê-se o indicador a subir todos os dias até que ocorre a condição.


claro: dá uma recta cujo declive é +vo

o erro é na linha seguinte:
Ref(O, haQuantoTempo+1)
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Automech » 23/3/2011 16:31

se criares um indicador com

haQuantoTempo:=barssince(compra);
haQuantoTempo

e fizeres o plot no chart ele mostra-te os dias decorridos desde a condição ?

Porque eu testei o do yabadoo com

k:=Cross(C,Mov(C,50,E));
x:=BarsSince(k);
x

e vê-se o indicador a subir todos os dias até que ocorre a condição.
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por rsacramento » 23/3/2011 16:23

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
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Automech » 23/3/2011 15:53

Penso que Ref(O,-x+1) funciona.
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por rsacramento » 23/3/2011 15:42

yabadoo Escreveu:Por exemplo :

k:=cross(C,mov(C,50,e));
x:=Barssince(k);

Funciona bem

mesmo que venha a saber há quantas sessões foi a entrada, como obtenho o open do dia a seguir?
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por yabadoo » 23/3/2011 14:34

Por exemplo :

k:=cross(C,mov(C,50,e));
x:=Barssince(k);

Funciona bem
"Pedras no caminho? Guardo todas, um dia vou construir um castelo..." (Fernando Pessoa)
 
Mensagens: 535
Registado: 5/3/2010 17:06
Localização: 16

por yabadoo » 23/3/2011 11:38

rsacramento Escreveu:já tentei uma coisa dessas mas dá-me erro na função barssince(): diz que precisa é de um número e não aceita variáveis :(


Isso é estranho. Eu creio que já usei essa função com variáveis. Não tenho o Metastock aqui, mas podes detalhar um pouco como obtiveste esse erro ?
"Pedras no caminho? Guardo todas, um dia vou construir um castelo..." (Fernando Pessoa)
 
Mensagens: 535
Registado: 5/3/2010 17:06
Localização: 16

por rsacramento » 23/3/2011 10:16

já tentei uma coisa dessas mas dá-me erro na função barssince(): diz que precisa é de um número e não aceita variáveis :(
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Automech » 23/3/2011 10:13

rsacramento Escreveu:
AutoMech Escreveu:Presumo que já tenhas tentado substituir o 1 por zero ou -1 ?


zeo não dá :lol:

o nº (Nth) é a ordem da ocorrência: a última, penúltima, etc :wink:


Ahhh, claro, tens razão. Esquece.

Mas então e se usares a função BarsSince ?

Defines uma variável em que calculas quantas barras passaram desde o sinal e depois obténs o Open do dia recuando esse número de barras (adicionando 1 dia porque é o dia seguinte).

Algo tipo:
B:=BarsSince(ValueWhen(1, sinalDeEntrada, O))+1;
Ref(O,-B)

Estou a inventar. Não fui testar :wink:
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por rsacramento » 23/3/2011 9:49

AutoMech Escreveu:Presumo que já tenhas tentado substituir o 1 por zero ou -1 ?


zeo não dá :lol:

o nº (Nth) é a ordem da ocorrência: a última, penúltima, etc :wink:

Dwer Escreveu:
rsacramento Escreveu:a ver se alguém me ajuda (linguagem metaStock):

tendo um sinal de entrada como posso saber o valor do Open do dia seguinte?

e já agora o do Close do dia a seguir a este?

é que o sinal dispara - faz de conta hoje - mas só entro amanhã.. :wink:


só sabes o Open depois de ele acontecer; a não ser que tenhas capacidades divinatórias.

nunca por nunca utilizar espreitadelas do futuro (que era o que querias fazer, parece-me).


dá-me ideia que ou não percebeste a questão ou estás a brincar
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Elias » 23/3/2011 1:33

Dwer Escreveu:só sabes o Open depois de ele acontecer; a não ser que tenhas capacidades divinatórias.

nunca por nunca utilizar espreitadelas do futuro (que era o que querias fazer, parece-me).


Quem é vivo sempre aparece. :)
 
Mensagens: 35428
Registado: 5/11/2002 12:21
Localização: Barlavento

por Dwer » 23/3/2011 0:16

rsacramento Escreveu:a ver se alguém me ajuda (linguagem metaStock):

tendo um sinal de entrada como posso saber o valor do Open do dia seguinte?

e já agora o do Close do dia a seguir a este?

é que o sinal dispara - faz de conta hoje - mas só entro amanhã.. :wink:


só sabes o Open depois de ele acontecer; a não ser que tenhas capacidades divinatórias.

nunca por nunca utilizar espreitadelas do futuro (que era o que querias fazer, parece-me).
Abraço,
Dwer

There is a difference between knowing the path and walking the path
Avatar do Utilizador
 
Mensagens: 3414
Registado: 4/11/2002 23:16

por Automech » 22/3/2011 23:05

Presumo que já tenhas tentado substituir o 1 por zero ou -1 ?
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por rsacramento » 22/3/2011 20:30

AutoMech Escreveu:Mas porque é que não assumes o Open de hoje se ontem disparar o sinal ?


para os meus cálculos preciso do valor de entrada para uma comparação

há uma fórmula que dá o valor:
Código: Selecionar todos
valorEntrada:= ValueWhen(1, sinalDeEntrada, O)

ora este valor corresponderá ao do dia do trigger, não ao do dia da entrada propriamente dita, que será no dia seguinte
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Automech » 22/3/2011 20:17

Mas porque é que não assumes o Open de hoje se ontem disparar o sinal ?
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por rsacramento » 22/3/2011 19:07

a ver se alguém me ajuda (linguagem metaStock):

tendo um sinal de entrada como posso saber o valor do Open do dia seguinte?

e já agora o do Close do dia a seguir a este?

é que o sinal dispara - faz de conta hoje - mas só entro amanhã.. :wink:
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Automech » 19/3/2011 4:19

Já agora deixo aqui um link com FAQs de varias tarefas básicas no Meta:

http://www.equis.com/customer/support/kb/?fc=14
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por Automech » 19/3/2011 3:52

rsacramento Escreveu:guardas como layout :wink:


Obrigado Sacramento. Nem imaginas o tempo que isto me vai poupar.

Há tanto tempo a trabalhar com o Meta e nunca tinha atinado com o raio dos Layouts (usava sempre os templates). Nos layouts quando passava duma security para outra a formatação desaparecia sempre e os 'rabiscos também'. Afinal faltava-me era uns ticks nas Options.

Deixo aqui o link onde fui à pesca depois de ver o posto do Sacramento. Pode ser útil para mais alguém.

http://www.metastockcsv.com/Documentati ... ayouts.htm

EDIT: aqui ainda está melhor explicado:
http://www.guppytraders.com/gup133.shtml
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por MADxMAX » 18/3/2011 20:29

Boas tardes,

Como ando a dar os primeiros passos no Metastock, vão surgindo algumas dúvidas.
Nos indicadores presentes no programa adicionei 3 médias móveis exponenciais, mas o valor dessa mesma média não me aparece na barra do título, logo após a indicação do mesmo com abertura,alto,baixo e fecho.
O mesmo deveria surgir por exemplo nas Bollinger Bands que me deveria mostrar o valor médio na barra do título em questão.
Pois para vermos os valor teremos de passar com o rato sobre o pretendido, não tendo a informação directa do ultimo dia.
Como ainda não sei de programação para os indicadores, qual seria o comando ou instrução a adicionar nesse indicador para ele fazer o print com respectiva cor dos elementos referidos.

Obrigado.

MADxMAX :wink:
Avatar do Utilizador
 
Mensagens: 70
Registado: 27/12/2008 23:33
Localização: Aveiro

por rsacramento » 10/3/2011 18:47

guardas como layout :wink:
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

por Automech » 10/3/2011 16:02

O Meta tem a posibilidade de criar templates, o que já é uma ajuda para não se ter de andar a repetir sempre a mesma coisa.

Mas se eu quiser aplicar o que tenho abaixo a uns 100 ou 200 títulos (à esquerda o semanal e à direita o diário), há alguma forma de fazer isto rapidamente ?

A questão é que, como são duas time frames penso que só se consegue com dois Charts isolados (e não com Small Charts). É uma seca ter de criar os charts um a um. Se alguém tiver alguma ideia salvadora, aceitam-se sugestões :wink:

(diga-se, de passagem, que isto no ProRealTime é facílimo de fazer)
Anexos
Multiple.png
Multiple.png (89.59 KiB) Visualizado 1966 vezes
No man is rich enough to buy back his past - Oscar Wilde
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

por yabadoo » 7/1/2011 10:38

AutoMech Escreveu:Claro que é isso Yabadoo.

É inacreditável. Ontem devia estar com o cérebro parado :?


Obrigado pelo tempo perdido


Não te preocupes. Está sempre a acontecer comigo também :wink:
"Pedras no caminho? Guardo todas, um dia vou construir um castelo..." (Fernando Pessoa)
 
Mensagens: 535
Registado: 5/3/2010 17:06
Localização: 16

por Automech » 7/1/2011 10:00

Claro que é isso Yabadoo.

É inacreditável. Ontem devia estar com o cérebro parado :?


Obrigado pelo tempo perdido
Avatar do Utilizador
 
Mensagens: 9360
Registado: 4/6/2010 12:12
Localização: 16

AnteriorPróximo

Quem está ligado:
Utilizadores a ver este Fórum: aaugustobb_69, BastosJ, Dragon56, Google [Bot], LMMV, Majestic-12 [Bot], Manchini888, Nuno V, OCTAMA, PAULOJOAO, Pmart 1, rg7803, Shimazaki_2, trilhos2006 e 299 visitantes