[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 133

 
borilunad:

Muchas gracias por la aclaración.

Lo único que me preocupa es que el probador simule barras de un minuto para realizar modificaciones en la apertura de cada barra de un minuto.

Intentaré cambiar Open[0] por iOpen(NULL,1,0) y añadir una función para comprobar la apertura de la barra de un minuto.

Pasaron unos minutos, durante los cuales retoqué el código y lo probé con el probador en M5 y me aseguré de que en este caso el probador no abre barras de 1 minuto, aunque está prescrito, y lo modifica sólo cada 5 minutos, cosa que me temía. En el modo de todos los ticks es un poco mejor, porque se modifica más a menudo. Pero en M1 sólo en la apertura de la barra funciona igual, tanto con Open[0] como con iOpen(NULL,1,0), ¡por lo que sigo agradecido!

Ahora usaré siempre iOpen verde, ya que veo que puedo prescindir de Open rojo. El beneficio verde es más agradable que la pérdida roja. (:))

mira cómo se escriben los EAs en bucle, este es el estándar para los marcos de tiempo multidivisa/múltiples, ya que elimina la necesidad de esperar un tick en el gráfico donde el EA está rondando, y le permite procesar todos los gráficos necesarios en tiempo real.
 
granit77:
Si el valor del indicador en la primera barra es mayor que el valor de la línea horizontal, Y, el valor del indicador en la segunda barra es menor que el valor de la línea horizontal, entonces la línea del indicador ha cruzado la línea horizontal de abajo hacia arriba.
La descripción de la línea horizontal es un número constante, es decir, su valor en la dimensión de la ventana del indicador. Pongamos el cursor del ratón encima y veamos este valor.

Gracias. Ahora, me gustaría estar un poco más asentado.

Digamos que este nivel se ha superado. El indicador detecta las condiciones adecuadas del mercado.

Pero el precio puede volver a entrar en este nivel.

No necesito redefinir el estado previamente determinado.

Es importante para mí superar este mismo nivel. Lo que el precio se mueva de un lado a otro no me interesa, porque lo importante es el momento de cruce y fijación del nivel predefinido.

Lo que has escrito es la situación del momento. Cómo hacer que el nuevo estado determinado siga siendo el mismo cuando vuelva el precio.

Nuestro indicador tiene las flechas ARROWDN y ARROWUP en el gráfico. Tal vez deban aplicarse de alguna manera.

Por ejemplo, si el valor de la barra actual es mayor que algún índice Y

Aquí para poner una condición de que el precio NO ha roto la línea hacia arriba ( O ARROWUP no se inicia )..., Y el precio NO ha roto la línea hacia abajo ( O ARROWDN no se inicia ).

entonces.... está determinado por el estado de fulano.

El indicador tiene otra expresión

( ObjectFind(NameInd+timestartpr+"CurExt_ARROWDN")!=-1) - este tipo de información sobre el desglose de la línea "CurExt_ARROWDN" hacia abajo.

¿Cómo puedo indicar con la misma expresión que no hay avería?

 
russcand:

Gracias. Y ahora me gustaría decidir algo más.

Digamos que este nivel se ha superado. El indicador define la condición de mercado requerida.

Pero el precio podría volver a entrar en este nivel.

Y necesito que no se redefina el estado previamente definido.

Como lo que es importante para mí es el avance de este nivel. Lo que el precio va y viene no me interesa, ya que hay un momento de cruce y fijación de la situación ya definida.

Lo que has escrito es la situación del momento. ¿Cómo debo hacer que la condición de nuevo determinado permanezca sin cambios cuando el precio vuelve?

También hay flechas ARROWDN y ARROWUP en el indicador (en el gráfico). Tal vez deban aplicarse de alguna manera.

Por ejemplo, si el valor de la barra actual es mayor que algún índice "AND ".

Aquí, ponga una condición de que el precio NO ha roto la línea hacia arriba ( O ARROWUP no se inicia )..., Y el precio NO ha roto la línea hacia abajo ( O ARROWDN no se inicia ).

entonces.... está determinada por un estado tal y tal.

Hay otra expresión en el indicador

( ObjectFind(NameInd+timestartpr+"CurExt_ARROWDN")!=-1) - esto dice que la línea "CurExt_ARROWDN" se ha roto.

¿Cómo puedo especificar la misma expresión, pero que no haya ningún avance?



static bool BreakDown=false;

...

ya que se romperá:

BreakDown=true;

 
tara:


static bool BreakDown=false;

...

mientras se ejecuta:

BreakDown=true;

Sanx, ¿puedes dibujar la fórmula en sí? A partir de este momento:

static bool BreakDown=false; // como intentará : BreakDown=true;
static bool BreakUp=false;

if ( iTime(Symbol(),0,0) >= CurExt // inicio del segmento

&& (
ObjectFind(NameInd+timestartpr+"CurExt_ARROWUP")!=-1 // romper
BreakUp=true;
||

ObjectFind(NameInd+timestartpr+"CurExt_ARROWDN")!=-1 // se descompone

BreakDown=true;

)

)

Dónde y cómo colocar BreakUp=true; y BreakDown=true; o mejor escribir correctamente la fórmula, pliz.... Por lo demás, está claro que el bilibrio se dibuja en la parte superior...

 
Por favor, dígame el método de cálculo. Tomamos por ejemplo las últimas 10 operaciones y calculamos su rentabilidad. Cómo calcular teniendo un historial de todas las operaciones (mucho más de 10) que la rentabilidad de estas 10 operaciones fue aleatoria/no aleatoria.
 
russcand:

Sanx, ¿puedo dibujar la fórmula misma? A partir de este momento:

static bool BreakDown=false; // breakDown=true;
static bool BreakUp=false;

if ( iTime(Symbol(),0,0) >= CurExt // inicio del segmento

&& (
ObjectFind(NameInd+timestartpr+"CurExt_ARROWUP")!=-1 // break upwards
BreakUp=true;
||

ObjectFind(NameInd+timestartpr+"CurExt_ARROWDN")!=-1 // descomponer

BreakDown=true;

)

)

Dónde y cómo colocar BreakUp=true; y BreakDown=true; o mejor aún, escribir la fórmula correctamente, pliz.... Porque está claro que la bilibertad se dibuja en la parte superior...


Lo siento, pruebe primero sus propias condiciones :) Por cierto, la avería es una avería. Ni hacia arriba ni hacia abajo, sólo un desglose.
 
Skydiver:
Por favor, dígame el método de cálculo. Tomamos por ejemplo las últimas 10 operaciones y calculamos su rentabilidad. Cómo calcular teniendo un historial de todas las operaciones (mucho más de 10) que la rentabilidad de estas 10 operaciones fue aleatoria/no aleatoria.

Disculpe, pero ¿por qué?
 
tara:

Lo siento, ¿por qué?

Sólo estoy tratando de poner al día este https://www.mql5.com/ru/forum/139348. Pero no me des una patada con pensamientos sin sentido y demás. Creo que "la verdad está ahí fuera" y puede que parte de ella esté en este hilo. Así que estoy investigando.
 
Pasado mañana
 
tara:
Pasado mañana

Me temo que no lo veré en el flujo de mensajes.
Razón de la queja: