Rupertacho escribió:Si pones las funciones builtIn.
con poner Sell=false es suficiente.
Pero.... ten cuidado porque el ExRem Funciona bien del todo si le das valor.
Efectivamente el backtester ajusta el SELL si se ejecutan los stopsbuiltin, intenta hacer un trailing como ejercicio con un canal de donchian algo así y entonces podrás transportar el código facil a Tradestation , piensa que AMI no es para operar automático.
SELL=L<ref(LLV(L,5),-1);
Sellprice=Min(Open,ref(LLV(L,5),-1)); intenta entender esto del Min con el open.
Por cierto... lo que buscas se llama en nuestra jerga IMBALANCE, usa google para informarte de técnicas.
Y lee esto, que te va a encantar
http://jbmarwood.com/wp-content/uploads ... rnovas.pdf
PD: Tienes el sistema "base" en el PDF

Pues ahora te vas a reir, pero creo que YA soy alumno tuyo. Al menos he "asistido" a una de tus clases. La de "Sistemas de Trading con AFL", 1ª parte.
A la segunda no me apunte porque tus clases son como, por poner una analogia, una master class de Valentino Rossi sobre coger curvas derrapando, y yo aún no se ir en bicicleta....
Al final creo que he arreglado el stop, he puesto un filtro de volumen, pero al intentar poner un filtro para que no coja acciones con gaps de más del 90% no ha funcionado.
La busqueda de los gaps, que tendría que ser de principio de backtest al final, tampoco tira, solo busca los gaps de hoy y los de hace 5 días....
Muchas gracias por la aclaración y el "paper" de las supernovas. Es alucinante, de hecho yo intento hacer los mismo, pero al revés.
Por cierto, el libro de Cagigas y el de Bandy los he leído, aunque voy a tener que repasarlos los dos. Si no eres informatico esto del AFL cuesta.
Código: Seleccionar todo
SetOption("ExtraColumnsLocation",1);// orden columnas optimización
SetOption("Commissionmode",2);//comisiones en money
SetOption("Commissionamount",1); // Aplica 1$ de comisiones por compra/venta
SetOption("InitialEquity", 10000);
SetOption( "AllowSameBarExit", True );
SetOption( "ReverseSignalForcesExit", False );
SetOption( "HoldMinBars", 1 );
SetOption( "AccountMargin", 100 );// si 100 no margen
SetOption("maxopenpositions", 50); //maximas posiciones abiertas mismo tiempo
SetPositionSize(5, spsPercentOfEquity); //asigno capital a cada posicion
BigGapDown = ( H < 0.7*Ref(L, -1) ); // today's High 30% below yesterday's Low
//BigGapDownMax= (H < 0.1*Ref(L, -1)); This line try to avoid stocks with a gap of 90% but do not work
Filter= Volume > 5000;
FiveDaysLater = Ref(BigGapDown, -5);
Oneyear= Ref(BigGapDown, -252);
Buy = FiveDaysLater AND BigGapDown AND Filter;
Sell = Oneyear OR true;
amount = 10; // 10% profit
ApplyStop( stopTypeProfit, stopModePercent, amount, True );
Buy=ExRem(Buy,Sell); //me cargo el exceso de señales
Sell=ExRem(Sell, Buy);