[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1061
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Buenas noches.
Hay un asesor interesante "Frank_ud", pregunta - ¿Cómo afilarlo para alpari?
Alexey, tienes razón. He comprobado mi Asesor Experto - cuando el período de MA = 6 ... 10 ... mi Asesor Experto se cuelga después de un mes de pruebas ... La prueba se detiene y se cuelga. El Asesor Experto simplemente no abriría operaciones. ¿Por qué se cuelga el probador?
Si la división a cero se escribiera en el cuaderno de bitácora, sería más fácil.
Pero de esta manera tienes que colocar las impresiones en cada bloque y monitorear el progreso de los eventos. luego, después de identificar el área de rastreo, tienes que ser más específico sobre las filas.
Puede ser una cuestión de ciclos.
¿Puedes decirme cómo cambiar la fórmula del indicador Momentum?
//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net/"
#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- parámetros de entrada
extern int MomPeriod=14;
//---- buffers
doble MomBuffer[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
nombre_corto_de_cadena;
//---- línea indicadora
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MomBuffer);
//---- nombre para la etiqueta de la subventana DataWindow y del indicador
short_name="Mamá("+MamáPeriodo+")";
IndicadorNombreCorto(nombre_corto);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,MomPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Momentum ||
//+------------------------------------------------------------------+
int inicio()
{
int,counted_bars=IndicatorCounted();
//----
if(Bars<=MomPeriod) return(0);
//---- cero inicial
if(counted_bars<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0;
//----
i=Bars-MomPeriod-1;
if(counted_bars>=MomPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
MomBuffer[i]=Cerrar[i]-Cerrar[i+MomPeriod];
i--;
}
return(0);
}
//+------------------------------------------------------------------+
Bien. Pregunta número dos.
qué es exactamente lo que hay en
//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net/"
#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- parámetros de entrada
extern int MomPeriod=14;
//---- buffers
doble MomBuffer[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
nombre_corto_de_cadena;
//---- línea indicadora
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MomBuffer);
//---- nombre para la etiqueta de la subventana DataWindow y del indicador
short_name="Mamá("+MamáPeriodo+")";
IndicadorNombreCorto(nombre_corto);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,MomPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Momentum ||
//+------------------------------------------------------------------+
int inicio()
{
int,counted_bars=IndicatorCounted();
//----
if(Bars<=MomPeriod) return(0);
//---- cero inicial
if(counted_bars<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0;
//----
i=Bars-MomPeriod-1;
if(counted_bars>=MomPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
MomBuffer[i]=Cerrar[i]-Cerrar[i+MomPeriod];
i--;
}
return(0);
}
//+------------------------------------------------------------------+
¿Qué es exactamente lo que hay que cambiar en la fórmula? es decir, ¿qué nueva fórmula quiere añadir?
PS.
debe haber publicado accidentalmente el indicador dos veces
Lo siento, ya me he metido en la última.
Aquí está el original:
//| Momentum.mq4 ||//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net/"
#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- parámetros de entrada
extern int MomPeriod=14;
//---- buffers
doble MomBuffer[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
nombre_corto_de_cadena;
//---- línea indicadora
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MomBuffer);
//---- nombre para la etiqueta de la subventana DataWindow y del indicador
short_name="Mamá("+MamáPeriodo+")";
IndicadorNombreCorto(nombre_corto);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,MomPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Momentum ||
//+------------------------------------------------------------------+
int inicio()
{
int,counted_bars=IndicatorCounted();
//----
if(Bars<=MomPeriod) return(0);
//---- cero inicial
if(counted_bars<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0;
//----
i=Bars-MomPeriod-1;
if(counted_bars>=MomPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
MomBuffer[i]=Cerrar[i]*100/Cerrar[i+MomPeriod];
i--;
}
return(0);
}
//+------------------------------------------------------------------+
En este indicador la fórmula es: MOMENTO = CIERRE (i) / CIERRE (i - n) * 100, y necesito
MOMENTO = CIERRE (i) - CIERRE (i - n)Lo siento, ya he entrado en la última.
Aquí está el original:
//| Momentum.mq4 ||
MomBuffer[i]=Cerrar[i] - Cerrar[i+MomPeriod]; // cambiar a este//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net/"
#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- parámetros de entrada
extern int MomPeriod=14;
//---- buffers
doble MomBuffer[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
nombre_corto_de_cadena;
//---- línea indicadora
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MomBuffer);
//---- nombre para la etiqueta de la subventana DataWindow y del indicador
short_name="Mamá("+MamáPeriodo+")";
IndicadorNombreCorto(nombre_corto);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,MomPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Momentum ||
//+------------------------------------------------------------------+
int inicio()
{
int,counted_bars=IndicatorCounted();
//----
if(Bars<=MomPeriod) return(0);
//---- cero inicial
if(counted_bars<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0;
//----
i=Bars-MomPeriod-1;
if(counted_bars>=MomPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
MomBuffer[i]=Close[i]*100/Close[i+MomPeriod]; // este
i--;
}
return(0);
}
//+------------------------------------------------------------------+
En este indicador la fórmula: MOMENTO = CIERRE (i) / CIERRE (i - n) * 100, pero necesito
MOMENTO = CIERRE (i) - CIERRE (i - n)