MQL 'cosas' - Página 2
MQL 'cosas'

 

Publi

Página 2 de 352 PrimerPrimer 12
Resultados 11 al 20 de 20

Tema: MQL 'cosas'

  1. #11
    Creo que este es el código: Código insertado bool flag=false; for (int i=25;igt;0;i--) { if (iRSI(NULL, 60,14,PRICE_CLOSE,i)gt;50) flag=true; } Tenemos un indicador establecido en falso. Si la bandera es falsa al final del ciclo, todos los RSI han estado por debajo de 50. Si la bandera es verdadera después de pasar por ese ciclo, uno o más de los RSI fueron gt; 50. Espero que ayude,

  2.                         
    Publicidad
  3. #12
    OK, tengo mi curso MQL4 del gurú del codificador abierto en el capítulo Bucles y decisiones, esto puede llevar un poco de tiempo, pero haré todo lo posible para responder a mis propios ?'s... gracias por la ayuda de nuevo... .

  4. #13
    Justo en la parte superior de mi cabeza, podría usar un ciclo para regresar y obtener el rsi para cada uno de los últimos x períodos de tiempo. Si el RSI para cualquiera de los períodos de tiempo dados es superior a 50, establezca un var y finalice el ciclo. De lo contrario, devuelve verdadero.
    Cita Iniciado por ;
    okaaaaaay ahora lo siguiente: iRSI(NULL, 60,14,PRICE_CLOSE,25); Esto devuelve el valor RSI(14) para la barra de precios hace 25 barras. Si quiero asegurarme de que el valor del RSI ha estado por debajo de 50 durante las últimas 25 barras, ¿cómo se haría/codificaría eso? dado que: RSTRhistory= iRSI(NULL, 60,14,PRICE_CLOSE,0); si RSTRhistory lt; 50 .... para los últimos 25 compases { bla, bla, bla }
    Cita Iniciado por ;
    okaaaaaay ahora lo siguiente: iRSI(NULL, 60,14,PRICE_CLOSE,25); Esto devuelve el valor RSI(14) para la barra de precios hace 25 barras. Si quiero asegurarme de que el valor del RSI ha estado por debajo de 50 durante las últimas 25 barras, ¿cómo se haría/codificaría eso? dado que: RSTRhistory= iRSI(NULL, 60,14,PRICE_CLOSE,0); si RSTRhistory lt; 50 .... para los últimos 25 compases { bla, bla, bla }

  5. #14
    okaaaaaay ahora lo siguiente: iRSI(NULL, 60,14,PRICE_CLOSE,25); Esto devuelve el valor RSI(14) para la barra de precios hace 25 barras. Si quiero asegurarme de que el valor del RSI ha estado por debajo de 50 durante las últimas 25 barras, ¿cómo se haría/codificaría eso? dado que: RSTRhistory= iRSI(NULL, 60,14,PRICE_CLOSE,0); si RSTRhistory lt; 50 .... para los últimos 25 compases { bla, bla, bla }

  6. #15
    Gracias por la ayuda... Roll Tide, vaya, no tenemos entrenador ahora.

  7. #16
    Este es el código que uso para hacer lo único al cerrar. Coloque esta función entre init y deinit (¡No en ellos!) Código insertado bool NewBar() { static datetime lastbar = 0; barra de curva de fecha y hora = Hora # 91; 0 # 93;; if(lastbar!=curbar) { lastbar=curbar; volver (verdadero); } más { retorno (falso); } } Luego, en su start() simplemente ponga: Inserted Code if (NewBar() == true) y luego enumere sus condiciones y señales de compra/venta. Esto solo activará cosas cuando sea una barra nueva. Espero que ayude,

  8. #17
    OK: Entonces lo siguiente: SEma = iMA(NULL, 15, ShortEma, 0, MODE_EMA, PRICE_CLOSE, 0); LEma = iMA(NULL, 15, LongEma, 0, MODE_EMA, PRICE_CLOSE, 0); espera el cierre de la barra de 60 minutos para asegurarse de que la MA más rápida (SEma) haya cruzado la MA más lenta (LEma)? dado que: extern int ShortEma = 5; externo interno LongEma = 12;/ -------------------------------------------------------- ------------------- /| función de inicialización experta |/ -------------------------------------------------------- ------------------- int init() {/---- retorno(0); }/ ---------------------------------------------- -------------------- /| función de desinicialización experta |/ -------------------------------------------------------- ------------------- int deinit() {/---- return(0); }/ ---------------------------------------------- -------------------- /| |/ -------------------------------------------------------- ------------------- int Crossed (doble línea1, doble línea2) { static int last_direction = 0; static int dirección_actual = 0; estático bool primera_vez = verdadero; if(primera_vez == verdadero) { primera_vez = falso; retorno (0); }/---- if(linea1 gt; linea2) dirección_actual = 1;/arriba if(line1 lt; line2) dirección_actual = 2;/abajo/---- if(current_direction != last_direction)/modificado { last_direction = current_direction; return(última_dirección); } más { retorno (0);/no cambiado } }/ ----------------------------------------- ------------------------- /| función de inicio experto |/ -------------------------------------------------------- ------------------- int start() { int cnt, ticket, total; doble SEma, LEma;/---- if(Bars lt; 100) { Print(bars menos de 100); retorno(0); }/---- if(TakeProfit lt; 10) { Print(TakeProfit menos de 10); retorno(0);/comprobar TakeProfit }/---- SEma = iMA(NULL, 60, ShortEma, 0, MODE_EMA, PRICE_CLOSE, 0); LEma = iMA(NULL, 60, LongEma, 0, MODE_EMA, PRICE_CLOSE, 0);/---- static int isCrossed = 0; isCrossed = Crossed (LEma, SEma);/---- total = OrdersTotal(); if(total lt; 1) { if ((isCrossed == 1) { ingrese órdenes aquí........... bla, bla, bla ¿Cómo codificaría esto para asegurarme de que los MA se hayan cruzado al final? del cierre del bar actual y no solo durante el bar? Oye, mira, post #300, ¿no me dan una camiseta o algo? Oh, espera, creo que tengo que contribuir con algo de mérito primero, no importa.

  9. #18

    Cita Iniciado por ;
    ¿Debo (suponemos) que las MA se cruzaron DURANTE esa barra de una hora y que la operación se abrió DURANTE esa barra de una hora y no al final de la barra?
    - depende de cómo codifique su EA. Si codifica su EA para que solo verifique cruces al cierre de una barra o en un momento específico, entonces las operaciones solo deberían ocurrir en ese momento y no durante la barra. Strategy Tester respetará cualquier lógica que tenga en su código. Lo mismo es cierto para su pregunta sobre la salida de operaciones.

  10. #19
    Gracias stockwet... No pensé en eso. Un cruce durante o después (al cierre) son dos cosas totalmente diferentes, especialmente en un marco de tiempo de 60 minutos...

  11. #20

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.