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

 
mario065:

Se ha escrito una función para abrirla:

'=' - l-value required 

Dio un error.

¿?

 if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
      {
if(SL = 0 && T_P = 0)
{
  ModifyPosition(_Symbol,NormalizeDouble((Open - 0.003),Digits()),NormalizeDouble((Open + 0.003),Digits()));
}

и

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
    {
    if(!PositionGetDouble(POSITION_SL))
      {
      PositionModify(_Symbol,NormalizeDouble((Open-STR),Digits()),NormalizeDouble((Open+TP),Digits()));
      }

¿no es lo mismo?

Supongo que en ambos casos el stoploss se establece con el inicio de una nueva Barra, no con el Tick.

No puedo enviar stoploss y takeprofit al abrir una orden - porque el servidor no lo permite. Primero hay que abrir la orden y luego modificarla.

 
Lester:

Dio un error.

¿?

и

¿no es lo mismo?

Supongo que en ambos casos el stoploss se pone con el inicio de una nueva Barra, no con el Tick.

No puedo enviar stoploss y takeprofit al abrir una orden - porque el servidor no lo permite. Tengo que abrir la orden primero y modificarla después.

if(SL == 0 && T_P == 0)

Lo siento, necesito dos signos de igualdad - no lo comprobé, lo escribí directamente.

 

OnTick

El evento NewTick se generasólo para los Asesores Expertos cuando se recibe un nuevo tick para un símbolo, al gráfico del cual el Asesor Experto está unido. Es inútil definir la función OnTick() en un indicador o script personalizado, porque el evento Tick no se genera para ellos.

El evento Tick se genera sólo para los Asesores Expertos, pero esto no significa que los Asesores Expertos deban tener la función OnTick(), porque no sólo se generan eventos Tick para los Asesores Expertos, sino también Timer, BookEvent y ChartEvent. Debe ser declarado con tipo void, no tiene parámetros:

voidOnTick

Esto es, por supuesto, de la documentación.

¿No es lo mismo?

 

Bueno, para ascender y ofertar, hay otras formas de hacerlo:

MqlTick  tick;
tick.ask-tick.bid
 
mario065:

Bueno, para ascender y ofertar, hay otras formas de hacerlo:

¡О! ¡Eso funciona! Gracias! )) ))
 
FinEngineer: ¿Hay algún desarrollador de MQL5 en este hilo? ¿Tal vez estoy haciendo una pregunta en la rama equivocada? Entonces, dígame cómo hacer esta pregunta a los desarrolladores. La pregunta está arriba, es elemental para un programador experimentado...

Y sabes que tu código funciona bien. Aquí hay una imagen de sus valores por defecto, en un par de cruces:

 
Yedelkin:

Y sabes que tu código funciona bien. Aquí tienes una imagen de tus valores por defecto, en paridad cruzada:

2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5' (96,37)
2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) No se han calculado todos los datos de RSI1_Handle (-1bars ). Error4806

Me salen estos errores en cuanto pego el indicador en un gráfico (también he cogido la cruz y este código). ¿Qué puede estar mal? Gracias de antemano.


 
FinEngineer 2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5'(96,37)

Y muéstrame la línea de código, a la que se refiere el terminal (yo mismo he borrado líneas vacías, por lo que no puedo distinguirlo).

FinEngineer : 2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) No se han calculado todos los datos de RSI1_Handle (-1bars ). Error4806

Tal vez la historia del corredor esté equivocada... Intente abrir una cuenta en MetaQuotes-Demo, abra los gráficos mensuales de los símbolos deseados (para bombear suficiente historia en la base del terminal), y luego ejecute el indicador en un símbolo arbitrario y el marco de tiempo deseado.

 
Yedelkin:

Y muéstrame la línea de código a la que se refiere el compilador (yo mismo he borrado las líneas en blanco, por lo que no puedo averiguarlo).

Tal vez la historia del corredor está torcida... Intente abrir una cuenta en MetaQuotes-Demo, abra los gráficos mensuales de los símbolos deseados (para bombear suficiente historia en la base del terminal), y luego ejecute el indicador en un símbolo arbitrario y el marco de tiempo deseado.

He cargado el historial para ambos símbolos, sólo queda un error 2012.12.22 00:56:44 Pair_delta_RSI (EURGBP,M1) No se calculan todos los datos de RSI1_Handle (-1bars ). Error4806

Este error no se produce en tiempo de compilación, sino cuando adjunto el indicador al gráfico o cuando cambio el marco temporal.

Al compilar, sale alguna advertencia, aquí está: no se ha definido ningún gráfico para el indicador, asignado a 1 por defecto 0 0

Hombre, me estoy devanando los sesos... ayuda por favor...



 
FinEngineer: Una especie de advertencia aparece en la compilación, aquí está: no se ha definido ningún gráfico para el indicador, asignado a 1 por defecto 0 0

¿Así que descargaste el programa a pesar de esta advertencia? Añade esta línea en la parte superior

#property indicator_plots   1
Razón de la queja: