Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 771

 
Aybulat:
¿Es posible eliminar todas las órdenes y cerrar todas las posiciones en el mercado de apuestas utilizando las teclas de acceso rápido? ¿O tal vez hay un Asesor Experto para esto?
Para ello, es necesario encontrar un panel de operaciones que soporte esta funcionalidad, o escribir su propio script o Asesor Experto para eliminar todas las órdenes al pulsar una determinada combinación de teclas.
 

Tengo una situación de este tipo - necesito obtener el valor del indicador en la apertura de la barra - EA negocia cuando aparece un nuevo tick, pero el problema es que ese indicador puede tener tiempo para cambiar su valor.

Por lo tanto, quiero captar el momento entre el final del periodo de tiempo y la aparición de un nuevo tick - ¿cómo implementar esto de la manera que consuma menos recursos?

He oído que es posible utilizar un evento en un vaso - son garrapatas más frecuentes, pero ¿cómo hacerlo?

 
Aleksey Vyazmikin:

Tengo una situación de este tipo - necesito obtener el valor del indicador en la apertura de la barra - EA negocia cuando aparece un nuevo tick, pero el problema es que ese indicador puede tener tiempo para cambiar su valor.

Por lo tanto, quiero captar el momento entre el final del periodo de tiempo y la aparición de un nuevo tick - ¿cómo implementar esto de la manera que consuma menos recursos?

He oído que es posible utilizar un evento en el mercado - son garrapatas más frecuentes, pero ¿cómo hacerlo?

Apertura de una nueva barra == aparición de un nuevo tick. Si no aparece ningún tick, no aparecerá ninguna barra nueva. Un tick vendrá, una nueva barra se abrirá, y el tiempo que sea dependerá del tiempo que no haya habido un tick. Si en una barra no hubo ningún tick durante más de segundos, esta barra se saltará y la siguiente barra se abrirá a tiempo después de la perdida.

En cualquier caso, capta la aparición de una nueva barra y lee el valor del indicador.

 
Artyom Trishkin:

La apertura de una nueva barra == la aparición de un nuevo tick. Si no hay ninguna marca, no aparecerá ninguna barra nueva. Si llega un tic, se abrirá una nueva barra, y el tiempo que tarde depende de cuánto tiempo haya pasado sin tic. Si un tick no ha estado presente durante más de segundos en una barra, entonces esta barra se saltará y la siguiente barra se abrirá después de la omitida.

En cualquier caso, se capta la aparición de una nueva barra y se lee el valor del indicador.


Actualmente es así, pero la garrapata puede ser "fuerte" y golpear el valor del indicador a algunos puntos, es por eso que pienso, cómo deshacerse de él.

 
Aleksey Vyazmikin:

Ahora lo es, pero un tick puede ser "fuerte" y derribar el valor del indicador en unos cuantos puntos, así que estoy pensando en cómo deshacerse de él.

Toma el valor del indicador de la primera barra, no de la barra actual cero.

 
Artyom Trishkin:

Toma el valor del indicador de la primera barra, no de la barra actual cero.


Cualquiera puede hacerlo :)

Aunque eso podría ser una solución, gracias, lo pensaré de nuevo.

 

¿Es posible llamar aMqlTick y obtener el ask y el bid, en la clase incluida?

Si no, qué se puede aplicar. Estoy haciendo una clase conmutable donde se procesarán todas las órdenes y posiciones.

 
forexman77:

¿Es posible llamar aMqlTick y obtener el ask y el bid, en la clase incluida?

Si no, qué se puede aplicar. Estoy haciendo una clase conmutable donde se procesarán todas las órdenes y posiciones.

¿Cuál es la pregunta?

 
Alexey Viktorov:

¿Cuál es el problema?


Tratando de prescribir:

MqlTradeRequest   mrequest;   
MqlTradeResult    mresult;         
double ask=latest_price.ask;

el error sale.

'=' - illegal assignment use    trade.mqh       39      14
 
forexman77:

Tratando de prescribir:

el error sale.

Colocado dentro de la función, el error desapareció.
double ask=latest_price.ask;
Razón de la queja: