Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 419
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Dos años - en probador :) Bueno, ha estado funcionando durante un año en la demo... Un montón de errores allí, cuando tuve que conectarlo debido a las clases externas... Y ahora hay un error de este tipo, que no sé cómo arreglar - sólo aumentaré el tamaño del array en un dígito, por ahora. ¿Por qué no hay un tamaño automático, como para un buffer gráfico, o lo hay?
Pruébalo así.
Inicializar la matriz OrderBU[1].
Primero aumenta el tamaño del array ( ArrayResize(OrderBU,NorderBU+1) ), luego OrderBU[NorderBU]=OrderTicket();NorderBU++;
Pruébalo así.
Inicializar la matriz OrderBU[1].
Primero aumenta el tamaño del array ( ArrayResize(OrderBU,NorderBU+1) ), luego OrderBU[NorderBU]=OrderTicket();NorderBU++;
¿Podría aconsejarnos sobre este punto?
Por ejemplo, tenemos un indicador Williams Percent Range (%R) en un gráfico y arrastramos el indicador On Balance Volume (OBV) a su ventana desde el navegador.
https://charts.mql5.com/8/675/xauusd-h4-metaquotes-software-corp.png
El %R funciona en el rango 0 -100%, el OBV no tiene una vinculación específica.
Cuando el OBV está en la ventana de %R, vemos visualmente que va más allá de -20 o -80%.
¿Cómo podemos conseguir que el OBV esté por encima del -20% o por debajo del -80% en nuestro EA?
¿Cómo se vincula el OBV en el indicador personalizado al rango de 0 -100%? ¿Normalizarlo a él (rango)? ¿Cómo se puede hacer esto?
Entiendo que no es necesario normalizar OBV a %R (la imagen será diferente).
Tal vez sea elemental, pero no me lo he encontrado.
si (p1>p2&&p1>p3) , si (p2>p1&&p2>p3) , si (p3>p2&&p3>p1)
Yo lo hago así,
Necesito un parámetro de lote flotante, el primer lote lo fija el usuario, luego este parámetro no se maneja más, y el EA funciona solo y en caso de pérdida se eleva por el lote máximo especificado en el programa (o una variable externa), en caso de ganancia se reduce por la cantidad especificada .
Si escribo el parámetro en el "Init ", el EA dejará de acceder al lote de variables externas?
¿o cómo lo hago?
esta es una expresión aproximada .
si (p1>p2&&p1>p3) , si (p2>p1&&p2>p3) , si (p3>p2&&p3>p1)
Lo hago,
No es conveniente, especialmente con un gran número de parámetros...
La solución vía array es interesante. Especialmente interesante es la forma de encontrar el valor más cercano de una variable al promediar el número total de valores.
Buenas noches. Tratando de escribir un simple EA en el cruce de tenkan y kinjun. Aquí está el código:
void OnTick()
void OnTick()
{
TradeSignal_20();
}
int SeñalDeComercio_20()
{
int sig=0;
if(h_ich==INVALID_HANDLE)
{
h_ich=iIchimoku(Symbol(),Period(),IKHtenkansen,IKHkijunsen,IKHsenkouspanb);
return(0);
}
si no
{
if (CopyBuffer(h_ich,0,0,3,ich1_buffer)<2) return(0); // TENKANSEN_LINE
if (CopyBuffer(h_ich,1,0,3,ich2_buffer)<2) return(0); // KIJUNSEN_LINE
if (!ArraySetAsSeries(ich1_buffer,true)) return(0);
if (!ArraySetAsSeries(ich2_buffer,true)) return(0);
}
//--- comprobar la condición y establecer el valor de sig
if(ich1_buffer[1]>ich2_buffer[1]) sig=1;
else if(ich1_buffer[1]<ich2_buffer[1]) sig=-1;
Si no, sig=0;
if (ich1_buffer[1]>ich2_buffer[1])
if (ich1_buffer[2]<ich2_buffer[2])
Alert(Symbol()+": compra");
if (ich1_buffer[1]<ich2_buffer[1])
if (ich1_buffer[2]>ich2_buffer[2])
Alert(Symbol()+": venta");
//--- devolver la señal de comercio
retorno (sig);
}
//+------------------------------------------------------------------+
¿Cómo puedo hacer que la alerta se llame sólo una vez y no constantemente?
No se ejecuta cada vez que se hace, sino cuando es necesario.