Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 225

 
Hola, tengo una situación así y quiero arreglarlo sin usar muletas. El Asesor Experto abre una posición y tiene un Stop y Take. Hay una situación cuando durante la prueba en una vela (es decir, cuando se cumple la condición de apertura de la posición), justo después de que se cierre la primera orden, se abren las órdenes segunda, tercera, etc. Esto se debe al hecho de que las condiciones para abrir una posición se cumplen en esa misma vela y una orden de stop o take se dispara un tiempo después (las condiciones de apertura se siguen cumpliendo, la vela no se cierra).

Por favor, aconseje cómo hacer una entrada (la condición para abrir una posición) y si la misma vela desencadenará una toma o parada para no abrir una nueva posición (la condición de apertura se cumple). Gracias.

 
Profitpamm:
Hola, tengo una situación así y quiero arreglarlo sin usar muletas. El Asesor Experto abre una posición y tiene un Stop y Take. Hay una situación cuando durante la prueba en una vela (es decir, cuando se cumple la condición de apertura de la posición), justo después de que se cierre la primera orden, se abren las órdenes segunda, tercera, etc. Esto se debe al hecho de que en esta vela se cumplen las condiciones para la apertura de una posición y después de algún tiempo, se dispara una orden de stop o take (la condición de apertura se sigue cumpliendo, la vela no se cierra).
Por favor, aconseje cómo hacer una entrada (la condición para abrir una posición) y si la misma vela activará una toma o una parada para no abrir una nueva posición (la condición para la apertura se cumple). Gracias.

Compruebe por fecha si hay una posición abierta y si la posición fue abierta y cerrada en esta vela...
 
Profitpamm:
Hola, tengo una situación así y quiero arreglarlo sin usar muletas. El Asesor Experto abre una posición y tiene un Stop y Take. Hay una situación cuando durante la prueba en una vela (es decir, cuando se cumple la condición de apertura de la posición), justo después de que se cierre la primera orden, se abren las órdenes segunda, tercera, etc. Esto se debe al hecho de que las condiciones para abrir una posición se cumplen en esa misma vela y una orden de stop o take se dispara un tiempo después (las condiciones de apertura se siguen cumpliendo, la vela no se cierra).

Por favor, aconsejen cómo hacer una entrada (condición para abrir una posición) y si la misma vela activará una toma o un stop para no abrir una nueva posición (se cumple la condición de apertura). Gracias.


Aquí tienes un ejemplo de cómo puedes usarlo...

datetime zap_tim;

//=======================
void start()
{
if(zap_tim!=Time[0])
 {
  OrderSend(............);
  zap_tim=Time[0];
 }
}
 
-Aleks-:

Comprueba por fecha si hay una posición abierta y si la posición fue abierta y cerrada en esa vela...
¡Gracias Aleks!
 
Valerius:


Este es un ejemplo de cómo se puede utilizar...

Valerius, ¡muchas gracias por la aclaración!
 

El código estándar de la referencia no funciona

https://docs.mql4.com/ru/basis/types/casting

Traer datos del tipo de estructura simple

333

¿cómo se trata?

Se utiliza para convertir valores de diferentes tipos básicos. Por ejemplo, hay un array uchar arr[].Necesitamos escribir el valor de double en una posición determinada.

void GetBytes(double x,uchar &arr[],int pos)

O viceversa.

double GetDouble(uchar &arr[],int pos)

Quizás alguien pueda sugerir una solución más sencilla.

Приведение типов - Типы данных - Основы языка - Справочник MQL4
Приведение типов - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
Приведение типов - Типы данных - Основы языка - Справочник MQL4
 

dobleiMA(
símbolo de cadena,// nombre del símbolo
inttimeframe,// marco temporal
intma_period,// período
intma_shift,// Desplazamiento de la media
intma_method,// método de promediación
intapplied_price,//tipo de precio
intdesplazamiento // desplazamiento
);

¿Cómo se pone un par en lugar deun símbolo?
 
Rustam Bikbulatov:

dobleiMA(
stringsymbol,// nombre del símbolo
inttimeframe,// marco temporal
intma_period,//periodo
intma_shift,// desplazamiento de la media
intma_method,// método de promediación
intprecio_aplicado,//tipo de precio
int cambio//desplazamiento
);

¿Cómo se pone un par en lugar deun símbolo?

"EURUSD"
 
Alekseu Fedotov:

"EURUSD"

Está entre comillas. ¡Gracias!
 
Rustam Bikbulatov:

dobleiMA(
stringsymbol,// nombre del símbolo
inttimeframe,// marco temporal
intma_period,//periodo
intma_shift,// desplazamiento de la media
intma_method,// método de promediación
intprecio_aplicado,//tipo de precio
int cambio//desplazamiento
);

¿Cómo se pone un par en lugar deun símbolo?
double  iMA("EURCAD", Period(), ...);
Razón de la queja: