Buenas tardes,
Adjunto un código en el que me interesa poder modificar la vela en donde debe entrar. Ahora me entra en la siguiente vela por defecto. Me interesaría decirle que entrara en la segunda vela o en la tercera. ¿Es posible esta instrucción?
Muchas gracias y saludos.
Lluís
Hola Luis,
Si es posible, pero debes adjuntar el código para que podamos ver donde debe entrar.
Saludos
Hola Juan,
creí haberlo adjuntado….. buneo si acaso lo copio en en texto.
Saludos y muchas gracias
// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = HullAverage[20](typicalPrice)
c1 = (indicator1 CROSSES UNDER close)
IF c1 THEN
BUY 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = HullAverage[20](typicalPrice)
c2 = (indicator2 CROSSES OVER close)
IF c2 THEN
SELL AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = HullAverage[20](typicalPrice)
c3 = (indicator3 CROSSES OVER close)
IF c3 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = HullAverage[20](typicalPrice)
c4 = (indicator4 CROSSES UNDER close)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 10
SET TARGET pPROFIT 30
Luis,
Para adjuntar el código debes utilizar el botón (insert PRT code) arriba a la derecha. Gracias
// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = HullAverage[20](typicalPrice)
c1 = (indicator1 CROSSES UNDER close)
IF c1 THEN
BUY 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = HullAverage[20](typicalPrice)
c2 = (indicator2 CROSSES OVER close)
IF c2 THEN
SELL AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = HullAverage[20](typicalPrice)
c3 = (indicator3 CROSSES OVER close)
IF c3 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = HullAverage[20](typicalPrice)
c4 = (indicator4 CROSSES UNDER close)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 10
SET TARGET pPROFIT 30
Ahora creo que si…
Saludos
Podrías poner algo así. Puedes abrir la operación, (x) barras después de que crucen las medias:
n=2 // numero de barras
IF c1 THEN // se cumple el cruce de medias
barindex=x
ENDIF
IF barindex= x + n THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
Pruebalo y dime si funciona
<pre class=”lang:probuilder decode:true ” title=”Me da Error”>// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = HullAverage[20](typicalPrice)
c1 = (indicator1 CROSSES UNDER close)
n=2 // numero de barras
IF c1 THEN // se cumple el cruce de medias
barindex= 2
ENDIF
IF barindex= 2 + n THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = HullAverage[20](typicalPrice)
c2 = (indicator2 CROSSES OVER close)
IF c2 THEN
SELL AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = HullAverage[20](typicalPrice)
c3 = (indicator3 CROSSES OVER close)
IF c3 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = HullAverage[20](typicalPrice)
c4 = (indicator4 CROSSES UNDER close)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 5
SET TARGET pPROFIT 15
Hola Juan,
Me da error en las lineas 11 y 12 : barindex=x
ENDIF
Creo que no se donde poner realmente las nuevas instrucciones.
Saludos.
Luis,
Creo que estás intentando decirme que “te da error”, aunque arriba ha salido mezclado con el código. He probado tu código en mi PRT (v10.3), pero las medias Hull no las reconoce. No se si tienes la version 11 y no tienes problema. En cualquier lo intentaré con unas medias exponenciales y te lo corrijo en el mío, y te digo esta noche
Hola Juan,
tengo la versión 11. En esta versión sí que me funcional las medias de Hull.
Lo que te comento es que no se donde colocar la corrección que me enviste y creo que lo hago mal y tal vez por este motivo no me funcione.
Saludos
Luis,
Te adjunto el código corregido. Ya funciona. Fíjate que lo de entrar a partir de la segunda barra esta solamente en c1, así que deberías ponerlo también en c2, c3, y c4.
Espero que te sirva
// Definición de los parámetros del código
DEFPARAM CumulateOrders = false
// Condiciones para entrada de posiciones largas
indicator1 = exponentialaverage[20](typicalPrice)
c1 = (indicator1 CROSSES UNDER close)
n=2 // numero de barras
IF c1 THEN // se cumple el cruce de medias
x=barindex
ENDIF
IF barindex= x + n THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = exponentialaverage[20](typicalPrice)
c2 = (indicator2 CROSSES OVER close)
IF c2 THEN
SELL AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = exponentialaverage[20](typicalPrice)
c3 = (indicator3 CROSSES OVER close)
IF c3 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = exponentialaverage[20](typicalPrice)
c4 = (indicator4 CROSSES UNDER close)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 5
SET TARGET pPROFIT 15
Saludos
Hola Juan,
Muchas gracias y saludos!!
Luis,
Me he tomado la libertad de cambiarlo (estaba aburrido :)) y aplicárselo también a C2, C3, y C4. Le he puesto diferentes n1, n2, etc, para que puedas variar el numero de barras independientemente de la condición.
// Definición de los parámetros del código
DEFPARAM CumulateOrders = false
// numero de barras
n1=2
n2=2
n3=2
n4=2
// Condiciones para entrada de posiciones largas
indicator1 = exponentialaverage[20](typicalPrice)
c1 = (indicator1 CROSSES UNDER close)
IF c1 THEN // se cumple el cruce de medias
a=barindex
ENDIF
IF barindex= a + n1 THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = exponentialaverage[20](typicalPrice)
c2 = (indicator2 CROSSES OVER close)
IF c2 THEN // se cumple el cruce de medias
b=barindex
ENDIF
IF barindex= b + n2 THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = exponentialaverage[20](typicalPrice)
c3 = (indicator3 CROSSES OVER close)
IF c3 THEN // se cumple el cruce de medias
c=barindex
ENDIF
IF barindex= c + n3 THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = exponentialaverage[20](typicalPrice)
c4 = (indicator4 CROSSES UNDER close)
IF c4 THEN // se cumple el cruce de medias
d=barindex
ENDIF
IF barindex= d + n4 THEN // una vez pasado n barras desde el cruce de medias
BUY 1 SHARE AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 5
SET TARGET pPROFIT 15
Hola Juan,
Muy amable. Eres un Crack!!
Muchas gracias