Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1112

 
paukas:
Total de pedidos()

Tal vez no lo entienda, pero es que he pensado que OrdersTotal()==0 es lo contrario al objetivo final de mi bucle.

Lo que quiero también se puede imaginar así:

Estado;

while(PedidosTotal()==0)

{

Comercio prohibido;

}

 
Mislaid:

No, 100 gráficos son suficientes, pero, tienes que escribir el indicador correctamente.

Pues sí, no se pueden abrir más de 100 gráficos en Metatrader.

¿Y cómo organizar la carga puntual del historial para todos los símbolos y plazos del indicador?
¿La llamada ArrayCopySeries lo hará?

Al inicio del indicador, la llamada ArrayCopySeries no bombea el historial en busca de nuevos símbolos.
¿Tal vez no se bombea porque el mercado está cerrado los fines de semana?
 

¡Buenos días! ¡Necesito ayuda! Cuando el EA está funcionando la orden se cierra con un stop e inmediatamente en un nuevo tick se produce la apertura de una nueva orden en la misma barra y en la misma dirección y, como consecuencia, se vuelve a activar el stop y esto puede continuar varias veces. El objetivo es abrir una nueva orden después de que haya sido cerrada por un stop y sólo después del siguiente cruce de la MA corta con la MA larga. Si es posible, por favor sugiera el código en mql4. Muchas gracias de antemano.

 
Sokolmih:

¡Buenos días! ¡Necesito ayuda! Cuando el EA está funcionando, la orden se cierra con un stop e inmediatamente se abre una nueva orden en la misma barra y en la misma dirección y, como consecuencia, el stop se activa de nuevo y esto puede continuar varias veces. El objetivo es abrir una nueva orden después de que haya sido cerrada por un stop y sólo después del siguiente cruce de la MA corta con la MA larga. Si es posible, por favor sugiera el código en mql4. Gracias.

Si no hay ningún cambio en la orden, no debería operar más, y si hay un nuevo cruce, no debería operar.

No voy a escribir el código desde cero - esto es para los autónomos.

 
RickD:
Pues sí, no se pueden abrir más de 100 gráficos en Metatrader.

¿Y cómo organizar la descarga puntual del historial para todos los símbolos y plazos del indicador?
¿La llamada ArrayCopySeries lo hará?

Al inicio del indicador, la llamada ArrayCopySeries no bombea el historial en busca de nuevos símbolos.
¿Tal vez no se bombea porque el mercado está cerrado los fines de semana?

Necesitas un guión para los fines de semana.

Trabajo entre semana. Por eso uso el indicador. Le doy una lista de instrumentos y me pide cotizaciones para el marco temporal, en el gráfico del que se encuentra. No me molesto con el manejo de errores. Después de una docena de minutos todo se calma.

Lo había olvidado por completo. Si necesita guardar el historial, el gráfico de un instrumento debe estar siempre abierto.

 
evillive:

La hora o el precio del cruce deben almacenarse en las variables globales del terminal o en un archivo y la situación actual en el gráfico debe compararse con el valor almacenado; si no hay cambios y la orden se ha cruzado - no vuelva a operar, si hay un nuevo cruce - opere.

No voy a escribir el código desde cero, debe hacerlo un autónomo.

Gracias

No estoy pidiendo todo el código, pero por favor da algunas pistas/indicios. Así es como se identifica el próximo cruce, ¿puedes ayudar?

 
Sokolmih:

Gracias

No estoy pidiendo todo el código, por supuesto, pero por favor, dame algunas indicaciones/sugerencias. Así es como se determina la próxima intersección, ¿puedes ayudar?

Sí, de la misma manera que los anteriores, tienes un EA, mira en el código.
 
evillive:
Sí exactamente igual que los anteriores, tienes el EA, mira en el código.
Tal vez no hice la pregunta correctamente, mira, identifiqué en el historial que la última orden cerró en el stop y ahora, según tu consejo, tengo que recordar el valor de corto y largo y luego en los próximos ticks tengo que compararlos con los valores actuales y si uno se vuelve más bajo o más alto que el otro, entonces abro una orden. ¿Lo he entendido bien?
 
Sokolmih:
Tal vez, no hice la pregunta correctamente. Mira, revisé el historial y descubrí que la última orden fue cerrada por un stop y ahora según tu consejo debo memorizar los valores del corto y el largo y luego en los próximos ticks debo compararlos con los valores actuales y si uno se vuelve más bajo o más alto que el otro, entonces abro una nueva orden. ¿Lo he entendido bien?

Puede recordar la hora de apertura de la barra donde se registra el cruce de dos MAs. El Asesor Experto ha memorizado el momento del cruce y ha abierto una orden. A continuación, se controla la presencia de una orden de mercado, ya que, según tengo entendido, sólo hay una orden en el mercado.

Una vez cerrada la orden, el Asesor Experto compara la hora de cierre de la orden con la hora de cruce. Si OrderCloseTime>CrossTime, se prohíbe la negociación y se supervisa un nuevo cruce. Si se encuentra un nuevo cruce durante este período, recuerde su tiempo. En este caso, OrderCloseTime<CrossTime se convierte automáticamente en una nueva orden y se abre una nueva orden.

 
evillive:

Puede recordar la hora de apertura de la barra donde se registra el cruce de dos MAs. El Asesor Experto ha memorizado el momento del cruce y ha abierto una orden. A continuación, se controla la presencia de una orden de mercado, ya que, según tengo entendido, sólo hay una orden en el mercado.

Una vez cerrada la orden, el Asesor Experto compara la hora de cierre de la orden con la hora de cruce. Si OrderCloseTime>CrossTime, se prohíbe la negociación y se supervisa un nuevo cruce. Si se encuentra un nuevo cruce durante este período, recuerde su tiempo. Esto se convierte automáticamente en OrderCloseTime<CrossTime y se abre una nueva orden.

Tengo las condiciones y ahora estoy tratando de averiguar cómo determinar el tiempo de apertura de la barra donde se fija el cruce de dos MAs. Gracias por el consejo.