backtest de sistemas con amibroker
backtest de sistemas con amibroker
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¿?
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¿?
las gacelas tambien tenemos derecho a pasto
Es probable que Dios no exista. Ahora, deja de preocuparte y disfruta de la vida
Es probable que Dios no exista. Ahora, deja de preocuparte y disfruta de la vida
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);
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);
las gacelas tambien tenemos derecho a pasto
Es probable que Dios no exista. Ahora, deja de preocuparte y disfruta de la vida
Es probable que Dios no exista. Ahora, deja de preocuparte y disfruta de la vida
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.

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.

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.
saludos.
las gacelas tambien tenemos derecho a pasto
Es probable que Dios no exista. Ahora, deja de preocuparte y disfruta de la vida
Es probable que Dios no exista. Ahora, deja de preocuparte y disfruta de la vida
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.
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.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!