Sistema de trading "Tromba Rija"
Re
De nada, amigo SSBS!
Quanto à componente de volume deves ter razão, de facto as médias de volume vão sendo cada vez mais crescentes, em especial com peaks acentuados nos finais dos bull markets, pode-se tentar no futuro corrigir essa dispersão afuniladora quando tiver tempo para olhar com mais atenção para esse efeito.
Também é um facto que a componete LRS, que por acaso também faz parte de um pequeno percentual do meu actual sistema de trading "Masteroid 2009", é bastante mais performante que a componente de volume.
Daí eu ter concluído que é preferível usar apenas no vosso trading pessoal, caso estejam interessados e desejem correr o risco por vossa conta, a parte da fórmula isolada da componente das regressões lineares LRS para quem eventualmente quiser incluir e construir o seu próprio sistema de trading.
Abraço e boa sorte.
Cem
Quanto à componente de volume deves ter razão, de facto as médias de volume vão sendo cada vez mais crescentes, em especial com peaks acentuados nos finais dos bull markets, pode-se tentar no futuro corrigir essa dispersão afuniladora quando tiver tempo para olhar com mais atenção para esse efeito.
Também é um facto que a componete LRS, que por acaso também faz parte de um pequeno percentual do meu actual sistema de trading "Masteroid 2009", é bastante mais performante que a componente de volume.
Daí eu ter concluído que é preferível usar apenas no vosso trading pessoal, caso estejam interessados e desejem correr o risco por vossa conta, a parte da fórmula isolada da componente das regressões lineares LRS para quem eventualmente quiser incluir e construir o seu próprio sistema de trading.
Abraço e boa sorte.
Cem
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: 3143
- Registado: 4/3/2008 17:21
- Localização: 16
Boa tarde,
Antes de mais os meus agradecimentos ao Cem por ter partilhado este sistema com o fórum.
Depois de montar o sistema tal como descrito, também obrive resultados diferentes daqueles descritos para a EDP e PSI20. Concluo que isso seja devido às diferenças nas bases de dados mas também detectei uma questão importante na componente relacionado com o volume. O indicador de média móvel ajustada com volume: mov(C,42,VOL) tem uma característica negativa que pode originar diferenças nos testes. Pelo que percebi esse indicador é o VAMA (Dick Arms) e usa no seu cálculo a média de volume de TODO o histórico disponível, e isso tem duas consequências:
- O comportamento da média móvel modifica-se à medida que o volume médio aumenta ou diminui. Isto é sobretudo notado em históricos grandes em que os volumes médios aumentam ao longo do tempo, sendo a média móvel muito mais lenta no início do que no final do histórico.
- Outra consequência é que se tivermos dois históricos do mesmo activo, mas um deles maior do que o outro, faz com que o VAMA tenha valores diferentes num e noutro!
Talvez o VAMA possa ser substituido por outro tipo de média móvel ajustada pelo volume, para evitar estas questões (?).
Em relação à componente LRS obtive resultados muito interessantes, bem superiores à componente relacionada com o volume, tal como o resto das pessoas que testou o sistema.
Abraços,
SSBS
Antes de mais os meus agradecimentos ao Cem por ter partilhado este sistema com o fórum.
Depois de montar o sistema tal como descrito, também obrive resultados diferentes daqueles descritos para a EDP e PSI20. Concluo que isso seja devido às diferenças nas bases de dados mas também detectei uma questão importante na componente relacionado com o volume. O indicador de média móvel ajustada com volume: mov(C,42,VOL) tem uma característica negativa que pode originar diferenças nos testes. Pelo que percebi esse indicador é o VAMA (Dick Arms) e usa no seu cálculo a média de volume de TODO o histórico disponível, e isso tem duas consequências:
- O comportamento da média móvel modifica-se à medida que o volume médio aumenta ou diminui. Isto é sobretudo notado em históricos grandes em que os volumes médios aumentam ao longo do tempo, sendo a média móvel muito mais lenta no início do que no final do histórico.
- Outra consequência é que se tivermos dois históricos do mesmo activo, mas um deles maior do que o outro, faz com que o VAMA tenha valores diferentes num e noutro!
Talvez o VAMA possa ser substituido por outro tipo de média móvel ajustada pelo volume, para evitar estas questões (?).
Em relação à componente LRS obtive resultados muito interessantes, bem superiores à componente relacionada com o volume, tal como o resto das pessoas que testou o sistema.
Abraços,
SSBS
- Mensagens: 23
- Registado: 9/12/2008 19:06
- Localização: 16
Re
Marath:
No meu post do dia 28 de Maio, em vez de pores o nome de "LRS" podes pôr o nome de "Tromba Rija" às linhas de programa que se seguem uma vez que o indicador fica muito mais fácil do que o original por não incluir a antiga componente "PVTC".
De facto esta versão de 28 de Maio não inclui nenhuma variável com o nome de "signallrs" e portanto era lógico que essa fórmula teria de retornar um erro.
Abraço.
Cem
No meu post do dia 28 de Maio, em vez de pores o nome de "LRS" podes pôr o nome de "Tromba Rija" às linhas de programa que se seguem uma vez que o indicador fica muito mais fácil do que o original por não incluir a antiga componente "PVTC".
De facto esta versão de 28 de Maio não inclui nenhuma variável com o nome de "signallrs" e portanto era lógico que essa fórmula teria de retornar um erro.
Abraço.
Cem
- Mensagens: 3143
- Registado: 4/3/2008 17:21
- Localização: 16
marath Escreveu:Foi o que fiz...por dedução, mas dá-me o erro "this variable does not exist in the specified formula" e coloca o cursor a piscar a seguir a "LRS", na terceira linha, mesmo antes da virgula!
O LRS está lá no indicator builder. Alguma sugestão?
Mais uma vez agradeço a paciência para com a minha ignorância.
Bem o problema é que nas functions, na opção que permite paste ás formulas não aparece nenhuma FmlVar("LRS","SIGNALLRS"). Aparece por exemplo FmlVar("LRS","SIGNALTRENDA") e se eu paste esta no lugar da anterior ele deixa de dar erro nesta linha passando a dar erro na linha de baixo que contem "FmlVar("LRS","SIGNALLRS") < 0"...
Por que será que desapareceu a função SIGNALLRS ?
Foi o que fiz...por dedução, mas dá-me o erro "this variable does not exist in the specified formula" e coloca o cursor a piscar a seguir a "LRS", na terceira linha, mesmo antes da virgula!
O LRS está lá no indicator builder. Alguma sugestão?
Mais uma vez agradeço a paciência para com a minha ignorância.
O LRS está lá no indicator builder. Alguma sugestão?
Mais uma vez agradeço a paciência para com a minha ignorância.
Re
Oi Marath!
Se usares só a componente "LRS", tal como sugeri, integrada no "Tromba Rija", para eliminares o "PVTC" nas linhas de programa que enunciaste, basta colocares:
"trombarija:=
If(
FmlVar("LRS","SIGNALLRS") > 0 ,
1 ,
If(
FmlVar("LRS","SIGNALLRS") < 0 ,
-1 ,
0 )) ;
trombarija ;"
Abraço e boa sorte.
Cem
Se usares só a componente "LRS", tal como sugeri, integrada no "Tromba Rija", para eliminares o "PVTC" nas linhas de programa que enunciaste, basta colocares:
"trombarija:=
If(
FmlVar("LRS","SIGNALLRS") > 0 ,
1 ,
If(
FmlVar("LRS","SIGNALLRS") < 0 ,
-1 ,
0 )) ;
trombarija ;"
Abraço e boa sorte.
Cem
- Mensagens: 3143
- Registado: 4/3/2008 17:21
- Localização: 16
Caro Cem
Agradeço a ajuda, no entanto por falta de oportunidade ainda não tive tempo de por em prática as tuas instruções. O componente lrs que tenho no meta é o que transcreveste. No entanto tenho tambem o pvtc que é invocado no tromba rija em :
"trombarija:=
If(
FmlVar("LRS","SIGNALLRS") > 0
AND
FmlVar("PVTC","SIGNALPVTC") > 0 ,
1 ,
If(
FmlVar("LRS","SIGNALLRS") < 0
AND
FmlVar("PVTC","SIGNALPVTC") < 0 ,
-1,
0 )) ;
trombarija ;"
Deste modo como deve ficar este script retirando o PVTC?
Desculpa a ignorancia mas não percebo nada de programação
Agradeço a ajuda, no entanto por falta de oportunidade ainda não tive tempo de por em prática as tuas instruções. O componente lrs que tenho no meta é o que transcreveste. No entanto tenho tambem o pvtc que é invocado no tromba rija em :
"trombarija:=
If(
FmlVar("LRS","SIGNALLRS") > 0
AND
FmlVar("PVTC","SIGNALPVTC") > 0 ,
1 ,
If(
FmlVar("LRS","SIGNALLRS") < 0
AND
FmlVar("PVTC","SIGNALPVTC") < 0 ,
-1,
0 )) ;
trombarija ;"
Deste modo como deve ficar este script retirando o PVTC?
Desculpa a ignorancia mas não percebo nada de programação
Grande Cem,
Eu tenho o TR a funcionar, e não me parece mau , mas a minha experiência é muito reduzida logo a minha opinião vale pouco. Vou seguir o teu conselho.
Fica um gráfico da PTI com O TR que tenho actualmente a funcionar, pode servir de comparação ...
Eu tenho o TR a funcionar, e não me parece mau , mas a minha experiência é muito reduzida logo a minha opinião vale pouco. Vou seguir o teu conselho.
Fica um gráfico da PTI com O TR que tenho actualmente a funcionar, pode servir de comparação ...
- Anexos
-
- pti 2008.05.28.bmp (1.43 MiB) Visualizado 2975 vezes
Re
Amigo Marath:
De acordo com os nossos magníficos colegas (uma nota de especial apreço ao Arnie, LTCM, TRSM e ljbk) que se prestaram a perder tempo a testar este curioso sistema resultou para mim a conclusão que apenas valerá a pena guardar a componente "LRS", uma vez que a componente de relacionamento de volumes piora as performances das rentabilidades globais obtidas.
Aqui fica a componente que em princípio valerá a pena registar.
No Metastock abra o "Indicator Builder", tecle em "New" e no respectivo título coloque o nome:
LRS
Seguidamente faça um "Copy" dos seguintes comandos de programação e um "Paste" para o quadro da fórmula do indicador "LRS":
trendslope:=
LinRegSlope(C,31)*4+LinRegSlope(C,42)*9;
trendslopelt:=
LinRegSlope(C,155)*4+LinRegSlope(C,210)*9;
signaltrenda:=
If(
trendslope>=0 ,
1 ,
-1 ) ;
signaltrendalt:=
If(
trendslopelt>=0 ,
1 ,
-1 ) ;
signaltrendb:=
If(
trendslope > Ref(trendslope,-1)
AND
trendslope > 0 ,
1 ,
If(
trendslope < Ref(trendslope,-1)
AND
trendslope < 0 ,
-1 ,
0 )) ;
signaltrendblt:=
If(
trendslopelt > Ref(trendslopelt,-1)
AND
trendslopelt > 0 ,
1 ,
If(
trendslopelt < Ref(trendslopelt,-1)
AND
trendslopelt < 0 ,
-1 ,
0 )) ;
signaltrenddef:=
signaltrenda + signaltrendb +
signaltrendalt + signaltrendblt ;
signaltrenddef ;
Depois de carregar no comando "OK" acabou de guardar o indicador "LRS".
Abraço e boa sorte.
Cem
De acordo com os nossos magníficos colegas (uma nota de especial apreço ao Arnie, LTCM, TRSM e ljbk) que se prestaram a perder tempo a testar este curioso sistema resultou para mim a conclusão que apenas valerá a pena guardar a componente "LRS", uma vez que a componente de relacionamento de volumes piora as performances das rentabilidades globais obtidas.
Aqui fica a componente que em princípio valerá a pena registar.
No Metastock abra o "Indicator Builder", tecle em "New" e no respectivo título coloque o nome:
LRS
Seguidamente faça um "Copy" dos seguintes comandos de programação e um "Paste" para o quadro da fórmula do indicador "LRS":
trendslope:=
LinRegSlope(C,31)*4+LinRegSlope(C,42)*9;
trendslopelt:=
LinRegSlope(C,155)*4+LinRegSlope(C,210)*9;
signaltrenda:=
If(
trendslope>=0 ,
1 ,
-1 ) ;
signaltrendalt:=
If(
trendslopelt>=0 ,
1 ,
-1 ) ;
signaltrendb:=
If(
trendslope > Ref(trendslope,-1)
AND
trendslope > 0 ,
1 ,
If(
trendslope < Ref(trendslope,-1)
AND
trendslope < 0 ,
-1 ,
0 )) ;
signaltrendblt:=
If(
trendslopelt > Ref(trendslopelt,-1)
AND
trendslopelt > 0 ,
1 ,
If(
trendslopelt < Ref(trendslopelt,-1)
AND
trendslopelt < 0 ,
-1 ,
0 )) ;
signaltrenddef:=
signaltrenda + signaltrendb +
signaltrendalt + signaltrendblt ;
signaltrenddef ;
Depois de carregar no comando "OK" acabou de guardar o indicador "LRS".
Abraço e boa sorte.
Cem
- Mensagens: 3143
- Registado: 4/3/2008 17:21
- Localização: 16
Bom... testei as alterações propostas pelo grande Cem:
O LRS continua a ser melhor sozinho, do que acompanhado pelo PVTC (sistema TR).
Por outro lado, o TR2 apresenta resultados inferiores ao TR.
O que vale é que está a chover e, sobra tempo para mais simulações.
O LRS continua a ser melhor sozinho, do que acompanhado pelo PVTC (sistema TR).
Por outro lado, o TR2 apresenta resultados inferiores ao TR.
O que vale é que está a chover e, sobra tempo para mais simulações.
- Anexos
-
- Cem 3 sist.png (7.72 KiB) Visualizado 5631 vezes
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."
Afinal já deu, eliminei os indicadores lrs e pvtc que tinham sido criados no dia 7, na primeira versão, e ao inserir as duas formulas do tromba rija, o MT aceitou. Tantas voltas e a imcompatibilidade estava aqui. obrigado a todos pela disponibilidade. Abraço Cem e Arnie
- Mensagens: 676
- Registado: 8/1/2004 13:14
Re
Amigo Tojo:
Em relação ao erro o mais natural é que não tenhas actualizado as fórmulas do "LRS" e do "PVTC" que sugeri na mensagem que deixei ontem às 17H 27M.
Por favor confere se os comandos de programa que tens nesses 2 indicadores coincidem com os da mensagem que referi.
É que estás a ter uma mensagem de erro em que no indicador "LRS" não existe uma variável chamada "signallrs" e no indicador "PVTC" não tens a variável "signalpvtc" que de facto não existiam na versão original proposta.
Abraço e boa sorte.
Cem
Em relação ao erro o mais natural é que não tenhas actualizado as fórmulas do "LRS" e do "PVTC" que sugeri na mensagem que deixei ontem às 17H 27M.
Por favor confere se os comandos de programa que tens nesses 2 indicadores coincidem com os da mensagem que referi.
É que estás a ter uma mensagem de erro em que no indicador "LRS" não existe uma variável chamada "signallrs" e no indicador "PVTC" não tens a variável "signalpvtc" que de facto não existiam na versão original proposta.
Abraço e boa sorte.
Cem
- Mensagens: 3143
- Registado: 4/3/2008 17:21
- Localização: 16
Pois já tentei tudo e não adianta. As duas formulas dão esse erro.
Tenho a formula inicial que o Cem colocou e corre tudo bem :
trombarija:=
If(
FmlVar("LRS","SIGNALTRENDDEF") > 0
AND
FmlVar("PVTC","SIGNALVOLDEF") > 0 ,
1 ,
If(
FmlVar("LRS","SIGNALTRENDDEF") < 0
AND
FmlVar("PVTC","SIGNALVOLDEF") < 0 ,
-1,
PREV )) ;
signaltrombarija:=
If(
trombarija = 1
AND
FmlVar("PVTC","SIGNALVOLDEF") < 0 ,
0 ,
If(
trombarija = -1
AND
FmlVar("PVTC","SIGNALVOLDEF") > 0 ,
0 ,
If(
trombarija = 1
AND
FmlVar("LRS","SIGNALTRENDDEF") +
FmlVar("PVTC","SIGNALVOLDEF") <= 0 ,
2 ,
If(
trombarija = -1
AND
FmlVar("LRS","SIGNALTRENDDEF") +
FmlVar("PVTC","SIGNALVOLDEF") >= 0 ,
-2 ,
trombarija )))) ;
signaltrombarija ;
Mas com esta formula dá-me esse erro:
trombarija:=If(FmlVar("LRS","SIGNALLRS") > 0 AND
FmlVar("PVTC","SIGNALPVTC") > 0 ,1 ,
If(FmlVar("LRS","SIGNALLRS") < 0 AND
FmlVar("PVTC","SIGNALPVTC") < 0 ,-1,0 )) ;
trombarija ;
Tenho a formula inicial que o Cem colocou e corre tudo bem :
trombarija:=
If(
FmlVar("LRS","SIGNALTRENDDEF") > 0
AND
FmlVar("PVTC","SIGNALVOLDEF") > 0 ,
1 ,
If(
FmlVar("LRS","SIGNALTRENDDEF") < 0
AND
FmlVar("PVTC","SIGNALVOLDEF") < 0 ,
-1,
PREV )) ;
signaltrombarija:=
If(
trombarija = 1
AND
FmlVar("PVTC","SIGNALVOLDEF") < 0 ,
0 ,
If(
trombarija = -1
AND
FmlVar("PVTC","SIGNALVOLDEF") > 0 ,
0 ,
If(
trombarija = 1
AND
FmlVar("LRS","SIGNALTRENDDEF") +
FmlVar("PVTC","SIGNALVOLDEF") <= 0 ,
2 ,
If(
trombarija = -1
AND
FmlVar("LRS","SIGNALTRENDDEF") +
FmlVar("PVTC","SIGNALVOLDEF") >= 0 ,
-2 ,
trombarija )))) ;
signaltrombarija ;
Mas com esta formula dá-me esse erro:
trombarija:=If(FmlVar("LRS","SIGNALLRS") > 0 AND
FmlVar("PVTC","SIGNALPVTC") > 0 ,1 ,
If(FmlVar("LRS","SIGNALLRS") < 0 AND
FmlVar("PVTC","SIGNALPVTC") < 0 ,-1,0 )) ;
trombarija ;
- Mensagens: 676
- Registado: 8/1/2004 13:14
Tojo Escreveu:Incrivel , mas cont a dar a mesma resposta mesmo dividindo a formula. Ao plotar o lrs ou o pvct, tudo funciona normalmente
Mas qual das duas formulas te dá erro, as duas?
Experimenta uma coisa, retirar o indicador do gráfico e fecha o metastock.
Voltar a abri-lo, abre um gráfico e coloca novamente o indicador.
O dos problemas mais conhecidos do metastock é a sua maneira de gerir a memoria e muitos dos erros que são gerados são devido a esse facto. O simples acto de o fechar e voltar a abrir por vezes faz milagres
Bons negocios,
arnie
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
Tojo Escreveu:Arnie, cont a dizer " this variable does not exist in the specified formula ". Desisto
Trikie...
Ok, vamos ver onde está o problema.
Vais ter que dividir a formula para ver qual está a dar o erro.
Crias 2 indicadores, onde num vais colocar:
- Código: Selecionar todos
Buy:=FmlVar("LRS","SIGNALLRS") > 0 AND
FmlVar("PVTC","SIGNALPVTC") > 0;
Buy;
e no outro colocas:
- Código: Selecionar todos
sell:=FmlVar("LRS","SIGNALLRS") < 0 AND
FmlVar("PVTC","SIGNALPVTC") < 0;
sell;
Agora vês em qual dos 2 esse erro te aparece.
O problema pode não estar no Tromba Rija mas sim no LRS ou no PVTC.
Quando "plotas" o LRS e o PVTC eles não te dão nenhum erro?
Na maioria das vezes quando este tipo de erro acontece a única solução é "plotar" variável a variável até se encontrar o problema.
Bons negocios,
arnie
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
Tojo Escreveu:Arnie, os indicadores lrs e pvtc estão a funcionar bem e o indicadores tromba rija com a formula que expus acima, cont a dar aquela mesagem. Não estou a perceber onde possa estar o erro. Na primeira fórmula do cem, td bem.
Experimenta a formula escrita assim:
- Código: Selecionar todos
trombarija:=If(FmlVar("LRS","SIGNALLRS") > 0 AND
FmlVar("PVTC","SIGNALPVTC") > 0 ,1 ,
If(FmlVar("LRS","SIGNALLRS") < 0 AND
FmlVar("PVTC","SIGNALPVTC") < 0 ,-1,0 )) ;
trombarija ;
isto às vezes com uma virgula ou um espaço fora do sitio poder dar raia
Bons negocios,
arnie
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
TRSM Escreveu:Tojo Escreveu:Já agora, acho curioso o sinal que o sistema dá para o dax no gráf semanal: Então quando quase todos os indicadores dão sinal de venda ou no minimo assumir posições neutras, o sistema tromba rija dá +2, ou seja reforçar longos!!! E esta???
Alguma coisa deve estar errado com o teu gráfico tojo, pq no meu semanal o Dax está vendido desde a semana de 7/3/2008
Penso que algumas diferenças que possam existir com os mesmos dados pode muito ter haver com "load options", mete o teu em 9999 e ve se os teus resultados se mantêm
Já agora proveito a deixa para dizer que o sistema mandar comprar Dax(semanal) em 10/12/2004 em 13 /05/2005 manda reforçar longos em 1/2/2008 torna a mandar reforçar longos, mas como em 7/3/2008 faz um fecho abaixo dos minimos de 1/2/2008, o sistema manda passados 3 anos e pico abrir pela 1ª vez posições CURTAS(Vendidas)
- Anexos
-
- dax1.png (27.08 KiB) Visualizado 5929 vezes
Editado pela última vez por TRSM em 13/4/2008 14:52, num total de 1 vez.
- Mensagens: 23939
- Registado: 5/11/2002 11:30
- Localização: 4
Quem está ligado:
Utilizadores a ver este Fórum: Google Adsense [Bot] e 49 visitantes