Prorealtime - ajuda
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...

"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
@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?
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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
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.

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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
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.
Vai ter que definir na janelinha ao lado as variáveis n e per, ok?
- 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
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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
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
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...
Thx.
Se isto fosse excel era bem mais simples.

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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
A primeira é fácil:
Quanto ao resto, deixa-me pensar...
- 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...

"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
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.
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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
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.

Abraço.
P.S. - Esqueci-me de anexar a figura.
- Anexos
-
- 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
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!![]()
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
É 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!
E o pior é que os manuais que disponibilizam estão nitidamente desactualizados.
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!

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
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 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!
)
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!

"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
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).
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.
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?![]()
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
À 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...
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.
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.
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?
Abraço.
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?

Abraço.
"People want to be told what to do so badly that they'll listen to anyone." - Don Draper, Mad Men
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...
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.
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.
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.

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.
É melhor um burro vivo do que um cavalo morto.
Mais vale uma alegria na vida do que um tostão no bolso.
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