Página 1 de 1

backtest de sistemas con amibroker

Publicado: 03 Feb 2008 20:08
por trikero
hola:
hasta ahora solo empleaba el ami para graficar y estoy contento con él en general.

este finde me he puesto a hacer los primeros sistemas y el problema que veo es que al hacer backtest no consigo hacerlo funcionar.


¿?¿?¿?¿?¿

¿?alguno ha hecho sus sistemas automaticos con ami y los tiene en explotacion¿?

Publicado: 03 Feb 2008 21:35
por kmonge
¿Qué quieres decir con que no te funciona?¿ Al hacer Backtest no te dá ningun resultado? Explicalo un poco mejor. A mi alguna vez no me ha dado ningun resultado por que a lo mejor estaba poniendo alguna condición que era imposible. Saludos: KOLDO.
P.D: Los sistemas que tengo estan en barra diaria.

Publicado: 04 Feb 2008 12:50
por trikero
a ver, intento hacer un backtest sobre el indice russell con el tipico corte de macd y no veo las "flechas" donde deberian estar. de hecho hay trades muy mal hechos ,por que lo que en el grafico esta clarisimo que es corto, el se ha puesto largo.

ademas todavia no me aclaro con lo de "show arrows...." cuando quieres ver un trade concreto en el grafico y al reves, cuando quieres desde el grafico, ver como quedo la op.



te adjunto el codigo

SetPositionSize (1,4);
a=Optimize ("a",12,3,13,1);
//a=5;
b=Optimize ("b",15,5,21,1);
//b=13;
d=Optimize ("d",8,5,13,1);
//d=8;

Buy = Cross( Signal (a,b,d), MACD(a,b) )AND abs (Signal(a,b,d)-MACD(a,b)) >0.1;
Sell = Cross( MACD(a,b), Signal(a,b) )AND abs (Signal(a,b,d)-MACD(a,b)) >0.1;
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );

Short=Sell;
Cover=Buy;
Filter = Buy OR Sell OR Short OR Cover;

AddColumn( Close, "Close", 1.4);

Publicado: 04 Feb 2008 14:21
por kmonge
Entiendo que quieres por un lado optimizar, que en el gráfico aparezcan las flechas que indican los trades y ademas lo quieres utilizar para escanear un grupo de acciones o lo que tengas en un watchlist por ejemplo .
le he adicionado las siguientes lineas a tu código para que me ponga las flechas en el chart, a ver si es lo que quieres. Las he puesto entre la linea de filtrado y la de adicionar columnas en el escaneo:

Plot(C,"",colorBlack,styleBar);
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen,0,L,-15);
PlotShapes(IIf(Buy,shapeHollowCircle,shapeNone),colorGreen,0,BuyPrice,0);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,H,-15);
PlotShapes(IIf(Sell,shapeHollowCircle,shapeNone),colorRed,0,SellPrice,0);
PlotShapes(IIf(Short,shapeDownArrow,shapeNone),colorBrown,0,H,-15);
PlotShapes(IIf(Short,shapeHollowCircle,shapeNone),colorBrown,0,ShortPrice,0);
PlotShapes(IIf(Cover,shapeUpArrow,shapeNone),colorDarkGreen,0,L,-15);
PlotShapes(IIf(Cover,shapeHollowCircle,shapeNone),colorDarkGreen,0,CoverPrice,0);
A mi me aparecen sólamente flechas verdes y marrones. creo que será por que es un sistema stop and reverse (espero que sean las palabras correctas).
Guarda este archivo en formulas o donde quieras y cuando tengas el chart que quieras en pantalla al hacer doble click a este archivo te saldrá debajo con la flechas y demas.
he probado el bactest y funciona. lo que no me funciona es lo del escaneo.
:(

Publicado: 04 Feb 2008 14:49
por trikero
OK, voy a probarlo, gracias.

un saludo.

Publicado: 06 Feb 2008 20:20
por trikero
kmonge, el codigo que has puesto y el del sistema, lo pones todo el grafico del chart, en un pane aparte,... es que a mi no me pinta nada y en principio no queria "guarrear" el codigo del chart del precio.

saludos.

Publicado: 06 Feb 2008 21:42
por kmonge
Si le quitas la linea Plot(c,"",colorblack,stylebar); no dibujas el chart y lo puedes insertar en cualquier chart que tengas abierto sin mas que hacer doble click.
No se si es esto a lo que te refieres.¿ Lo de las flechas es lo que necesitabas?
Puedes omitir lo de los círculos para que quede mas limpio,...
SALUDOS: KOLDO.

Publicado: 07 Feb 2008 23:53
por trikero
gracias, k

ya me funciona ok,como tu pusiste. al finan he dejado el plot y en el pane del sistema veo las fechas .

el problema ahora es la logica del sistema :-.)),

saludos.

Publicado: 08 Feb 2008 08:00
por kmonge
me alegor que valga para algo lo que te conte.
De lo de lanzar sistemas ya no tengo ni idea. SALUDOS:KOLDO