Outros sites Medialivre
Caldeirão da Bolsa

ajuda - metastock formula

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.

Re: ajuda - metastock formula

por rsacramento » 9/12/2016 21:37

de repente o que me ocorre é ires pelos IF

se é segunda feira, compara a sessão anterior com a de há 5 fechos atras

se hoje é terça, compara a de anteontem etc etc
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

Re: ajuda - metastock formula

por MADxMAX » 9/12/2016 20:56

Boas,

Ainda às turras aqui com afinação de fórmulas, falta mais um um parafuso para afinar...

Isto poderia ser mais lógico e o fecho semanal ser tipo CW...mas não ...

Queria que ordem compra fosse;
o fecho DIÁRIO seja superior ao de ontem, e o fecho de ontem superior ao fecho de anteontem, e creio que será isto...
C > Ref(C,-1)
AND
C > Ref(C,-1) > Ref(C,-2)
Mas a ordem só entra se o fecho do SEMANAL ultimo for superior ao fecho SEMANAL anterior, e aqui que tenho dúvida...

Como podemos chegar lá ? Aceitam-se dicas...

Obrigado desde já...

MADXMAX :-k
Avatar do Utilizador
 
Mensagens: 70
Registado: 27/12/2008 23:33
Localização: Aveiro

Re: ajuda - metastock formula

por rsacramento » 17/11/2016 20:31

A patente pertence ao semStops
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

Re: ajuda - metastock formula

por MADxMAX » 17/11/2016 20:04

Boas...

rsacramento, sim eu sei que não é possível ter os 2 timesframes no mesmo gráfico, mas era isso mesmo 2 estocáticos, em que um me dava o diário e outro o semanal, e a tua ideia também não é de todo descabida...vou verificar como se comporta o K% e o D% com esses valores...

LTCM obrigadão, por acaso o primeiro site que indicas não conhecia, ontem passei em um fórum que penso ter visto essa fórmula, mas lembro nos comentários seguintes terem posto problemas, contudo vou experimentar a tua a ver se já introduziram alguma correcção...

Obrigado aos dois, vou ver os resultados depois digo algo...

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

Re: ajuda - metastock formula

por LTCM » 17/11/2016 14:11

MADxMAX Escreveu:Boas...

Ao Cem pt e rsacramento, anda aqui às voltas em um novo estudo mas ainda não cheguei aos resultados que quero, a ver se os 2 PRO me dão uma ajuda.

Temos um gráfico diário, onde temos um slow stochastic oscillator, eu queria juntar neste estudo do stochastic diário o stochastic semanal, isto para termos uma visão mais rápida do estado do semanal sem termos de andar a mudar de daily para weekly.

Isto é possivel ?

Obrigadão desde já...

MADxMAX


Código: Selecionar todos
MetaStock Weekly Indicators

I had basically put the weekly indicators on daily charts thing on the back burner for the time being, but someone mentioned the subject in an off list e-mail, and I decided that maybe I should post these two indicators. They look right to me, but double check them. Remember, they plot the previous weeks value beginning the first trading day of the following week, and that value remains constant throughout that week. These are designed for backtesting.....so if you just gotta know on this Friday evening what the weekly value of the indicator is going to be for the following week, simply look a weekly chart.

Stochastic: The %K and %K slowing can be coded to accommodate more parameters by using the user Input function, but when you do this the %D always calculates using the default value of the %K slowing, giving erroneous values. So I just left it as is. Youcan plug in your own values...I just used the MetaStock default values as a starting point. I made the %K D as two separate indicators so that you can plot the %D a different color and/or dashed. The Momentum indicator uses the Input function just fine.


{`Wkly Stoch 5 per %K, slowing=3, no %D}

{start week}
sw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
yestClo:=If(sw>0,Ref(C,-1),0);

{lowest low last 5 weeks}
LLow:=(ValueWhen(1,sw>0,
Ref(LowestSince(5,sw>0,L),-1)));

{highest high last 5 weeks}
HHigh:=(ValueWhen(1,sw>0,
Ref(HighestSince(5,sw>0,H),-1)));


{5 per %K, slowing=3}
y:=(ValueWhen(1,sw>0,(yestClo-LLow))+
ValueWhen(2,sw>0,(yestClo-LLow))+
ValueWhen(3,sw>0,(yestClo-LLow)))/

((ValueWhen(1,sw>0,HHigh)+
ValueWhen(2,sw>0,HHigh)+
ValueWhen(3,sw>0,HHigh))-

(ValueWhen(1,sw>0,LLow)+
ValueWhen(2,sw>0,LLow)+
ValueWhen(3,sw>0,LLow)))*100;
y;

{`Wkly Stoch 3 per %D of a 5 per %K, slowing=3}

{start week}
sw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
yestClo:=If(sw>0,Ref(C,-1),0);

{lowest low last 5 weeks}
LLow:=(ValueWhen(1,sw>0,
Ref(LowestSince(5,sw>0=1,L),-1)));

{highest high last 5 weeks}
HHigh:=(ValueWhen(1,sw>0,
Ref(HighestSince(5,sw>0,H),-1)));

{5 per %K, slowing=3}
y:=(ValueWhen(1,sw>0,(yestClo-LLow))+
ValueWhen(2,sw>0,(yestClo-LLow))+
ValueWhen(3,sw>0,(yestClo-LLow)))/

((ValueWhen(1,sw>0,HHigh)+
ValueWhen(2,sw>0,HHigh)+
ValueWhen(3,sw>0,HHigh))-

(ValueWhen(1,sw>0,LLow)+
ValueWhen(2,sw>0,LLow)+
ValueWhen(3,sw>0,LLow)))*100;

{This plots the 3 period %D (ma) of the above.}
z:=(ValueWhen(1,sw>0,y)+ValueWhen(2,sw>0,y)+
ValueWhen(3,sw>0,y))/3;
z

{`Wkly Momentum for DAILY Chart }

{This plots WEEKLY Momentum on DAILY charts. -Ken 4/16/99}

n:=Input("Periods",1,20,10);
{start week}
sw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);

(ValueWhen(1,sw>0,Ref(C,-1))/
ValueWhen(n+1,sw>0,
Ref(C,-1)))*100


http://www.metastocktools.com/#metastock

http://www.meta-formula.com/Metastock-Links.html

Dúvidas: josesilva22 at yahoo.com
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."
Avatar do Utilizador
 
Mensagens: 3030
Registado: 28/2/2007 14:18

Re: ajuda - metastock formula

por rsacramento » 17/11/2016 12:11

Não podes ter 2 timeframes no mesmo gráfico, mas podes usar um segundo oscilador estocástico o qual, em vez de ter 14 períodos, teria 14x5=70 ciclos, emulando o timeframe semanal
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

Re: ajuda - metastock formula

por MADxMAX » 16/11/2016 23:14

Boas...

Ao Cem pt e rsacramento, anda aqui às voltas em um novo estudo mas ainda não cheguei aos resultados que quero, a ver se os 2 PRO me dão uma ajuda.

Temos um gráfico diário, onde temos um slow stochastic oscillator, eu queria juntar neste estudo do stochastic diário o stochastic semanal, isto para termos uma visão mais rápida do estado do semanal sem termos de andar a mudar de daily para weekly.

Isto é possivel ?

Obrigadão desde já...

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

Re: ajuda - metastock formula

por MADxMAX » 5/11/2014 22:24

Obrigado mais uma vez rsacramento e Cem pt

Com a vossa preciosa ajuda acho que estou a chegar onde queria, agora é uma questão de afinar a coisa mais para a frente ou mais para trás bem como os stops, e ver no que dá.
Claro que isto não é assim tão linear com todas como foi o caso do SP500 que mostraste, mas em algumas ADR brasucas que sigo, até gostei do que vi.

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

Re: ajuda - metastock formula

por rsacramento » 4/11/2014 18:59

MADxMAX Escreveu:Boas...

Muito obrigado aos dois profs por esta ajuda...

Vamos ver se entendi bem a lição e coloquei o seguinte no System Editor para a Simulation

No separador BUY ORDER IF(C > Ref(C,-1) AND C > Ref(C,-2) AND Ref(C,-1) > Mov(C,40,E) AND Ref(C,-2) > Mov(C,40,E) , 1 , PREV )

No separador SELL ORDER IF(C < Ref(C,-1) AND C < Ref(C,-2) AND Ref(C,-1) < Mov(C,40,E) AND Ref(C,-2) < Mov(C,40,E) , -1 , PREV )

E para fechar as posições no separador STOPS em MAXIMUM LOSS para longos e curtos a percentagem de 3% (isto será para afinar)

A SIMULATION correu bem, pelo que penso estar correcto como indiquei.

Cem onde referes que não tenho condições de igualdade nos fechos na compra e na venda, a questão dos stops não elimina isso ? bem como na simulação limitar a apenas sempre 1 posição aberta em longo ou curto. Será assim que percebi ?

Obrigado...

MADxMAX :roll:

salvo melhor opinião, na buy order basta ter:

C > Ref(C,-1) AND
C > Ref(C,-2) AND
Ref(C,-1) > Mov(C,40,E) AND
Ref(C,-2) > Mov(C,40,E)
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

Re: ajuda - metastock formula

por MADxMAX » 3/11/2014 23:01

Boas...

Muito obrigado aos dois profs por esta ajuda...

Vamos ver se entendi bem a lição e coloquei o seguinte no System Editor para a Simulation

No separador BUY ORDER IF(C > Ref(C,-1) AND C > Ref(C,-2) AND Ref(C,-1) > Mov(C,40,E) AND Ref(C,-2) > Mov(C,40,E) , 1 , PREV )

No separador SELL ORDER IF(C < Ref(C,-1) AND C < Ref(C,-2) AND Ref(C,-1) < Mov(C,40,E) AND Ref(C,-2) < Mov(C,40,E) , -1 , PREV )

E para fechar as posições no separador STOPS em MAXIMUM LOSS para longos e curtos a percentagem de 3% (isto será para afinar)

A SIMULATION correu bem, pelo que penso estar correcto como indiquei.

Cem onde referes que não tenho condições de igualdade nos fechos na compra e na venda, a questão dos stops não elimina isso ? bem como na simulação limitar a apenas sempre 1 posição aberta em longo ou curto. Será assim que percebi ?

Obrigado...

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

Re: ajuda - metastock formula

por rsacramento » 3/11/2014 22:53

um teste no S&P, a valores de ontem
Anexos
testeNoSp.png
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

Re: ajuda - metastock formula

por Cem pt » 3/11/2014 22:01

- Amigo Max:

Como muito bem referiu o amigo “R” tens de fazer referência aos “Close Prices” das sessões da véspera e antevéspera de acordo com as regras da linguagem do programa.

Por outro lado, se bem entendi, pretendes que qualquer dos fechos das 3 sessões mais recentes sejam superiores à média exponencial dos fechos dos últimos 40 períodos.

Nestes pressupostos os sinais para estares comprado (=+1) e vendido (=-1) seriam dados por:

{VARIABLES}

mediaexp40dias:=
Mov(C,40,E) ;


{CONDITIONS}


{BUY AND SELL}

compravenda:=
IF(
C > Ref(C,-1)
AND
C > Ref(C,-2)
AND
Ref(C,-1) > mediaexp40dias
AND
Ref(C,-2) > mediaexp40dias ,
1 ,
IF(
C < Ref(C,-1)
AND
C < Ref(C,-2)
AND
Ref(C,-1) < mediaexp40dias
AND
Ref(C,-2) < mediaexp40dias ,
-1 , PREV )) ;


{PRINT INDICATOR SIGNAL}

compravenda ;



Atenção que não tens condições de igualdade de fechos na compra e na venda, o que é um pouco estranho, mas tu lá saberás porquê!

Espero ter ajudado e boa sorte.
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
 
Mensagens: 3199
Registado: 4/3/2008 17:21
Localização: 16

Re: ajuda - metastock formula

por rsacramento » 3/11/2014 21:10

tens de usar a função Reference:

syntax ref(data array, periods)

ref(C, -2) significa o fecho da antepenúltima sessão
Avatar do Utilizador
 
Mensagens: 10503
Registado: 29/11/2007 12:50

Re: ajuda - metastock formula

por MADxMAX » 3/11/2014 20:13

Boas...

Ressuscitando um tópico antigo, mas como a dúvida se enquadra no mesmo titulo deste não vi razão para abrir um novo tópico.
Assim sendo aqui vai a dúvida sobre uma formula para o Enhanced System Tester.

Pretendo que o fecho ao 3º dia seja superior ao 2º e ao 1º dia, e com a condição que nos 3 dias esteja acima da média móvel exponencial de 40 dias.
Será esta fórmula a utilizar:

C > Mov(C,40,E) AND C > -1 AND C > -2

Para as sell orders será apenas inverter os sinais.

Obrigado desde já aos que me auxiliem na construção da fórmula.

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

por arnie » 2/4/2007 21:25

obrigado aos 2

já tenho trabalho para este fim de semana :)

um abraço
arnie
Bons negocios,
arnie
 
Mensagens: 3094
Registado: 4/11/2002 23:09
Localização: Viras à esq, segues em frente, viras à dir, segues em frente e viras novamente à dir. CHEGASTE

Explorer

por LPP » 2/4/2007 21:13

Só um arranjo ao que Dewer fez:

Col A: Volume VOLUME
Col B: Vol M.A. Mov(V,3,s)
Col C: % above ((V - Mov(V,3,s)) / Mov(V,3,s)) * 100 {calcula variação}
Col D: MDestaS Mov(v,5,s)
Col E: MSemaA ((sum(v,10)-sum(v,5)))/5)*1.5

{o Meta só tem até à coluna F - ultrapassa-se isso no filtro}

Filter:
colA > colB AND {condição 1}
colA > 10000 AND {volume superior a 10000}
colD > colE AND {condição 2}

(atr(1) > Ref(atr(1),-1) OR atr(1)>sum(atr(3)/3)) {condição 3}

{também se podem juntar mais estas:}
(CLOSE > OPEN AND V > Ref(V,-1) AND CLOSE>Ref(CLOSE,-1));

Cumpts
 
Mensagens: 150
Registado: 2/5/2005 0:09
Localização: Aveiro, Portugal

Re: ajuda - metastock formula

por Dwer » 2/4/2007 20:33

arnie Escreveu: :arrow: O volume de hoje é superior à media dos ultimos 3 dias


v>mov(v,3,s)

arnie Escreveu: :arrow: o volume desta semana é superior ao da semana anterior, digamos em 50%

arnie Escreveu:
mov(v,5,s)>((sum(v,10)-sum(v,5)))/5)*1.5

Isto não é exactamente o que pediste, mas fazer à semana dava um bocado mais de trabalho.

arnie Escreveu: :arrow: o range de hoje é superior ao de ontem, ou à media dos ultimos 3 dias


atr(1)>ref(atr(1) or atr(1)>atr(3)
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

ajuda - metastock formula

por arnie » 2/4/2007 20:02

ok, bem sei que isto que vou pedir é basico mas sinceramente nã tô a conseguir fazer isto, hoje tô nos meus dias tá visto, tô naquela altura do mês :mrgreen:

como faço eu para pedir que o tipo me faça uma busca na minha base de dados com os seguintes parametros

:arrow: O volume de hoje é superior à media dos ultimos 3 dias

:arrow: o volume desta semana é superior ao da semana anterior, digamos em 50%

:arrow: o range de hoje é superior ao de ontem, ou à media dos ultimos 3 dias

naturalmente que tud isto são explorers separados

já agora uma pergunta, no exploration editor temos Column A, B, C...... se colocar diferentes formulas em cada um deles o resultado será a "soma" deles todos?

por incrivel que pareça, nunca me interessei muito por estas facetas do meta :oops:

um abraço
arnie
Bons negocios,
arnie
 
Mensagens: 3094
Registado: 4/11/2002 23:09
Localização: Viras à esq, segues em frente, viras à dir, segues em frente e viras novamente à dir. CHEGASTE


Quem está ligado:
Utilizadores a ver este Fórum: AAA_, Dragon56, Esquinas3, Google [Bot], Google Adsense [Bot], Goya777, karaya75, latbal, Luzemburg, m-m, macau5m, nunorpsilva, OCTAMA, Opcard33, PAULOJOAO, peterteam2, Phil2014, Pmart 1 e 169 visitantes