Outros sites Cofina
Caldeirão da Bolsa

Sistema de trading "Tromba Rija"

Espaço dedicado a todo o tipo de troca de impressões sobre os mercados financeiros de uma forma genérica e a todo o tipo de informação útil que possa condicionar o desempenho dos mesmos

Moderadores: Pata-Hari, Ulisses Pereira, MarcoAntonio

por Presa36 » 10/4/2008 17:43

Tenho aqui um pequeno problema.

Se me puderem ajudar, agradeço.

Ao fazer OK, aparece um erro que não consigo corrigir e a prompt aparece na imagem (|).
Anexos
tromba rija arnie.jpg
tromba rija arnie.jpg (31.11 KiB) Visualizado 3262 vezes
 
Mensagens: 1008
Registado: 5/11/2002 0:25
Localização: Ponte de Lima

por DCGOMES » 10/4/2008 18:13

Anula um espaço por ex. a seguir “costs ….” E já não ultrapassa.
"Na vida nada é garantido, apenas podemos cotrolar a nossa conduta, não a dos outros."
 
Mensagens: 118
Registado: 21/5/2004 9:39
Localização: BORDINHEIRA

por rsacramento » 10/4/2008 18:13

tenta encurtar o texto:
cost:=Input("Total Transaction costs (Brokerage + Slippage) até um máx de 49 caracteres, tipo TTC
Avatar do Utilizador
 
Mensagens: 9936
Registado: 29/11/2007 12:50

por Presa36 » 10/4/2008 18:18

DCGOMES Escreveu:Anula um espaço por ex. a seguir “costs ….” E já não ultrapassa.


Obrigadinho.
Já funciona. :oops: Eu que já programei em Cobol, RPJII, Pascal, Business Basic (dos Nixdorf antigos, com discos mesmo a sério - enormes). :oops: :oops:

Thanks a lot

Presa35
 
Mensagens: 1008
Registado: 5/11/2002 0:25
Localização: Ponte de Lima

Sem querer incomodar..,.

por msoares36 » 11/4/2008 0:40

arnie Escreveu:ola,

paionense, ja resolveste o problema? o fibonacci referiu um dos possiveis problemas que podem originar esses erros. so logo a noite e que poderei ver se ha algo de errado na formula visto ter criado 4 formulas com diferentes outputs para ter a certeza que estava tudo ok. como ainda mais ninguem se queixou, parto do principio que o problema esteja do teu lado.

ltcm,

arnie


Tenho este erro, e não sei como me livrar dele...
Será do meu MS < versão 7.2 >, pelo qual nutro um grato e merecido respeito, nesta l(ab)uta diária, tantas vezes implacável, incompreendida e sem compaixão... :cry: pelos meus parcos e trans(pirados) euritos... :mrgreen:

Vamos lá ver se o tromba rija ajuda a inverter o cenário :lol: :lol:

Mil agradecimentos.

Soares
Anexos
Tomba Rija _Arnie- ERRO.jpg
Tomba Rija _Arnie- ERRO.jpg (41.74 KiB) Visualizado 3122 vezes
 
Mensagens: 285
Registado: 3/12/2002 19:50
Localização: Guimarães

Boa, enquanto escrevia...

por msoares36 » 11/4/2008 0:45

Alguém antecipou o meu erro...
e já tentei reduzir ao máximo e tb não consegui... :-k
Haverá outra saída... Arnie, ou habituais progamadores do MS, quem ajuda.... 8-)
 
Mensagens: 285
Registado: 3/12/2002 19:50
Localização: Guimarães

por arnie » 11/4/2008 6:40

Olá,

experimenta agora, em principio já não terás esse erro

Código: Selecionar todos
{ Sistema Tromba Rija -
<-- http://caldeiraodebolsa.jornaldenegocios.pt/viewtopic.php?t=61792-->
2008 - Todos os direitos reservados.
Cem }

{ é necessário ter o indicador LRS e o indicador PVTC para que o Tromba Rija possa ser executado, caso contrario irá dar erro }

{Input User}
plot:=Input("[1]%Profit,[2]MaxDrawDown%,[3]Signals",1,3,1);
cost:=Input("Total Costs(Brokerage + Slippage)",0,100,.2)/200;

{ Entry and Exit Signals }
entry:=FmlVar("LRS","SIGNALTRENDDEF") > 0 AND
FmlVar("PVTC","SIGNALVOLDEF") > 0;
exit:=FmlVar("LRS","SIGNALTRENDDEF") < 0 AND
FmlVar("PVTC","SIGNALVOLDEF") < 0;

{*****}
{-<---------
Copyright © 2005-2007 Jose Silva.
The grant of this license is for personal use
only - no resale or repackaging allowed.
All code remains the property of Jose Silva
http://www.metastocktools.com
->---------}

{ Trade Binary & clean Entry/Exit signals }
init:=Cum(IsDefined(entry+exit))=1;
flag:=ValueWhen(1,entry-exit<>0 OR init,entry);
entry:=flag*(Alert(flag=0,2)
OR entry*Cum(entry)=1);
exit:=(flag=0)*(Alert(flag,2)
OR exit*Cum(exit)=1);
signals:=entry-exit;

{ Profit Long % curve }
EntryVal:=ValueWhen(1,entry,C*(1+cost));
Profit:=C*(1-cost)/EntryVal-1;
ProfitPer:=(flag*Profit+Cum(exit*Profit))*100;

{ Normalized Profit Long max % drawdown }
PrNorm:=If(C*(1-cost)<EntryVal,Profit,
1-EntryVal/C*(1-cost));
PrNorm:=(flag*PrNorm+Cum(exit*PrNorm))*100;
MaxDD:=Highest(Max(Highest(PrNorm),0)-PrNorm);
{*****}

{ Plot in own window }
If(plot=1,profitper,If(plot=2,maxdd,signals))


Eu uso o Meta 10.1 e ele também tem esse limite de 50 caracteres e acho estranho eu não receber esse erro.

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

por DCGOMES » 11/4/2008 15:57

Cem, boa tarde

Agradecia a sua ajuda.
Quando criei no “ Expert advisor” a sua fórmula “Tromba Rija” não tive qualquer problema.
Ao introduzir algumas alterações, nomeadamente cores, apareceu-me a informação de impossibilidade com a “ More Than one name in the indicator builder contains this text”.
Apaguei tudo e reinicei o processo, colocando tudo de novo e logo no início “Trend” Bullish e Bearish e aplicando a fórmula Fml("Tromba Rija") < 0 ,
avisa “More Than one name in the indicator builder contains this text”
Como ultrapassar?
Grato
"Na vida nada é garantido, apenas podemos cotrolar a nossa conduta, não a dos outros."
 
Mensagens: 118
Registado: 21/5/2004 9:39
Localização: BORDINHEIRA

Olá DCGomes

por msoares36 » 11/4/2008 18:01

Vê bem, que deves ter outro indicador com o mesmo nome ou parte dele no Indicator Builder...
Aconteceu-me o mesmo.... :mrgreen:
 
Mensagens: 285
Registado: 3/12/2002 19:50
Localização: Guimarães

por rsacramento » 11/4/2008 19:04

Crómio Escreveu:Grande Cem,

Venho aqui exprimir o meu agradecimento pela tua enorme Generosidade e Altruismo.

Estas são para mim as grandes mais valias deste abençoado fórum, do qual podemos nutrir o nosso conhecimento de intervenções deste género que são a mais pura das essências do espírito do Caldeirão:

Generosidade,
Altruismo.

Claro que não são só as tuas intervenções que fazem o Caldeirão, temos aqui alguns dos melhores a participar e a contribuir, começando nos administradores que nos presenteiam regularmente com artigos de uma qualidade fora de série assim como outros que valiosos comentários e análises nos dão e por fim os cromos como eu que tentam partilhar o que vão descobrindo.

Mas existe uma diferença... é o valor da informação partilhada.

Uma coisa é partilhar um breakout, outra coisa é partilhar uma análise ou opinião que demorou anos de estudo, meditação e árduo trabalho a ser produzida.

O que acho de especial nas tuas intervenções é a especificidade do tema que além de ser coisa de rara abordagem, normalmente quem evolui dentro da cena guarda a sete chaves o conhecimento, "O Meu Santo Gral".

Claro que o "Teu Santo Gral", não o dás a ninguém (seria idiota), mas partilhas o teu conhecimento de forma a que cada um encontre o seu.
E isso é lindo.

Depois é chato e trabalhoso dar as explicações e responder às dúvidas... e tu não te recusas.

Estás neste momento a dar a mão a quem precisava de uma mão, temos hoje no Caldeirão mais gente a utilizar e estudar Sistemas que tínhamos a semana passada, temos pessoal que nunca tinha pensado nisso pois era muito complicado, misterioso quase oculto mas tu deste a mão.

Em suma quero agradecer-te a ti sem me esquecer dos "outros" que sabem bem quem são, pois estaria a ser injusto não os referir e talvez mais injusto se os referisse nominalmente.

No fim até deveria ter aberto um tópico para poder abraçar todos neste agradecimento, mas foste tu que despoletaste este agradecimento.

Bem hajam,
Um sentido Abraço.

subscrevo totalmente
obrigado, cem
já agora, uma nota mínima: se acrescentares em cada um dos indicadores, no fim:
0
escusa-se de introduzir uma linha horizontal a zeros
Anexos
cimpor.jpg
cimpor.jpg (216.81 KiB) Visualizado 2908 vezes
Avatar do Utilizador
 
Mensagens: 9936
Registado: 29/11/2007 12:50

por rsacramento » 11/4/2008 19:40

LTCM Escreveu:Testei de acordo com as regras, ou fiz alguma asneira (muito provável) ou os resultados surgem muito abaixo de uma estratégia de Buy & Hold.

Se mais algum colega do forum testou, gostava de saber os resultados.

para usar o system editor podes dizer-me o que usaste em buy e sell order?
usaste mais alguma coisa de especial?
Avatar do Utilizador
 
Mensagens: 9936
Registado: 29/11/2007 12:50

por LTCM » 12/4/2008 12:21

rsacramento Escreveu:para usar o system editor podes dizer-me o que usaste em buy e sell order?
usaste mais alguma coisa de especial?


Usei a função TR (Tromba Rija) que é o conjunto dos dois indicadores que o CEM aqui deixou.

O teste é feito:
Sem comissões;
Compra no fecho;
Long Only.
Anexos
Cem TR teste.png
Cem TR teste.png (23.81 KiB) Visualizado 2812 vezes
Cem TR Sistema.png
Cem TR Sistema.png (16.18 KiB) Visualizado 2809 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."
 
Mensagens: 3015
Registado: 28/2/2007 14:18

por rsacramento » 12/4/2008 13:03

LTCM: obrigado

num primeiro e apressado teste, desde meados de 2002, os resultados ultrapassam o B%H (por vezes no dobro), excepto para:
brisa
cimpor
mota
pt
scosta
jmt
com a sonae sgps praticamente empata

procurei reproduzir o esquema do LTCM
Anexos
sistema.GIF
sistema.GIF (15.07 KiB) Visualizado 2764 vezes
resumo.GIF
resumo.GIF (36 KiB) Visualizado 2773 vezes
Avatar do Utilizador
 
Mensagens: 9936
Registado: 29/11/2007 12:50

por rsacramento » 12/4/2008 13:08

já agora uma dúvida:
deve limitar-se o nº de trades simultâneas? porquê?
se não, os resultados alteram-se significativamente)
Avatar do Utilizador
 
Mensagens: 9936
Registado: 29/11/2007 12:50

por arnie » 12/4/2008 14:23

testei o sistema no BCP limitando os sinais, não reforçando assim as posições já abertas

como podem ver na formula que deixei, limitei os sinais a:

Código: Selecionar todos
entry:=FmlVar("LRS","SIGNALTRENDDEF") < 0 AND
FmlVar("PVTC","SIGNALVOLDEF") < 0;
exit:=FmlVar("LRS","SIGNALTRENDDEF") > 0 AND
FmlVar("PVTC","SIGNALVOLDEF") > 0;


o resultado é no mínimo decepcionante :( :-k

no 1º gráfico temos o Tromba Rija vendendo curto o BCP com um ganho acumulado desde o 1º trade de 11.4% mas com um drawdown máximo também ele acumulado de 50.3%. Algo totalmente impensável.

no 2º gráfico temos o Tromba Rija comprando o BCP com uma perda acumulada de 11.3% e um drawdown máximo, também acumulado de 66%. Novamente, intolerável tal drawdown.

Ora pelo que pude perceber, o CEM dá um sinal positivo a este sistema o que me leva a pensar que existe discrepâncias nos sinais usados para a abertura de posições.

um abraço,
arnie
Anexos
TR_bcp_short-trade.png
TR_bcp_short-trade.png (13.08 KiB) Visualizado 2748 vezes
TR_bcp_long-trade.png
TR_bcp_long-trade.png (15.89 KiB) Visualizado 2747 vezes
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

por arnie » 12/4/2008 14:41

:oops: :oops: :oops:

Odeio quando isto acontece.

Descobri aqui um piqueno erro nos dados que certamente intervem de forma significativa nos resultados.

Mais tarde voltarei com uma melhor leitura da situação.

Por enquanto, ignorem os resultados do post acima

:|
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

por LTCM » 12/4/2008 15:06

Com as mesmas condições e testando só a componente LRS, os resultados melhoram de forma significativa.
Pelo menos no PSI20. :?
Anexos
Cem LRS teste.png
Cem LRS teste.png (24.29 KiB) Visualizado 2713 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."
 
Mensagens: 3015
Registado: 28/2/2007 14:18

3 sistemas

por LTCM » 12/4/2008 15:35

Tem de haver aqui marosca, o CEM está a brincar com a malta :twisted:

Ou isso ou erro meu (costuma acontecer) :roll:

Fica a imagem. :shock:
Anexos
CEM's.png
CEM's.png (9.39 KiB) Visualizado 2705 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."
 
Mensagens: 3015
Registado: 28/2/2007 14:18

Re

por Cem pt » 12/4/2008 17:43

Pessoal:
A todos os que se têm interessado pelos testes ao sistema de trading que aqui deixei, ficam mais uma vez os meus agradecimentos.
No caso particular do Arnie, que deixou ficar uma rotina de linguagem de testes que até eu fiquei de boca aberta (uau!), queria só acrescentar que deve haver aí um pequeno bug pelo meio uma vez que o BCP está vendido neste sistema de trading desde Agosto de 2007 (ver meu gráfico na página 1 da thread) e no caso do gráfico deixado pelo Arnie o BCP encontra-se comprado desde finais de 2007.

Entretanto e sem deixar que isto atrapalhe os testes já efectuados, creio que encontrei um pequeno bug na linguagem de programação da componente "Preço Volume", numa das relações de longo prazo, na comparação com uma das médias smooth respectivas.
O facto do amigo LTCM ter referido que a componente PVTC estaria a piorar os resultados do sistema de trading no indicador global, talvez (digo talvez porque não testei, mas fica a sugestão) por causa dessa média de longo prazo.
Assim, sugiro que no lugar do indicador "PVTC" insiram os seguintes comandos alternativos:


movcvol42:=
Mov(C,42,VOL) ;

movcs42:=
Mov(C,42,S) ;

pvtc:=
(movcvol42 - movcs42) ;

smoothpvtc:=
Mov(pvtc,21,W) ;

signalvola:=
If(
pvtc >= 0 ,
1 ,
-1 ) ;

signalvolb:=
If(
pvtc > smoothpvtc
AND
pvtc > 0 ,
1 ,
If(
pvtc < smoothpvtc
AND
pvtc < 0 ,
-1 ,
0 )) ;

movcvol210:=
Mov(C,210,VOL) ;

movcs210:=
Mov(C,210,S) ;

pvtclt:=
(movcvol210 - movcs210) ;

smoothpvtclt:=
Mov(pvtclt,105,W) ;

signalvolalt:=
If(
pvtclt >= 0 ,
1 ,
-1 ) ;

signalvolblt:=
If(
pvtclt > smoothpvtclt
AND
pvtclt > 0 ,
1 ,
If(
pvtclt < smoothpvtclt
AND
pvtclt < 0 ,
-1 ,
0 )) ;

signalvoldef:=
signalvola + signalvolb +
signalvolalt + signalvolblt ;

signalvoldef ;



E pronto, não custa nada experimentar se esta pequena diferença pode alterar alguma coisa.

Abraços amigos e mais uma vez os meus agradecimentos a todos os que participaram neste debate de tentativa de melhoria do sistema e a todos os demais.
Cem
 
Mensagens: 2868
Registado: 4/3/2008 17:21
Localização: 16

Re: Re

por TRSM » 12/4/2008 18:25

Cem pt Escreveu:Pessoal:
A todos os que se têm interessado pelos testes ao sistema de trading que aqui deixei, ficam mais uma vez os meus agradecimentos.
No caso particular do Arnie, que deixou ficar uma rotina de linguagem de testes que até eu fiquei de boca aberta (uau!), queria só acrescentar que deve haver aí um pequeno bug pelo meio uma vez que o BCP está vendido neste sistema de trading desde Agosto de 2007 (ver meu gráfico na página 1 da thread) e no caso do gráfico deixado pelo Arnie o BCP encontra-se comprado desde finais de 2007.

Entretanto e sem deixar que isto atrapalhe os testes já efectuados, creio que encontrei um pequeno bug na linguagem de programação da componente "Preço Volume", numa das relações de longo prazo, na comparação com uma das médias smooth respectivas.
O facto do amigo LTCM ter referido que a componente PVTC estaria a piorar os resultados do sistema de trading no indicador global, talvez (digo talvez porque não testei, mas fica a sugestão) por causa dessa média de longo prazo.
Assim, sugiro que no lugar do indicador "PVTC" insiram os seguintes comandos alternativos:


movcvol42:=
Mov(C,42,VOL) ;

movcs42:=
Mov(C,42,S) ;

pvtc:=
(movcvol42 - movcs42) ;

smoothpvtc:=
Mov(pvtc,21,W) ;

signalvola:=
If(
pvtc >= 0 ,
1 ,
-1 ) ;

signalvolb:=
If(
pvtc > smoothpvtc
AND
pvtc > 0 ,
1 ,
If(
pvtc < smoothpvtc
AND
pvtc < 0 ,
-1 ,
0 )) ;

movcvol210:=
Mov(C,210,VOL) ;

movcs210:=
Mov(C,210,S) ;

pvtclt:=
(movcvol210 - movcs210) ;

smoothpvtclt:=
Mov(pvtclt,105,W) ;

signalvolalt:=
If(
pvtclt >= 0 ,
1 ,
-1 ) ;

signalvolblt:=
If(
pvtclt > smoothpvtclt
AND
pvtclt > 0 ,
1 ,
If(
pvtclt < smoothpvtclt
AND
pvtclt < 0 ,
-1 ,
0 )) ;

signalvoldef:=
signalvola + signalvolb +
signalvolalt + signalvolblt ;

signalvoldef ;



E pronto, não custa nada experimentar se esta pequena diferença pode alterar alguma coisa.

Abraços amigos e mais uma vez os meus agradecimentos a todos os que participaram neste debate de tentativa de melhoria do sistema e a todos os demais.
Cem


Olá Mestre, foi um prazer rever-te

Aproveito para te informar que o BCP está vendido desde 22/11/2007 pelo trombarija e no dia 31/3/2008 manda reforçar curtos, isto na primeira formula que disponibilizaste

abração

abraço e mais uma vez :wink:
 
Mensagens: 23939
Registado: 5/11/2002 11:30
Localização: 4

Cont.

por Cem pt » 12/4/2008 18:27

Entretanto e no sentido de facilitar os testes, vou aqui deixar ficar uma outra versão do sistema detrading em que apenas existem sinais finais de +1 (comprado ou longo), 0 (neutro) e -1 (vendido ou curto).
Aqui ficam as correcções paracada um dos indicadores componentes do sistema:

Componente "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 ;

signallrs:=
If(
signaltrenddef > 0 ,
1 ,
If(
signaltrenddef < 0 ,
-1 ,
PREV )) ;

signaltrenddef ;




Componente "PVTC":
movcvol42:=
Mov(C,42,VOL) ;

movcs42:=
Mov(C,42,S) ;

pvtc:=
(movcvol42 - movcs42) ;

smoothpvtc:=
Mov(pvtc,21,W) ;

signalvola:=
If(
pvtc >= 0 ,
1 ,
-1 ) ;

signalvolb:=
If(
pvtc > smoothpvtc
AND
pvtc > 0 ,
1 ,
If(
pvtc < smoothpvtc
AND
pvtc < 0 ,
-1 ,
0 )) ;

movcvol210:=
Mov(C,210,VOL) ;

movcs210:=
Mov(C,210,S) ;

pvtclt:=
(movcvol210 - movcs210) ;

smoothpvtclt:=
Mov(pvtclt,105,W) ;

signalvolalt:=
If(
pvtclt >= 0 ,
1 ,
-1 ) ;

signalvolblt:=
If(
pvtclt > smoothpvtclt
AND
pvtclt > 0 ,
1 ,
If(
pvtclt < smoothpvtclt
AND
pvtclt < 0 ,
-1 ,
0 )) ;

signalvoldef:=
signalvola + signalvolb +
signalvolalt + signalvolblt ;

signalpvtc:=
If(
signalvoldef > 0 ,
1 ,
If(
signalvoldef < 0 ,
-1 ,
PREV )) ;

signalvoldef ;




Componente "Tromba Rija":

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 ;






E pronto, desta forma fica mais fácil testar o sistema.
Deixo um pequeno exemplo de uma acção americana utilizando este sistema: a Google.
Boa sorte e boas trades.
Cem
Anexos
Google TR 20080411.png
Google : Sinais do Sistema de Trading "Tromba Rija"
Google TR 20080411.png (17.09 KiB) Visualizado 2668 vezes
Editado pela última vez por Cem pt em 12/4/2008 18:39, num total de 1 vez.
 
Mensagens: 2868
Registado: 4/3/2008 17:21
Localização: 16

Re

por Cem pt » 12/4/2008 18:32

Ok, amigo TRSM, thanks pela confirmação.
Entretanto parbéns pelo FCP, mas nada se compara à vitória da minha Briosa sobre o SLB, a sua maior derrota em casa desde sempre em diferença de golos sofridos, aquilo vale mais que um título!
Abraço,
Cem
 
Mensagens: 2868
Registado: 4/3/2008 17:21
Localização: 16

por Tojo » 12/4/2008 20:49

Grande Cem, antes de mais obrigado pela partilha e disponibilidade. Já agora, estas componentes de cima são diferentes de outras que já tinha apresentado aqui à dias?
 
Mensagens: 676
Registado: 8/1/2004 13:14

Re

por Cem pt » 12/4/2008 21:28

oi, amigo Tojo, prazer em rever-te por aqui!
Sim, de facto estas novas versões das componentes são um pouco diferentes.
Abraço.
Cem
 
Mensagens: 2868
Registado: 4/3/2008 17:21
Localização: 16

update

por arnie » 12/4/2008 21:44

Olá Cem,

Depois de alterar o indicador como indicaste, a performance melhorou um pouco mas a coisa continua não muito católica :|

Depois de resolver o problema no sistema de shorts, deixo então aqui a nova leitura.

Como podemos ver no 1º gráfico, o sistema mantém uma posição curta desde o dia 22-11-2007. O ganho acumulado está nos 13% desde o 1º trade em 2003 mas como podemos ver, a actual posição curta, trouxe o BCP de uma performance negativa de -38% para os actuais 13%.

O máximo de drawdowm situa-se nos 39%, indicando claramente que estamos perante um sistema fortemente penalizador para o investidor.

No 2º gráfico temos as posições longas tomadas desde 2002 com um prejuízo acumulado de 3%. O máximo de drawdown situa-se nos 61%, mantendo a leitura anterior, também com posições longas este sistema se mostra arrasador para uma carteira.

Cem, a razão desta diferença de leituras só pode ser uma, os sinais de entrada e saida.

Há aqui qualquer coisa que me está a escapar.

Já agora deixo as formulas para o MS no que diz respeito ao sistema de posições curtas:



Código: Selecionar todos
{ Sistema Tromba Rija - Short trades
<-- http://caldeiraodebolsa.jornaldenegocios.pt/viewtopic.php?t=61792-->
2008 - Todos os direitos reservados.
Cem }

{ é necessário ter o indicador LRS e o indicador PVTC para que o Tromba Rija possa ser executado, caso contrario irá dar erro }

{Input User}
plot:=Input("[1]%Profit,[2]MaxDrawDown%,[3]Signals",1,3,1);
cost:=Input("Total Costs(Brokerage + Slippage)",0,100,.2)/200;

{ Entry and Exit Signals }
entry:=FmlVar("LRS","SIGNALTRENDDEF") < 0 AND
FmlVar("PVTC","SIGNALVOLDEF") < 0;
exit:=FmlVar("LRS","SIGNALTRENDDEF") > 0 AND
FmlVar("PVTC","SIGNALVOLDEF") > 0;

{*****}
{-<---------
Copyright © 2005-2007 Jose Silva.
The grant of this license is for personal use
only - no resale or repackaging allowed.
All code remains the property of Jose Silva
http://www.metastocktools.com
->---------}

{ Trade Binary & clean Entry/Exit signals }
init:=Cum(IsDefined(entry+exit))=1;
flag:=ValueWhen(1,entry-exit<>0 OR init,entry);
entry:=flag*(Alert(flag=0,2)
OR entry*Cum(entry)=1);
exit:=(flag=0)*(Alert(flag,2)
OR exit*Cum(exit)=1);
signals:=entry-exit;

{ Profit Short % curve }
EntryVal:=ValueWhen(1,entry,C*(1-cost));
Profit:=EntryVal/C*(1+cost)-1;
ProfitPer:=(flag*Profit+Cum(exit*Profit))*100;

{ Normalized Profit Long max % drawdown }
PrNorm:=If(C*(1-cost)<EntryVal,Profit,
1-EntryVal/C*(1-cost));
PrNorm:=(flag*prnorm+Cum(exit*Prnorm))*100;
MaxDD:=Highest(Max(Highest(PrNorm),0)-PrNorm);

{*****}

{ Plot in own window }
If(plot=1,profitper,If(plot=2,maxdd,signals))


e já agora, também para as posições longas:

Código: Selecionar todos
{ Sistema Tromba Rija - Long trades
<-- http://caldeiraodebolsa.jornaldenegocios.pt/viewtopic.php?t=61792-->
2008 - Todos os direitos reservados.
Cem }

{ é necessário ter o indicador LRS e o indicador PVTC para que o Tromba Rija possa ser executado, caso contrario irá dar erro }

{Input User}
plot:=Input("[1]%Profit,[2]MaxDrawDown%,[3]Signals",1,3,1);
cost:=Input("Total Costs(Brokerage + Slippage)",0,100,.2)/200;

{ Entry and Exit Signals }
entry:=FmlVar("LRS","SIGNALTRENDDEF") > 0 AND
FmlVar("PVTC","SIGNALVOLDEF") > 0;
exit:=FmlVar("LRS","SIGNALTRENDDEF") < 0 AND
FmlVar("PVTC","SIGNALVOLDEF") < 0;

{*****}
{-<---------
Copyright © 2005-2007 Jose Silva.
The grant of this license is for personal use
only - no resale or repackaging allowed.
All code remains the property of Jose Silva
http://www.metastocktools.com
->---------}

{ Trade Binary & clean Entry/Exit signals }
init:=Cum(IsDefined(entry+exit))=1;
flag:=ValueWhen(1,entry-exit<>0 OR init,entry);
entry:=flag*(Alert(flag=0,2)
OR entry*Cum(entry)=1);
exit:=(flag=0)*(Alert(flag,2)
OR exit*Cum(exit)=1);
signals:=entry-exit;

{ Profit Short % curve }
EntryVal:=ValueWhen(1,entry,C*(1+cost));
Profit:=C*(1-cost)/EntryVal-1;
ProfitPer:=(flag*Profit+Cum(exit*Profit))*100;

{ Normalized Profit Long max % drawdown }
PrNorm:=If(C*(1-cost)<EntryVal,Profit,
1-EntryVal/C*(1-cost));
PrNorm:=(flag*PrNorm+Cum(exit*PrNorm))*100;
MaxDD:=Highest(Max(Highest(PrNorm),0)-PrNorm);

{*****}

{ Plot in own window }
If(plot=1,profitper,If(plot=2,maxdd,signals))



Um abraço,
arnie
Anexos
TR_bcp_short-trade02.png
TR_bcp_short-trade02.png (12.09 KiB) Visualizado 2583 vezes
TR_bcp_long-trade02.png
TR_bcp_long-trade02.png (14.61 KiB) Visualizado 2580 vezes
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

AnteriorPróximo