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

 
Maxim Kuznetsov:

encontrar el comercio anterior en la historia y ver :-) si se cerró en stoploss

- Añadido [sl] o (sl) en el comentario - por lo que entiendo depende de la configuración del servidor. Por regla general, el primero.

- precio de cierre cerca del stoploss

deben ser filtrados por tiempo

 
Roman Sharanov:

Son ellos los que necesitan ser filtrados por el tiempo

??

¿su asesor tiene una memoria profunda y no recuerda el pedido que se abrió?

 
Maxim Kuznetsov:

??

¿su asesor tiene una memoria profunda y no recuerda el pedido que abrió?

No se trata de "recordar", se trata de reiniciar correctamente sin perder datos. Para ello no hace falta recordar sino encontrar. Para un probador, por supuesto, recordar también funcionará.
 

Hola, me estoy volviendo muy tonto.

¿Cómo crear un array asociativo en mql4? Necesito almacenar una clave - timecurrent y un valor - tick price. Y luego trabajar con estas parejas.

 
Roman Sharanov:

Otra pregunta, ¿por qué MT5 se niega a importar ticks?

Tengo un archivo CSV con comillas, ¿qué necesita?

Necesita que el separador de campos sea correcto y la fecha, la hora en campos separados y en el formato correcto...

y tal vez las líneas deberían estar separadas por \r\n (no recuerdo si sólo toma \n o depende de la codificación)

 
Artyom Trishkin:
No se trata de "recordar", sino de reiniciar correctamente sin perder datos. Para ello, no se trata de recordar, sino de encontrar. Para un probador, por supuesto, recordar será suficiente.

Está una vez en el primer tic - recorre el historial disponible y elige el más reciente de los tuyos :-)

(El TS no tiene más de 1 orden abierta en el mercado, y no entran en el historial por lotes)

A continuación sólo recuerda...

 

¡Hola profesionales!
Necesito ayuda para escribir parte del código del EA.
Quiero implementar en mi EA StopLoss y TakeProfit dinámicos en función de los datos de entrada.
Tomo los datos HIGH y LOW de un periodo (por ejemplo, las 24 barras anteriores).

Para ello he utilizado las siguientes líneas:

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)]; // obtener índices de extremos para el periodo
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)];// obtener índices de extremos para el período

a continuación, determinar el valor del precio en estos extremos

Ind_H =iHigh(Symbol(),0,Ind_HIGH); // obtener el valor del precio HIGH
Ind_L_Low(Symbol(),0,Ind_LOW);// obtener el valor del precio BAJO

...y obtener el valor del precio en 1 barra:

Ind_C =iClose(Symbol(),0,1); // obtener el valor del precio de cierre

Comparando Ind_C e Ind_H : Ind_L quería obtener la diferencia de precios y traducirla en puntos, porque parece que necesitamos valores enteros para SL y TP.
Pero por alguna razón no funciona. Quiero obtener 290 y 193 (como en la imagen)
Por favor, ayúdame a escribir esta parte del código...
Gracias de antemano.


 
concilere:

¡Hola profesionales!
Necesito ayuda para escribir parte del código del EA.
Quiero implementar en mi EA StopLoss y TakeProfit dinámicos en función de los datos de entrada.
Tomo los datos HIGH y LOW de un periodo (por ejemplo, las 24 barras anteriores).

Para ello he utilizado las siguientes líneas:

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)]; // obtener índices de extremos para el periodo
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)];// obtener índices de extremos para el período

a continuación, determinar el valor del precio en estos extremos

Ind_H =iHigh(Symbol(),0,Ind_HIGH); // obtener el valor del precio HIGH
Ind_L_Low(Symbol(),0,Ind_LOW);// obtener el valor del precio BAJO

...y obtener el valor del precio en 1 barra:

Ind_C =iClose(Symbol(),0,1); // obtener el valor del precio de cierre

Comparando Ind_C e Ind_H : Ind_L quería obtener la diferencia de precios y traducirla en puntos, porque parece que necesitamos números enteros para el SL y el TP.
Pero por alguna razón no funciona. Necesito 290 y 193 (como en la imagen)
Por favor, ayúdame a escribir esta parte del código...
Gracias de antemano.


Aquí es donde se encuentra el índice de barra máxima/mínima

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1); // obtener índices de extremos para el periodo
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1);// obtener índices de extremos para el período

 
Vitaly Muzichenko:

Aquí es donde se encuentra el índice de barras máximas y mínimas

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1); // obtener índices de extremos para el periodo
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1); // obtener índices de extremos para el periodo

Sí, ¡hurra! ¡Funcionó!
Vitaly, ¡gracias!

Al principio, el terminal empezó a insultar. Tuve que cambiar el método de cálculo,
fue así:

StopLoss=(Ind_C1-Ind_L24); //Calcular SL abierto Comprar
TakeProfit=(Ind_C1-Ind_L24); //calcular TP abierto Comprar

y ahora es así:

StopLoss=(Ind_C1-Ind_L24)/Punto; /Calcular SL abierto Comprar
TakeProfit=(Ind_C1-Ind_L24)/Punto; /Calcular TP abierto Comprar

y todo funcionó...))



 

Tengo el indicador rsx-nrp-coronforex.mq4, ¿puede decirme qué parámetros utilizar para obtener los datos de la curva?

double RSX_M = iCustom(Symbol(),PERIOD_CURRENT,"\rsx-nrp-coronforex",??? ¿Qué debo escribir aquí?)

Archivos adjuntos:
Razón de la queja: