Sistema con entradas en "Stop" +/- filtro de puntos

Foro dedicado a esta excelente herramienta de desarrollo e implementación de sistemas de trading
peonia trader
Mensajes: 1
Registrado: 26 Ene 2010 18:23

Sistema con entradas en "Stop" +/- filtro de puntos

Mensaje por peonia trader »

As7Prueba1.zip
PANTALLAZO EN EL IBEX35
(432.97 KiB) Descargado 181 veces
Buenos días.
Intento crear un sistema con NT7, para insertar en el gráfico del IBEX35:
1.- La idea es un sistema continuo tipo “Swing” es decir, que no cierre al fin de día.
2.- Sería un sistema continuo, de entradas y salidas en “Stop” +/- un filtro de puntos (fintroM), según sea la entrada “Long”/”Short”.
3.- “EnterLongStop” se producirá cuando, la tendencia sea alcista y se haya cruzado al alza la EMA.
4.- “EnterShortStop” se producirá cuando, la tendencia sea bajista y se haya cruzado a la baja la EMA.
5.- Las órdenes de entrada en “stop” Long/Short durarán más de una barra “true”, para asegurarnos que se llevan a cabo.
6.- Colocamos un “ProftiTarget” que puede ser diferente para las entradas Largas/Cortas.

ADJUNTO EL SCRIPT CREADO, PERO, QUE NO REALIZA LAS FUNCIONES QUE HE DETALLADO EN LOS 6 PUNTOS ANTERIORES.
¿Qué debo corregir del Script?

#region Variables // Wizard generated variables
private int periodEma = 200; // Default setting for PeriodEma
private double filtroM = 20.0; // Default setting for FiltroM
private int profitL = 200;
private int profitS = 150;
#endregion

protected override void Initialize()
{
CalculateOnBarClose = true;
IncludeCommission = true;
ExitOnClose = false;

Add(EMA(periodEma));
TraceOrders = true;

SetProfitTarget("Buy", CalculationMode.Ticks, profitL);
SetProfitTarget("Sell", CalculationMode.Ticks, profitS);
}

protected override void OnBarUpdate()
{
if(CurrentBar < periodEma)
return;


if (Close[1] < EMA(PeriodEma)[1] && CrossAbove(Close, EMA(periodEma), 1))
{
Print( "Cb: " + CurrentBar + " se cumple BUY");
EnterLongStop(0, true, DefaultQuantity, Close[0] + filtroM, "Buy");

}


if((Close[1] > EMA(PeriodEma)[1]) && (CrossBelow(Close, EMA(periodEma), 1))) {
Print( "Cb: " + CurrentBar + " se cumple SELL");
EnterShortStop(0, true, DefaultQuantity, Close[0] - filtroM, "Sell");
}
}

#region Properties
[Description("Para poder modificar el periodo de la EMA")]
[GridCategory("Parameters")]
public int PeriodEma
{
get { return periodEma; }
set { periodEma = Math.Max(1, value); }
}

[Description("Para poder modificar el valor del fitro de entrada a mercado")]
[GridCategory("Parameters")]
public double FiltroM
{
get { return filtroM; }
set { filtroM = Math.Max(0.00001, value); }
}

[Description("Para poder modificar el valor del fitro de entrada a mercado")]
[GridCategory("Parameters")]
public int ProfitL
{
get { return profitL; }
set { profitL = Math.Max(1, value); }
}

[Description("Para poder modificar el valor del fitro de entrada a mercado")]
[GridCategory("Parameters")]
public int ProfitS
{
get { return profitS; }
set { profitS = Math.Max(1, value); }
}
#endregion
}


Muchas Gracias. (ADJUNTO PANTALLAZO)
Responder

Volver a “Ninja Trader”