ESTOCASTICO

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #119452 quote
    lluis06
    Participant
    Junior

    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?

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    // Condiciones para entrada de posiciones largas
    indicator1 = Stochastic[14,3](close)
    c1 = (indicator1 CROSSES UNDER indicator1)
    
    IF c1 THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator2 = Stochastic[14,3](close)
    c2 = (indicator2 CROSSES OVER indicator2)
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator3 = Stochastic[14,3](close)
    c3 = (indicator3 CROSSES OVER indicator3)
    
    IF c3 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator4 = Stochastic[14,3](close)
    c4 = (indicator4 CROSSES UNDER indicator4)
    
    IF c4 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y targets
    SET STOP pLOSS 10
    SET TARGET pPROFIT 20

    Muchas gracias y saludos!

    #119462 quote
    robertogozzi
    Moderator
    Master

    Cualquier 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.

    #119466 quote
    lluis06
    Participant
    Junior

    Buenas tardes,

    Entiendo lo que me dice. Pero no se modificar la instrucción a las lineas. Por ejemplo la linea 6 quiero que diga que cuando K cruze 20, compre. La 14 que diga cuando K cruze 80 que venda…..

    Muchas gracias

    #119478 quote
    Juan Salas
    Participant
    Master

    Lluis,

    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.

     Definition of Parameters /////////
    DEFPARAM Preloadbars = 2000
    DEFPARAM CumulateOrders = true
    //DEFPARAM FLATBEFORE = 090000
    //DEFPARAM FLATAFTER = 153000
    
    //Other parameters //////////////////
    positionsize=1
    maxcontracts = 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 50
    long80=stoch76K crosses over 80 // Reentrada en largo en >80
    short50=stoch76K crosses under 50 // Entrada en corto normal al cruzar a la baja 50
    short20=stoch76K crosses under 20 // Reentrada en corto en <20
    
    // Estocastico lento
    D76 = average[4](stoch76K) // D
    stoch76K= Stochastic[76,3] // K
    crucelentoalza=stoch76K crosses over D76
    crucelentobaja=stoch76K crosses under D76
    
    // Estocastico rapido
    D8 = average[3](stoch8K) // D
    stoch8K= Stochastic[8,3] // K
    crucerapidoalza=stoch8K crosses over D8
    crucerapidobaja=stoch8K crosses under D8
    
    // LONG Orders ////////////////////////////////////////////////////////////
    IF NOT ONMARKET AND long50 THEN // Entrada en largo al cruzar al alza 50
    BUY positionsize CONTRACT AT MARKET
    ENDIF
    
    IF NOT ONMARKET AND long80 THEN // Reentrada en largo en >80
    BUY positionsize CONTRACT AT MARKET
    ENDIF
    
    // 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 THEN
    BUY positionsize CONTRACT AT MARKET
    ENDIF
    
    // Añadir ordenes en LARGO por encima del 80% cuando el STOCH8 esta abajo y cruza %K over %D
    IF LONGONMARKET AND stoch76K>80 AND crucerapidoalza AND maxcontracts THEN
    BUY positionsize CONTRACT AT MARKET
    ENDIF
    
    // Exit LONG
    IF LONGONMARKET AND stoch76K crosses under 80 THEN // Cierre de todas las operaciones abiertas en largo al dejar la E. NORTE
    SELL AT MARKET
    ENDIF
    
    IF LONGONMARKET AND stoch76K crosses under 50 THEN // Cierre de protección de largo si cruza a la baja 50 + REVERSE a CORTO
    SELLSHORT positionsize CONTRACT AT MARKET
    ENDIF
    
    
    // SHORT Orders //////////////////////////////////////////////////////////
    IF NOT ONMARKET AND short50 THEN // Entrada en corto al cruzar a la baja 50
    SELLSHORT positionsize CONTRACT AT MARKET
    ENDIF
    
    IF NOT ONMARKET AND short20 THEN // Reentrada en corto en <20
    SELLSHORT positionsize CONTRACT AT MARKET
    ENDIF
    
    // 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 THEN
    SELLSHORT positionsize CONTRACT AT MARKET
    ENDIF
    
    // Añadir ordenes SHORT por debajo del 20% cuando el STOCH8 esta arriba y cruza %K under %D
    IF SHORTONMARKET AND stoch76K<20 AND crucerapidobaja AND maxcontracts THEN
    SELLSHORT positionsize CONTRACT AT MARKET
    ENDIF
    
    // Exit SHORT
    IF SHORTONMARKET AND stoch76K crosses over 20 THEN // Cierre de todas las operaciones abiertas en corto al dejar la E.SUR
    EXITSHORT AT MARKET
    ENDIF
    
    IF SHORTONMARKET AND stoch76K crosses over 50 THEN // Cierre de protección de corto si cruza al alza 50 + REVERSE a LARGO
    BUY positionsize CONTRACT AT MARKET
    ENDIF

    Saludos

    M.Nicolas 81 and TempusFugit thanked this post
    #119571 quote
    lluis06
    Participant
    Junior

    Muchas gracias Juan, me pongo a ello.

    Saludos

    #119593 quote
    lluis06
    Participant
    Junior

    Hola Juan,

    Me sale error en la linea 1 y en la 2 (desconozco el motivo). ¿Me puedes ayudar?.

    Muchas gracias y saludos

    #119610 quote
    Juan Salas
    Participant
    Master

    Ah 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.

    // Definition of Parameters 
    DEFPARAM Preloadbars = 2000
    DEFPARAM CumulateOrders = true

    Saludos

    #119627 quote
    lluis06
    Participant
    Junior

    Hecho. 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

    #119644 quote
    Juan Salas
    Participant
    Master

    Si, 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

    #119773 quote
    lluis06
    Participant
    Junior

    De acuedro.

    Un saludo y gracias!!

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

ESTOCASTICO


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
lluis06 @lluis06 Participant
Summary

This topic contains 9 replies,
has 3 voices, and was last updated by lluis06
6 years ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 02/12/2020
Status: Active
Attachments: No files
Logo Logo
Loading...