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
A mi no me deja compilar el archivo.
No sé si hay alguna idea de lo que está pasando.
Gracias,
Jordi
Gracias.
Abajo hay un ejemplo simple de esto que puse mientras jugaba.
Si es incorrecto por favor corrígeme y lo modificaré.
Lo que me parece extraño es que los valores no parecen coincidir con una media móvil simple en el gráfico.
################### En un script
int period = 21; // La media móvil de 21 barras
int sampleSize = 100; //Este es el número de barras de datos que desea obtener
int handle = iCustom(Symbol(),0, "Examples\Custom Moving Average",
period,// Período
0, // Desplazamiento
MODE_SMA, // Método de cálculo
PRICE_CLOSE // Cálculo sobre precios de cierre
);
void OnTick()
{
// Este es el array donde se copiarán las medias móviles.
// Cada elemento es un valor de media móvil
// El primer elemento de esta matriz (elemento en la posición 0) es el más reciente
// El último elemento es el último elemento de la matriz ArraySize() - 1
double movingAverageValues[];
ArraySetAsSeries(movingAverageValues, true);
if (CopyBuffer(handle,0,0,sampleSize,movingAverageValues) < 0){Print("CopyBufferMA1 error =",GetLastError());}
double currentMovingAverage = movingAverageValues[0];
double earliestMovingAverage = movingAverageValues[ArraySize(movingAverageValues) - 1];
################################# En un EA (NOTA: el OnInit y OnTick)
int OnInit(){
int period = 21; // La media móvil de 21 barras
int sampleSize = 100; //Este es el número de barras de datos que desea obtener
int handle = iCustom(Symbol(),0, "Examples\Custom Media Móvil",
period, // Periodo
0, // Desplazamiento
MODE_SMA, // Método de cálculo
PRICE_CLOSE // Cálculo sobre precios de cierre
);
}
OnTick()
{
// Este es el array donde se copiarán las medias móviles.
// Cada elemento aquí es un valor de media móvil
// El primer elemento de esta matriz (elemento en la posición 0) es el más reciente
// El último elemento es el último elemento de la matriz ArraySize() - 1
double movingAverageValues[];
ArraySetAsSeries(movingAverageValues, true);
if (CopyBuffer(handle,0,0,sampleSize,movingAverageValues) < 0){Print("CopyBufferMA1 error =",GetLastError());}
double currentMovingAverage = movingAverageValues[0];
double earliestMovingAverage = movingAverageValues[ArraySize(movingAverageValues) - 1];
}
Gran artículo