Forum Think Finance - Bolsa e Forex

Geral => Sistemas Automáticos => Tópico iniciado por: rs_trader em 2018-03-29 22:46:40

Título: Amibroker - Testes
Enviado por: rs_trader em 2018-03-29 22:46:40
Sempre que me apetecer vou por aqui uns sistemas, completos ou incompletos (para podermos fazer brainstorming).

Testes sempre IOS: 01/01/2000 a 31/12/2012. A partir dessa data é sempre OOS.
Entradas e Saídas no Open do dia seguinte ao sinal.
Questoes de position sizing não serão tidas em conta no sistemas aqui colocados.

Por norma uso uma Pattern (maioria price pattern), um Filtro, uma condição de market timing e uma Exit. Mais raramente uma componente de Seasonality e também estou adicionar condições relativas a Market Internals.

PRIMEIRO: Conceito simples que já alguém deve ter pensado e escrito sobre ele.

Usar no QQQ e SPY (dar primazia aos sinais QQQ quando surgirem na mesma barra).

Pattern = (O>C); //BlackCandle
Timing = Foreign( "^VIX", "C" )>MA( Foreign( "^VIX", "C" ),11)*1.04;
Non_Exit = (C<TimeFrameExpand(ATR_STOP_D, inDaily) AND C>MA(C,4));
Sell_1 = IIF(REF(C>TimeFrameExpand(ATR_STOP_D, inDaily),-1),C<TimeFrameExpand(ATR_STOP_D, inDaily),C>MA(C,4));

Não testei com filtros....

Buy = Pattern AND Timing AND NOT Non_Exit;
Sell = Sell_1;

O non_Exit é apenas para não entrar nos dias em que também se verifique o sinal de saída.

Só têm de chegar ao ATR_STOP_D para terem uma rendibilidade histórica anual hipotética de mais 16% (sem alavancagem).








Título: Re: Amibroker - Testes
Enviado por: vbm em 2018-03-30 09:28:29
vais por aqui!? então já cá estás!
Título: Re: Amibroker - Testes
Enviado por: rs_trader em 2018-07-29 22:31:01
Sempre que me apetecer vou por aqui uns sistemas, completos ou incompletos (para podermos fazer brainstorming).

Testes sempre IOS: 01/01/2000 a 31/12/2012. A partir dessa data é sempre OOS.
Entradas e Saídas no Open do dia seguinte ao sinal.
Questoes de position sizing não serão tidas em conta no sistemas aqui colocados.

Por norma uso uma Pattern (maioria price pattern), um Filtro, uma condição de market timing e uma Exit. Mais raramente uma componente de Seasonality e também estou adicionar condições relativas a Market Internals.

PRIMEIRO: Conceito simples que já alguém deve ter pensado e escrito sobre ele.

Usar no QQQ e SPY (dar primazia aos sinais QQQ quando surgirem na mesma barra).

Pattern = (O>C); //BlackCandle
Timing = Foreign( "^VIX", "C" )>MA( Foreign( "^VIX", "C" ),11)*1.04;
Non_Exit = (C<TimeFrameExpand(ATR_STOP_D, inDaily) AND C>MA(C,4));
Sell_1 = IIF(REF(C>TimeFrameExpand(ATR_STOP_D, inDaily),-1),C<TimeFrameExpand(ATR_STOP_D, inDaily),C>MA(C,4));

Não testei com filtros....

Buy = Pattern AND Timing AND NOT Non_Exit;
Sell = Sell_1;

O non_Exit é apenas para não entrar nos dias em que também se verifique o sinal de saída.

Só têm de chegar ao ATR_STOP_D para terem uma rendibilidade histórica anual hipotética de mais 16% (sem alavancagem).

Este desde que coloquei aqui também se tem portado bem....
Título: Re: Amibroker - Testes
Enviado por: Blaster em 2018-12-26 20:22:06
Estava a pensar num sistema deste género:
- o mercado cai 5 dias seguidos ou a semana é negativa e cai por exemplo mais de 5%.
- na sexta-feira mais próxima abrir uma posição longa no fecho e fechar no fecho da segunda feira.


Será que dará para programar no amibroker? E será que dará algum retorno interessante alguma das opções indicadas no primeiro bullet?

Título: Re: Amibroker - Testes
Enviado por: rs_trader em 2018-12-26 20:52:26
Estava a pensar num sistema deste género:
- o mercado cai 5 dias seguidos ou a semana é negativa e cai por exemplo mais de 5%.
- na sexta-feira mais próxima abrir uma posição longa no fecho e fechar no fecho da segunda feira.


Será que dará para programar no amibroker? E será que dará algum retorno interessante alguma das opções indicadas no primeiro bullet?

Dá..... Sao duas a condições de entrada, não dependem uma da outra (isto é, é memo OU e não E).
Título: Re: Amibroker - Testes
Enviado por: Blaster em 2018-12-26 21:03:44
Sim tinha pensado só ou era um ou era outro, dois sistemas separados e não a possibilidade de fazer as duas possibilidades num só sistema com um ou, mas também se pode ver como funciona.

Estava a pensar como hoje, o mercado caiu muito e depois de um dia de descanso subiu, e queria ver se existe alguma tendência após os dias de descanso.
Título: Re: Amibroker - Testes
Enviado por: rs_trader em 2018-12-26 21:11:54
SetTradeDelays(0,0,1,1); 
SetOption ("allowsamebarexit",false); 
SetOption("initialequity",10000); 
SetOption("MaxOpenPositions",1); 
SetPositionSize(100/1,spsPercentOfEquity);

BuyPrice = Close;
SellPrice = Close;

ps1=Optimize("ps1",0.95,0.90,0.95,.01);

Cond1 = C<Ref(C,-1) AND Ref(C,-1)<Ref(C,-2) AND Ref(C,-2)<Ref(C,-3) AND Ref(C,-3)<Ref(C,-4) AND Ref(C,-4)<Ref(C,-5) AND DayOfWeek()==5;
Cond2 = C/Ref(C,-5)<=ps1 AND DayOfWeek()==5;

// BUY & SELL RULES

Buy = Cond1 OR Cond2;
Sell = C<0;

bars = Optimize("bars",1,1,20,1); // exit after 10 bars
ApplyStop( stopTypeNBar, stopModeBars, bars, True );
Título: Re: Amibroker - Testes
Enviado por: rs_trader em 2018-12-26 21:13:35
Para versões independentes é só alterar:

Buy = Cond1 /*OR Cond2*/;

ou

Buy = /*Cond1 OR*/ Cond2;
Título: Re: Amibroker - Testes
Enviado por: Zel em 2018-12-26 22:05:16
tens amibroker blaster?
Título: Re: Amibroker - Testes
Enviado por: Blaster em 2018-12-26 22:38:12
Uso a versão unregistered, para o tempo que tenho disponivel para o Amibroker é o suficiente... Gostaria de investir mais tempo no Amibroker mas não consigo.
Título: Re: Amibroker - Testes
Enviado por: Blaster em 2018-12-26 22:52:10
Obrigado rs_trader!

No entanto após ver o teu post percebi logo que não era nada de jeito.

Já testei e confirma-se, nada de jeito, nem mesmo tirando a limitação do "DayOfWeek()==5" melhora.

Fiquei espantado pela velocidade que incluiste o código aqui.
Título: Re: Amibroker - Testes
Enviado por: rs_trader em 2018-12-26 23:35:33
Obrigado rs_trader!

No entanto após ver o teu post percebi logo que não era nada de jeito.

Já testei e confirma-se, nada de jeito, nem mesmo tirando a limitação do "DayOfWeek()==5" melhora.

Fiquei espantado pela velocidade que incluiste o código aqui.

Ando um granda pró no amibroker...eheheh.