vender cuando precio sube un %
Forums › ProRealTime foro Español › Soporte ProOrder › vender cuando precio sube un %
- This topic has 11 replies, 2 voices, and was last updated 7 years ago by galibier.
-
-
12/14/2017 at 2:32 PM #55671
Hola Buenos días,
He programado con la creación simplificada, pero no encuentro como se puede programar algo muy sencillo que es:
Vender cuando el precio se ha incrementado en un x%
A ver si alguien me puede decir como se pone.
Muchas gracias de antemano
12/14/2017 at 7:55 PM #55705Hola galibier,
Necesitarías establecer también desde que momento a que momento sube ese x%
Por ejemplo si es en sólo una vela creo que podría valer:
123IF abs(close-close[1])/close)>x/100 THENSELL 1 CONTRACT AT MARKETENDIFO si quieres que suba en un número de velas “y”
123IF abs(close-close[y])/close)>x/100 THENSELL 1 CONTRACT AT MARKETENDIFTen en cuenta que la venta se produce siempre al principio de la vela siguiente, creo que no hay forma de hacer que sea dentro de una vela justo en el momento que se produce ese x% mayor. Puedes jugar con el timeframe para eso, poniendo timeframes menores puedes entrar antes.
No lo he probado en la plataforma así que puede haber algún error en el código pero creo que la idea es correcta
12/14/2017 at 8:02 PM #55706Acabo de darme cuenta de que si no recuerdo mal el indicador ROC (Rate of Change) es precisamente eso… el cambio en % de un número de velas… investígalo pero creo que con ese indicador sería aún más fácil de programar, algo así:
123IF ROC[Y](close)>x THENSELL 1 CONTRACT AT MARKETENDIF1 user thanked author for this post.
12/16/2017 at 12:29 PM #5580812/16/2017 at 1:05 PM #5581212/16/2017 at 1:48 PM #5581612/17/2017 at 11:12 AM #55858Galibier,
Mi código creo que está bien escrito pero sin ver tu código completo no puedo decirte nada más, no puedo saber que tienes en la línea 5, caracter 29 si no lo incluyes.
12/18/2017 at 11:00 AM #55941Hola buenos días,
El código es este: ( le he puesto los parametros de la y y de la x y me sale el error de “Error de sintaxis, linia 5, caracter 29, complete la sintaxi de esta linia”
// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada// Condiciones de entrada de posiciones cortas
IF abs(close-close[y])/close)>x/100 THEN
SELL 1 CONTRACT AT MARKET
ENDIF// Stops y objetivos
SET STOP %LOSS 10
SET TARGET %PROFIT 10Mucghas gracias
12/18/2017 at 12:18 PM #55956Buenos días galibier,
Falta un paréntesis en una de las líneas de código que te escribí, tendría que ser: IF abs((close-close[y])/close)>x/100 THEN
Pero al revisarlo me di cuenta de algo importante: según está escrita la condición vale para cuando el precio sube o baja ese x%, el “abs” significa valor absoluto, si sólo quieres que se active cuando el precio se incremente (eso creo) el código quedaría:
1234567891011// Definición de los parámetros del códigoDEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada// Condiciones de entrada de posiciones cortasIF ((close-close[Y])/close)>x/100 THENSELL 1 CONTRACT AT MARKETENDIF// Stops y objetivosSET STOP %LOSS 10SET TARGET %PROFIT 1012/18/2017 at 12:46 PM #55960Hola,
He puesto lo que me indicas y me sale este mensaje:
Los sistemas de trading deben contener al menos una instruccion de entrada al mercado (BUY o SELLSHORT)
Seguro que es una tontería pero lo he intentado de varias formas y no hay manera.
Gracias de nuevo
12/18/2017 at 1:49 PM #55968Gallbier,
Fallo mío, no estoy acostumbrado a escribir así código sin pasarlo por el sistema y lo escribí mal, para abrir cortos es SELLSHORT en vez de SELL, SELL es sólo para cerrar la posición después de comprar -BUY.
12/18/2017 at 2:00 PM #55972 -
AuthorPosts
Find exclusive trading pro-tools on