ESTOCASTICO
Forums › ProRealTime foro Español › Soporte ProOrder › ESTOCASTICO
- This topic has 9 replies, 3 voices, and was last updated 4 years ago by lluis06.
-
-
02/12/2020 at 5:03 PM #119452
Buenas tardes,
adjunto un código con el estocástico en el que intento que compre cuabdo la linia K cruza por debajo la linea de 20 y que venda cuando cruza por encima de la linea 80. Con los cortos al revés. Veo que no me funciona. ¿Me podeis ayudar?
ESTOCASTICO1234567891011121314151617181920212223242526272829303132333435363738// Definición de los parámetros del códigoDEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada// Condiciones para entrada de posiciones largasindicator1 = Stochastic[14,3](close)c1 = (indicator1 CROSSES UNDER indicator1)IF c1 THENBUY 1 SHARES AT MARKETENDIF// Condiciones de salida de posiciones largasindicator2 = Stochastic[14,3](close)c2 = (indicator2 CROSSES OVER indicator2)IF c2 THENSELL AT MARKETENDIF// Condiciones de entrada de posiciones cortasindicator3 = Stochastic[14,3](close)c3 = (indicator3 CROSSES OVER indicator3)IF c3 THENSELLSHORT 1 SHARES AT MARKETENDIF// Condiciones de salida de posiciones cortasindicator4 = Stochastic[14,3](close)c4 = (indicator4 CROSSES UNDER indicator4)IF c4 THENEXITSHORT AT MARKETENDIF// Stops y targetsSET STOP pLOSS 10SET TARGET pPROFIT 20Muchas gracias y saludos!
02/12/2020 at 5:32 PM #119462Cualquier indicador no se puede cruzar. Debe cambiar las líneas 6, 14, 22 y 30. Un cruce requiere dos cosas, una cruza sobre o debajo de la otra.
02/12/2020 at 5:45 PM #11946602/12/2020 at 7:05 PM #119478Lluis,
adjunto te mando un código que hice basándome en la teoría de los trenes de Domenech, un monstruo del DAX. EN el código puedes ver como se codifica el estocastico. Es cuestión de verlo despacio. Tengo los comentarios en español, así que es más fácil de entender. Puedes extrapolar los valores o insertarles los tuyos directamente.
Espero que te sirva.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788Definition of Parameters /////////DEFPARAM Preloadbars = 2000DEFPARAM CumulateOrders = true//DEFPARAM FLATBEFORE = 090000//DEFPARAM FLATAFTER = 153000//Other parameters //////////////////positionsize=1maxcontracts = COUNTOFPOSITION <=10// STOPs & PROFITS //////////////////SET STOP pLOSS 45// Indicators ///////////////////////stoch76K= Stochastic[76,3]long50=stoch76K crosses over 50 // Entrada en largo normal al cruzar al alza 50long80=stoch76K crosses over 80 // Reentrada en largo en >80short50=stoch76K crosses under 50 // Entrada en corto normal al cruzar a la baja 50short20=stoch76K crosses under 20 // Reentrada en corto en <20// Estocastico lentoD76 = average[4](stoch76K) // Dstoch76K= Stochastic[76,3] // Kcrucelentoalza=stoch76K crosses over D76crucelentobaja=stoch76K crosses under D76// Estocastico rapidoD8 = average[3](stoch8K) // Dstoch8K= Stochastic[8,3] // Kcrucerapidoalza=stoch8K crosses over D8crucerapidobaja=stoch8K crosses under D8// LONG Orders ////////////////////////////////////////////////////////////IF NOT ONMARKET AND long50 THEN // Entrada en largo al cruzar al alza 50BUY positionsize CONTRACT AT MARKETENDIFIF NOT ONMARKET AND long80 THEN // Reentrada en largo en >80BUY positionsize CONTRACT AT MARKETENDIF// Entrada en LARGO cuando entre el 50% y 80%, K cruza over D (Estocastico 76) y STOCH8 está por debajo del 50%IF NOT ONMARKET AND stoch76K>50 AND stoch76K<80 AND crucelentoalza AND stoch8K<50 THENBUY positionsize CONTRACT AT MARKETENDIF// Añadir ordenes en LARGO por encima del 80% cuando el STOCH8 esta abajo y cruza %K over %DIF LONGONMARKET AND stoch76K>80 AND crucerapidoalza AND maxcontracts THENBUY positionsize CONTRACT AT MARKETENDIF// Exit LONGIF LONGONMARKET AND stoch76K crosses under 80 THEN // Cierre de todas las operaciones abiertas en largo al dejar la E. NORTESELL AT MARKETENDIFIF LONGONMARKET AND stoch76K crosses under 50 THEN // Cierre de protección de largo si cruza a la baja 50 + REVERSE a CORTOSELLSHORT positionsize CONTRACT AT MARKETENDIF// SHORT Orders //////////////////////////////////////////////////////////IF NOT ONMARKET AND short50 THEN // Entrada en corto al cruzar a la baja 50SELLSHORT positionsize CONTRACT AT MARKETENDIFIF NOT ONMARKET AND short20 THEN // Reentrada en corto en <20SELLSHORT positionsize CONTRACT AT MARKETENDIF// Entrada en CORTO cuando entre el 50% y 20%, K cruza under D (Estocastico 76) y STOCH8 está por encima del 50%IF NOT ONMARKET AND stoch76K<50 AND stoch76K>20 AND crucelentobaja AND stoch8K>50 THENSELLSHORT positionsize CONTRACT AT MARKETENDIF// Añadir ordenes SHORT por debajo del 20% cuando el STOCH8 esta arriba y cruza %K under %DIF SHORTONMARKET AND stoch76K<20 AND crucerapidobaja AND maxcontracts THENSELLSHORT positionsize CONTRACT AT MARKETENDIF// Exit SHORTIF SHORTONMARKET AND stoch76K crosses over 20 THEN // Cierre de todas las operaciones abiertas en corto al dejar la E.SUREXITSHORT AT MARKETENDIFIF SHORTONMARKET AND stoch76K crosses over 50 THEN // Cierre de protección de corto si cruza al alza 50 + REVERSE a LARGOBUY positionsize CONTRACT AT MARKETENDIFSaludos
2 users thanked author for this post.
02/13/2020 at 3:09 PM #11957102/13/2020 at 5:42 PM #11959302/13/2020 at 10:08 PM #119610Ah perdon,
al copiarlo se ve que se me ha faltado las dos rayitas (//) para descomentar esa parte del código.
En la linea 1 debes de poner // definición de parámetros como la linea 1 de tu primer código arriba.
123// Definition of ParametersDEFPARAM Preloadbars = 2000DEFPARAM CumulateOrders = trueSaludos
02/14/2020 at 11:50 AM #119627Hecho. Fantástico. Muchas gracias!!.
Una consulta si me permites: ¿este mismo código lo puedo usar para el RSI Laguere? Mi intención es decirle que compre al cruzar hacia arriba la linea de 0,2 y que venda al cruzar la linea de 0,8. Y al revés en posiciones cortas.
Un saludo y gracias
02/14/2020 at 7:01 PM #119644Si, lo puedes usar de modo similar con un RSI. Simplemente tienes que cambiar los indicadores de estocasticos por RSI, y los comandos de compra y venta.
Mira otros códigos en Library donde utilicen el RSI como indicador de entrada y empiezas a realizarle modificaciones de acuerdo a lo que tu quieras. Te equivocaras mucho al principio, nos ha pasado a todos. Cuando llegues a un punto muerto, pregunta.
Saludos
02/17/2020 at 3:18 PM #119773 -
AuthorPosts