[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 168

 
DhP:

¿Cómo puedo hacer este ciclo más "fácil"? Se necesita mucho tiempo para contar.
 if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i)) if(LOWprice> bid) CountH++ else CountL++; 
 
Dígame, ¿por qué necesita barras "más de un año"? ¿Por qué necesita barras "a lo largo de un año" si en realidad sólo necesita datos "sobre una zona determinada"? Busque una herramienta que defina el "tamaño de la parcela" y luego utilice el número de barras igual al "tamaño de la parcela".
 
splxgf:
Sí, es más "vistoso" y correcto.
 
DDFedor:
Dígame, ¿por qué necesita barras "más de un año"? ¿Por qué necesita barras "a lo largo de un año" si en realidad sólo necesita datos "sobre una zona determinada"? Busque una herramienta que defina el "tamaño de la parcela" y luego utilice el número de barras igual al "tamaño de la parcela".
No lo entiendo...
 
No sé si la belleza y la corrección, pero se deshace de la doble llamada iHigh,iLow... Me da pereza pensar en ello ahora, si se entiende la lógica del código, quizá haya otras opciones.
 
splxgf:
No sé si la belleza y la corrección, pero se deshace de la doble llamada iHigh,iLow... Me da pereza pensar en ello ahora, si entiendes la lógica del código, quizás haya otras opciones.


aquí:

          if(LOWprice> bid)if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i))CountH++;  
          if(LOWprice<=bid)if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i))CountL++;

no hay doble llamada iHigh,iLow - hay una comprobación extra if(LOWprice<=bid) - deberíamos usar else

 
splxgf:
No sé si la belleza y la corrección, pero ayuda a evitar el doble iHigh,iLow... Me da pereza pensar en ello ahora, pero si entiendo la lógica del código, quizá haya otras opciones.

Para la cabeza fresca de mañana:

Un doble bucle ("while" y "for") selecciona los precios por encima y por debajo de la Oferta y cuenta cuántas veces el precio "penetra" en las barras horarias a lo largo del año.

El precio que más barras ha penetrado es el nivel de resistencia más fuerte.

Por lo tanto, tenemos 2 niveles fuertes en el rango de los 600 puntos. Por encima y por debajo de la oferta.

 

De lo contrario, crearía un array grande (60 kilobytes no es demasiado y se puede sacrificar en aras de la velocidad) de niveles de precios y lo rellenaría con la cantidad de cruces por las barras horarias. Se llamaría una vez en init y con la aparición de una nueva barra horaria se incrementarían los niveles necesarios, y en todos los demás casos se recogería el array para el precio necesario con un simple ciclo.

 
abolk:


si programáticamente - al abrir una orden - hay un magik y un comentario - se puede codificar la información sobre la condición específica en la que se abre la orden en el magik o el comentario

en general, el stop no se activa por una condición, sino cuando el precio alcanza un nivel de precio - la orden puede cerrarse por una condición

¿Y cómo se debe volver al comentario ya escrito después de n compases de haberlo escrito?


En general, ¿cómo puedo obtener información sobre el último pedido cerrado?

 
Xaoss1990:

¿Cómo puedo volver a un comentario ya escrito, n barras después de haberlo escrito?

En general, ¿cómo puedo obtener información sobre el último pedido cerrado?


el pedido se selecciona https://docs.mql4.com/ru/trading/OrderSelect - ya sea mediante un bucle o seleccionando por ticket

a continuación, mediante la función Order*() se busca el parámetro de orden correspondiente