Outros sites Medialivre
Caldeirão da Bolsa

Prorealtime - ajuda

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 Quico » 26/9/2011 12:16

Pickbull Escreveu:@Quico,

As entradas longas (são as que estou agora a programar) estão a ser executadas no dia seguinte ao sinal. Há forma de fazer com que compre logo ao preço em que atinge o sinal?


Não sei se percebi...
O códido está de modo a provocar entradas no dia seguinte e queres-lo alterar, ou achas que o stop não está a actuar em tempo real? (manda as ordens para a sessão seguinte)

(O tal problema - bug do ProBacktest? - de que falei há uns dias, tinha a ver com isso...)

Já agora: se puderes mostrar como está o código... :wink:
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por Pickbull » 26/9/2011 9:58

@Quico,

As entradas longas (são as que estou agora a programar) estão a ser executadas no dia seguinte ao sinal. Há forma de fazer com que compre logo ao preço em que atinge o sinal?
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

por Pickbull » 26/9/2011 1:03

Quico Escreveu:Fiz este gerador de canais, que pode servir para te orientares. Tem um pequeno acrescento: sempre que o preço atinge um dos limites, o valor desse limite passa a assumir o máximo/mínimo do dia em que foi atingido.

Código: Selecionar todos
stop1=high-n*AverageTrueRange[20](close)
stop2=high*(1-0.01*per)
stoplosslong=max(stop1[1],stop2[1])
If stoplosslong<stoplosslong[1] then
   stoplosslong=stoplosslong[1]
endif
if low[1]<stoplosslong [1]and high<stoplossshort  then
   stoplosslong=low[1]
endif


stop3=low+n*AverageTrueRange[20](close)
stop4=low*(1+0.01*per)
stoplossshort=min(stop3[1],stop4[1])
If stoplossshort>stoplossshort[1] then
   stoplossshort=stoplossshort[1]
endif
if high[1]>stoplossshort[1] and low>stoplosslong then
   stoplossshort=high[1]
endif

return stoplosslong, stoplossshort



Vai ter que definir na janelinha ao lado as variáveis n e per, ok?


Porreiro pá.

De janelas percebo eu que já ando com o windows desde o seu início. :mrgreen:

Muito obrigado Quico. És "impacável".
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

por Quico » 26/9/2011 0:12

Fiz este gerador de canais, que pode servir para te orientares. Tem um pequeno acrescento: sempre que o preço atinge um dos limites, o valor desse limite passa a assumir o máximo/mínimo do dia em que foi atingido.

Código: Selecionar todos
stop1=high-n*AverageTrueRange[20](close)
stop2=high*(1-0.01*per)
stoplosslong=max(stop1[1],stop2[1])
If stoplosslong<stoplosslong[1] then
   stoplosslong=stoplosslong[1]
endif
if low[1]<stoplosslong [1]and high<stoplossshort  then
   stoplosslong=low[1]
endif


stop3=low+n*AverageTrueRange[20](close)
stop4=low*(1+0.01*per)
stoplossshort=min(stop3[1],stop4[1])
If stoplossshort>stoplossshort[1] then
   stoplossshort=stoplossshort[1]
endif
if high[1]>stoplossshort[1] and low>stoplosslong then
   stoplossshort=high[1]
endif

return stoplosslong, stoplossshort



Vai ter que definir na janelinha ao lado as variáveis n e per, ok?
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por Pickbull » 26/9/2011 0:00

Quico Escreveu:Os ajustes acho que os podes perceber onde os fazer no código. Se não, diz!

Abraço


Eu percebo o código. Ou melhor sei ler mas ainda não estou muito apto para o escrever.

O código está a dar saídas muito cedo (antes dos pressupostos do código) mas vou tentar resolver.
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

por Pickbull » 25/9/2011 23:49

Quico Escreveu:Já, agora: andas-me a dar umas ideias, andas! ;)


Obrigado. Quando testar logo te digo.

Sobre as ideias... ainda bem... Afinal isto é um fórum. ;)
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

por Quico » 25/9/2011 22:58

Já, agora: andas-me a dar umas ideias, andas! ;)
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por Quico » 25/9/2011 22:54

Pickbull Escreveu:- Dá para fazer um trailing stop que seja n ATR com um máximo de x % (isto é para backtest)?



Vê se isto resulta:

Código: Selecionar todos
stop1=high-2*AverageTrueRange[20](close)
stop2=high*(1-0.05)
stoplosslong=max(stop1[1],stop2[1])
If stoplosslong<stoplosslong[1] then
   stoplosslong=stoplosslong[1]
endif

   
IF LONGONMARKET THEN
   SET STOP stoplosslong
ENDIF


Atenção: está feito para apenas posições longas, para uma distância de 2xATR de 20 sessões ou uma distância de 5%. Os ajustes acho que os podes perceber onde os fazer no código. Se não, diz!

Abraço
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por Pickbull » 25/9/2011 22:51

Quico Escreveu:A primeira é fácil:

Código: Selecionar todos
minnn=lowest[n](Low)
maxxx=highest[n](high)

REM E aqui está a parte mais importante!
minn=minnn[1]
maxx=maxxx[1]

return maxx, minn


Quanto ao resto, deixa-me pensar... :-k


Thx.

Se isto fosse excel era bem mais simples. :D
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

por Quico » 25/9/2011 21:40

A primeira é fácil:

Código: Selecionar todos
minnn=lowest[n](Low)
maxxx=highest[n](high)

REM E aqui está a parte mais importante!
minn=minnn[1]
maxx=maxxx[1]

return maxx, minn


Quanto ao resto, deixa-me pensar... :-k
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por Pickbull » 25/9/2011 21:32

Quico,

2 dúvidas:

- Como faço um offset de 1 dia para o donchian (isto para ver graficamente)?

- Dá para fazer um trailing stop que seja n ATR com um máximo de x % (isto é para backtest)?

Obrigado.
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

por T1ag0 » 25/9/2011 20:10

Penso que não é preciso, parace-me que ficou perfeito.

Muito obrigado pela ajuda.
 
Mensagens: 465
Registado: 29/3/2010 17:06
Localização: Algarve

por Quico » 25/9/2011 19:22

T1ag0 Escreveu:Boa tarde,

Alguém me poderia explicar como é que eu posso colcar um stop loss de 5% em relação ao preço de entrada, no BackTest. Já andei a tentar varias formas mas ainda não acertei com esse pormenor.

Obrigado,
Tiago Cardoso


A forma mais simples é fazeres como na figura.
Se quiseres em código, posso pensar nisso. :wink:

Abraço.

P.S. - Esqueci-me de anexar a figura.
Anexos
Screen shot 2011-09-25 at 19.20.32.png
Screen shot 2011-09-25 at 19.20.32.png (51.95 KiB) Visualizado 6538 vezes
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por T1ag0 » 25/9/2011 18:26

Boa tarde,

Alguém me poderia explicar como é que eu posso colcar um stop loss de 5% em relação ao preço de entrada, no BackTest. Já andei a tentar varias formas mas ainda não acertei com esse pormenor.

Obrigado,
Tiago Cardoso
 
Mensagens: 465
Registado: 29/3/2010 17:06
Localização: Algarve

por T1ag0 » 22/9/2011 18:59

Quico Escreveu:É o problema de aplicações gratuitas...
Já agora corrijo o que disse: os problemas que mencionei no ProBacktest desapareceram, mas entretanto surgiram outros. Ordens activadas por stop que ocorrem de forma desfasada, ou então a preços diferentes daquilo que devia ocorrer... enfim! :roll:
E o pior é que os manuais que disponibilizam estão nitidamente desactualizados.


Não uso essas ferramentas no PRT logo não me posso queixar.
De qualquer maneira parece-me que a nova versão (8.2) não está em condições ainda. Esperemos que corrigam os erros.
 
Mensagens: 465
Registado: 29/3/2010 17:06
Localização: Algarve

por Quico » 22/9/2011 14:32

É o problema de aplicações gratuitas...
Já agora corrijo o que disse: os problemas que mencionei no ProBacktest desapareceram, mas entretanto surgiram outros. Ordens activadas por stop que ocorrem de forma desfasada, ou então a preços diferentes daquilo que devia ocorrer... enfim! :roll:
E o pior é que os manuais que disponibilizam estão nitidamente desactualizados.
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por T1ag0 » 22/9/2011 14:11

Quico Escreveu:Caros colegas:
Há alguém que use o ProRealTime para fazer backtest (módulo ProBacktest)?

É que parece que fizeram um upgrade no software. A coisa está com melhor aspecto, mas parece-me que sistemas que tinha programado e que (aparentemente) funcionavam bem passaram a funcionar de forma defeituosa.
Alguém está também com problemas?


Também ando com problemas, agora parece quw só funciona quando lhe apetece. Para além do ProBacktest também o ProScreener anda com problemas. Ora fica indeterminadamente a carregar ou dá erro ( e uma vez por outra lá funciona).

Alguém sabe como resolver os problemas nestas duas ferramentas?
 
Mensagens: 465
Registado: 29/3/2010 17:06
Localização: Algarve

por Quico » 21/9/2011 23:53

Por acaso, ia mesmo escrever neste tópico quando vocês o "puxaram" para cima.

Afinal confirma-se: o problema que descrevi devia-se a um bug! Hoje ele não acontece, e reparei que quando liguei a aplicação no browser, ela foi descarregada/actualizada de novo. Provavelmente, esta nova actualização já está revista.

(Nota: uso um Mac! :wink: )
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por MarcoAntonio » 21/9/2011 23:49

Sect Escreveu:Tenho tido problemas nos últimos dias em abrir o software do Prorealtime, dá-me sempre erro não o que se passa já actualizei o Java e ainda nada...
Se alguém poder ajudar agradecia.


Não sei se é o caso (já agora, que mensagem te aparece se é que aparece alguma) mas o java por vezes fica com problemas tais que o melhor é desinstalar todas as versões (com o tempo, podes ficar com vários instalados) e reinstalar só a última.

Creio que eles mencionam isso no próprio site (do java).
Imagem

FLOP - Fundamental Laws Of Profit

1. Mais vale perder um ganho que ganhar uma perda, a menos que se cumpra a Segunda Lei.
2. A expectativa de ganho deve superar a expectativa de perda, onde a expectativa mede a
__.amplitude média do ganho/perda contra a respectiva probabilidade.
3. A Primeira Lei não é mesmo necessária mas com Três Leis isto fica definitivamente mais giro.
Avatar do Utilizador
Administrador Fórum
 
Mensagens: 40910
Registado: 4/11/2002 22:16
Localização: Porto

por DC89 » 21/9/2011 23:45

Tenho tido problemas nos últimos dias em abrir o software do Prorealtime, dá-me sempre erro não o que se passa já actualizei o Java e ainda nada...
Se alguém poder ajudar agradecia.
Avatar do Utilizador
 
Mensagens: 1365
Registado: 26/12/2007 15:50

por yabadoo » 20/9/2011 16:00

Quico Escreveu:Um dos problemas que estou a detectar é o seguinte:

Num sistema em que vou ajustando Stops para abertura de posições - ao estilo "BUY x SHARES AT y STOP" - o que acontece, e penso não sucedia anteriormente, é que os stops vão ficando, e não são anulados por novas alterações do valor y. De tal forma que quando o título se movimenta em direcção aos stops, em vez de apenas disparar o primeiro, vai disparando todos os que ficaram anteriormente.

Umas vezes cria "piramidagem" não pretendida; noutras abre e fecha posições porque também vai apanhando stops normais de fecho de posição que também foram ficando "espalhados". (Não sei se deu para perceber a ideia).

Alguém está com o mesmo problema? Ou sou eu que sou nabo e falta desligar qualquer coisa algures que me está a escapar? :oops:

Abraço.


Não tendo maneira de neste momento testar, creio que o prorealtime deve ter uma função qualquer para saber se num determinado momento, estás longo, curto ou flat.
A ideia seria fazer depender a execução da ordem stop da tua posição actual no mercado.
(se o prorealtime não tiver, podes criar sempre uma variável que vá acompanhando a tua posição no mercado).

Código do tipo

Se minha-posição == flat
buy ....
end-if


Espero que ajude
"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 Zeb_PT » 20/9/2011 15:32

À primeira vista eu, tendo em conta que anda a piramidar essas instruções, parece que cada vez que usas o "BUY x SHARES AT y STOP" estás a colocar uma ordem (logicamente se tiveres liquidez podes colocar quantas ordens quiseres).

Por isso se quiseres substituir uma ordem pela outra deve ser possivel haver uma função que faça reset às ordens colocadas...

Posso não ter dado qq solução para o caso, mas pelo menos assim talvez alguem que use correntemente o probacktest possa ajudar...
http://marketapprentice.wordpress.com

Para muito errar e muito mais aprender!

"who loses best will win in the end!" - Phantom of the Pits

Nota: As análises apresentadas constituem artigos de opinião do autor, não devendo ser entendidos como recomendações de compra e venda ou aconselhamento financeiro.
Avatar do Utilizador
 
Mensagens: 919
Registado: 9/3/2009 23:07
Localização: 16

por Quico » 20/9/2011 14:48

Um dos problemas que estou a detectar é o seguinte:

Num sistema em que vou ajustando Stops para abertura de posições - ao estilo "BUY x SHARES AT y STOP" - o que acontece, e penso não sucedia anteriormente, é que os stops vão ficando, e não são anulados por novas alterações do valor y. De tal forma que quando o título se movimenta em direcção aos stops, em vez de apenas disparar o primeiro, vai disparando todos os que ficaram anteriormente.

Umas vezes cria "piramidagem" não pretendida; noutras abre e fecha posições porque também vai apanhando stops normais de fecho de posição que também foram ficando "espalhados". (Não sei se deu para perceber a ideia).

Alguém está com o mesmo problema? Ou sou eu que sou nabo e falta desligar qualquer coisa algures que me está a escapar? :oops:

Abraço.
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

por Zeb_PT » 20/9/2011 14:46

Quico, desde a ultima utilização que não utilizo por isso, infelizmente, não te posso ajudar...

Se colocares o erro por aqui talvez...
http://marketapprentice.wordpress.com

Para muito errar e muito mais aprender!

"who loses best will win in the end!" - Phantom of the Pits

Nota: As análises apresentadas constituem artigos de opinião do autor, não devendo ser entendidos como recomendações de compra e venda ou aconselhamento financeiro.
Avatar do Utilizador
 
Mensagens: 919
Registado: 9/3/2009 23:07
Localização: 16

por Pickbull » 20/9/2011 14:08

Quico Escreveu:Caros colegas:
Há alguém que use o ProRealTime para fazer backtest (módulo ProBacktest)?

É que parece que fizeram um upgrade no software. A coisa está com melhor aspecto, mas parece-me que sistemas que tinha programado e que (aparentemente) funcionavam bem passaram a funcionar de forma defeituosa.
Alguém está também com problemas?


É uma opção que nunca usei no PRT por isso não posso ajudar. :(

Tenho é que estudar esse assunto porque deixei de usar o metastock (onde fazia os testes) e um dia se precisar convém que saiba como fazer. :P
Mais vale perder um lucro do que ganhar um prejuízo.

É melhor um burro vivo do que um cavalo morto.

Mais vale uma alegria na vida do que um tostão no bolso.
Avatar do Utilizador
 
Mensagens: 1427
Registado: 23/1/2008 19:18
Localização: Coimbra

AnteriorPróximo

Quem está ligado:
Utilizadores a ver este Fórum: caganixo7, Carlos73, Ferreiratrade, Google [Bot], Jonas74, PAULOJOAO, Phil2014, Shimazaki_2, silva_39, Silvaz77, trilhos2006 e 145 visitantes