Ayuda Ninja Script

Foro dedicado a esta excelente herramienta de desarrollo e implementación de sistemas de trading
Responder
Calike
Mensajes: 31
Registrado: 31 Ene 2009 16:20

Ayuda Ninja Script

Mensaje por Calike »

Hola, alguien que me eche una mano a ver donde está el fallo? Solamente ejecuta la primera instrucción (Long) y no obedece al filtro del MACD.

Código: Seleccionar todo

    protected override void OnBarUpdate()
       
			{/// SetRanges///
			   
				/// Calculate the Asian Sesion Range...
                 if  (ToTime(Time[0]) == ToTime(8, 0, 0))
			{
              Variable0 = MAX(High, 5)[0];
			  Variable1 = MIN(Low,  5)[0];
			    DrawLine("Bull" + CurrentBar, 4, MAX(High, 5)[0], 0, Variable0, Color.Green);
				DrawLine("Bear" +CurrentBar,4,MIN(Low, 5)[0],0, Variable1,Color.Red);
			}	
		/// EnterLong ...
			
				if 	(GetCurrentAsk() + 2 * TickSize >= Variable0
			        &&  ToTime(Time[0])> ToTime(8,0,0)
					&& ToTime(Time[0])<= ToTime(10,0,0)
					&& MACD(12, 26, 9)[0] > MACD(12, 26, 9).Avg[0] )
				{
					EnterLong (InitialLot,"InitialBuy");
					DrawText("Buy" + CurrentBar, "", 0, Low[0] - 10 * TickSize, Color.Green);
				}
		/// EnterShort  ...
				if 	(GetCurrentBid() -2  * TickSize <= Variable1
			        &&  ToTime(Time[0])> ToTime(8,0,0)
					&& ToTime(Time[0])<= ToTime(10,0,0)
					&& MACD(12, 26, 9)[0] < MACD(12, 26, 9).Avg[0]) 
				{
					EnterShort (InitialLot,"InitialSell");
					DrawText("My text" + CurrentBar, "Sell", 0, High[0] + 10 * TickSize, Color.Red);
				}
					
}
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Ayuda Ninja Script

Mensaje por cls »

Calike, estás asignando mal las variables Variable0 y Variable1.

Pon lo siguiente en el OnBarUpdate para comprobar el valor de esas dos variables en la consola. Verás que siempre valen cero y por eso nunca se te hacen las sell.

Código: Seleccionar todo

protected override void OnBarUpdate()
        {
			Print ( "Var0: " + Variable0 + "   Var1: " + Variable1 );

P.ej. en el eurostoxx en 5min el Time de la primera barra de la sesión es 08:05:00 y no 08:00:00.
Si quieres chequear la primera barra de la sesión usa Bars.SessionBreak.

S2
Responder

Volver a “Ninja Trader”