Buenos días a todos,
¿Alguien puede provar el código que envio?. A mi no me funciona y no se cual es el motivo,
Muchas gracias y saludos.
/ Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = MACD[12,26,9](close)
c1 = (indicator1 CROSSES UNDER indicator1)
IF c1 THEN
BUY 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = MACD[12,26,9](close)
c2 = (indicator2 CROSSES OVER indicator2)
IF c2 THEN
SELL AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = MACD[12,26,9](close)
c3 = (indicator3 CROSSES OVER indicator3)
IF c3 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = MACD[12,26,9](close)
c4 = (indicator4 CROSSES UNDER indicator4)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 10
SET TARGET pPROFIT 2
>> Para la claridad de los mensajes en los foros de ProRealCode, utilice el botón “insert PRT code” para separar la parte del texto de la parte del código, ¡gracias! <<
🙂
¿Qué significa, qué es incorrecto?
Un problema puede ser el beneficio objetivo y / o el stop loss.
Consulte con su corredor cuál es el mínimo requerido. ¡2 pips parecen pocos!
¡El problema es que está probando el MACD para cruzar por encima o por debajo de su propio valor! Nunca puede suceder, ¿supongo que quieres que el MACD cruce el valor 0?
Sí, que cruce el valor 0. Tienes razón.
Muchas gracias
Lluís
Aquí está el código con el MACD cruzando la línea 0.
/ Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = MACD[12,26,9](close)
c1 = (indicator1 CROSSES UNDER 0)
IF c1 THEN
BUY 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = MACD[12,26,9](close)
c2 = (indicator2 CROSSES OVER 0)
IF c2 THEN
SELL AT MARKET
ENDIF
// Condiciones de entrada de posiciones cortas
indicator3 = MACD[12,26,9](close)
c3 = (indicator3 CROSSES OVER 0)
IF c3 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = MACD[12,26,9](close)
c4 = (indicator4 CROSSES UNDER 0)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops y targets
SET STOP pLOSS 10
SET TARGET pPROFIT 2
En la estrategia, parece que ha invertido (¿de buena gana?) Los pedidos de compra y venta corta. Compra cuando el MACD cruza por debajo de 0 y vende cuando cruza por encima de 0.
Hola Nicolas,
Lo arreglo.
Muchas gracias y buen fin de semana.