
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
pendiente mtf
mira aquí alpha24seven
https://www.mql5.com/en/forum/173574
Gracias Lodol2
Perdona que se me hayan pasado. Gracias por llamarme la atención.
Tuve algunos problemas de compilación. Nunca había visto este error. ¿Alguna idea?
Ver gráfico
Gracias.
estoy de acuerdo con todo lo que has dicho, pero creo que no me he explicado lo suficientemente bien.
la fórmula de keris no se ve así en tiempo real (¡sin refrescar los gráficos!), se parece más a esa línea amarilla; si refrescas los gráficos, sí, todo se ve bien - pero entonces, ¿por qué no usar simplemente un segundo gráfico con el marco temporal más alto... y confirmar que el indicador se mueve sólo en el marco temporal más alto?
desde el momento en que se traza un indicador mtf en un timeframe inferior, se tiene otra forma de promediar algunos datos en ese timeframe (y no en un tf superior). nunca se va a parecer al original - pero se puede aproximar. entonces la pregunta es, ¿cómo encontrar la mejor fórmula para la aproximación más cercana? y creo que esto responde a tu pregunta... ¿no?
La línea roja es la aproximación de la MA que propones
Magenta es la forma Keris de MTF MA
La línea dorada son los valores reales de un MA de un marco de tiempo superior en un marco de tiempo inferior
Como puedes ver, apenas hay un solo valor correcto de la aproximación en un periodo de tiempo, mientras que la fórmula de Keris da al menos un valor correcto por periodo. De todas formas, la fórmula para la aproximación en Metatrader sería :
MAperiod=MAperiod*TimeFrame/Period()
Si intentas aplicar esta aproximación a los indicadores derivados de las medias móviles (MACD por ejemplo), acabarás con grandes, y digo GRANDES diferencias (he visto un 7-8% de diferencia de un MACD de 4H en un marco temporal de 1H)
Una contra-pregunta: ¿cuánta gente cree que ha probado diferentes enfoques para los indicadores multitemporales?Error en el código
Lo he descubierto. Este código extra fue dejado en el archivo -- al final. Solo hay que borrarlo, compilar y voila'.
Excelente indicador BTW.
---
/*
void drawLine(double lvl,string name, color Col )
{
ObjectDelete(nombre);
ObjectCreate(nombre, OBJ_HLINE, WindowFind(nombre), Time[0], lvl,Time[0], lvl);
ObjectSet(nombre, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
---
...
La línea amarilla es la media móvil"real MTF
No es necesario "refrescar" ninguno de los indicadores de la imagen
En cuanto al resto, por favor, vuelve a leer ese post
saludos
mladen
estoy de acuerdo con todo lo que has dicho, pero creo que no me he explicado lo suficientemente bien.
la fórmula de keris no se ve así en tiempo real (¡sin refrescar los gráficos!), se parece más a esa línea amarilla; si refrescas los gráficos, sí, todo se ve bien - pero entonces, ¿por qué no usamos simplemente un segundo gráfico con el marco temporal más alto... y confirmamos que el indicador se mueve sólo en el marco temporal más alto?
desde el momento en que se traza un indicador mtf en un timeframe inferior, se tiene otra forma de promediar algunos datos en ese timeframe (y no en un tf superior). nunca se va a parecer al original - pero se puede aproximar. entonces la pregunta es, ¿cómo encontrar la mejor fórmula para la aproximación más cercana? y creo que esto responde a tu pregunta... ¿no?Necesito Mtf Para Este Indi
Hola a todos,
He estado queriendo tener la capacidad de trazar indicadores de diferentes marcos de tiempo en mi gráfico
//+------------------------------------------------------------------+
//| Fisher_m11.mq4 ||||||||||||||
//| Copyright ฉ forexjr
//| Índice de /cam06/fisher
//+------------------------------------------------------------------+
#property copyright "Copyright ฉ 23.07.2006 MartinG "
#property link "http://home.arcor.de/cam06/fisher"
#property indicador_separar_ventana
//#property indicador_mínimo -1
//#property indicador_máximo 1
#propiedad indicator_buffers 3
#property indicator_color2 RoyalBlue
#property indicator_color3 Red
#property indicator_width2 0.5
#propiedad indicador_ancho3 0.5
int NúmeroIzquierdo1=56;
int LeftNum2=56;
extern int RangePeriods=35;
extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10
extern double IndexSmoothing=0.3; // =0.50 bei Fisher_m10
string ThisName="Fisher_kuskus";
int DrawStart;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//+------------------------------------------------------------------+
//| Función de inicialización de los indicadores personalizados ||.
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
IndicatorBuffers(4);
SetIndexLabel(0, "Star");
SetIndexStyle(0,DRAW_NONE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,ExtMapBuffer4);
string Text=EsteNombre;
Text=Text+" (rPeriods "+RangePeriods;
Text=Text+", pSmooth "+DoubleToStr(PriceSmoothing,2);
Text=Text+", iSmooth "+DoubleToStr(IndexSmoothing,2);
Text=Text+") ";
IndicatorShortName(Text);
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calculado de izquierda a derecha
SetIndexDrawBegin(1,DrawStart);
SetIndexDrawBegin(2,DrawStart);
if (PriceSmoothing>=1.0)
{
PriceSmoothing=0.9999;
Alert("Fish61: ¡El factor PriceSmothing tiene que ser menor que 1!");
}
if (PriceSmoothing<0)
{
PriceSmoothing=0;
Alert("Fish61: ¡El factor PriceSmothing no debe ser negativo!");
}
if (IndexSmoothing>=1.0)
{
IndexSmoothing=0.9999;
Alert("Fish61: ¡El factor PriceSmothing tiene que ser menor que 1!");
}
if (IndexSmoothing<0)
{
IndexSmoothing=0;
Alert("Fish61: ¡El factor PriceSmothing no debe ser negativo!");
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización del indicador personalizada ||
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración del indicador personalizada ||
//+------------------------------------------------------------------+
int inicio()
{
if (Bars<DrawStart)
{
Alert("Fish84: No hay suficientes barras cargadas para calcular FisherIndicator con RangePeriods=",RangePeriods);
return(-1);
}
//----
int counted_bars=IndicadorContado();
if (counted_bars<0) return(-1);
if (counted_bars>0) counted_bars--;
//----
int Posición=Barras_contadas; // Posición = Posición de la barra calculada de derecha a izquierda
int LeftNum1=Bars-Position; // cuando se cargan más barras la Posición de una barra cambia pero no su LeftNum
if (LeftNum1<RangePeriods+1)Position=Bars-RangePeriods-1;
while(Posición>=0)
{
CalculateCurrentBar(Position);
Posición--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de cálculo de una barra ||
//+------------------------------------------------------------------+
int CalcularBarraActual(int pos)
{
double LowestLow, HighestHigh, GreatestRange, MidPrice;
double PrecioLocalización, SuavizadoLocalización, ÍndicePescado, SuavizadoPescado;
//----
LowestLow = Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];
HighestHigh = High;
si (MáximoAlto-MínimoBajo<0,1*Punto)MáximoAlto=MínimoBajo+0,1*Punto;
RangoMayor=MayorAlto-MayorBajo;
Precio Medio = (Alto[pos]+Bajo[pos])/2;
// Ubicación del precio en el rango actual
if (GreatestRange!=0)
{
PriceLocation=(MidPrice-LowestLow)/GreatestRange;
PriceLocation= 2.0*PriceLocation - 1.0; // -> -1 < PriceLocation < +1
}
// Suavizado de PriceLocation
ExtMapBuffer4[pos]=AlisadoDePrecios*ExtMapBuffer4[pos+1]+(1,0-AlisadoDePrecios)*UbicaciónDePrecios;
SmoothedLocation=ExtMapBuffer4[pos];
if (SmoothedLocation> 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird
if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // no se ha tenido en cuenta que el registro matemático no es suficiente
// FisherIndex
if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));
else Alert("Fisher129: Unerlaubter Zustand bei Bar Nummer ",Bars-pos);
// Suavizado de FisherIndex
ExtMapBuffer1[pos]=Suavizado del Índice*ExtMapBuffer1[pos+1]+(1.0-Suavizado del Índice)*FishIndex;
si (Bars-pos<DrawStart)ExtMapBuffer1[pos]=0;
SmoothedFish=ExtMapBuffer1[pos];
if (SmoothedFish>0) // tendencia al alza
{
ExtMapBuffer2[pos]=SmoothedFish;
ExtMapBuffer3[pos]=0;
}
else // tendencia a la baja
{
ExtMapBuffer2[pos]=0;
ExtMapBuffer3[pos]=Pez Suave;
}
//----
return(0);
}
//+------------------------------------------------------------------+
gracias
Gente, pongámonos serios
Soy serio mladen...
Soy un novato y no un programador, puede ser la manera de scrat no es perfecto, pero tal vez puedo usarlo. Lo probaré. Si es útil, lo usaré. Si no lo es, voy a buscar de nuevo otra gran manera u otro indicador.
Alguna vez he preguntado a Codersguru sobre algo similar.
Mi pregunta fue si uso 1 EMA en 30M TF, entonces en 1M TF debe ser 30 EMA.
Y él dijo que no era así. Pero no estaba satisfecho, tal vez hay otra manera, así que lo encuentro aquí. Pero si no es útil, Está bien para mí ...
. Al menos sé que el resultado es.
BTW, gracias por el último RSIOMA mladen, me gusta mucho, y gracias a fxbs y Kalenzo también, para este gran indicador.
Saludos,
IIN
El problema es el siguiente:
Esa idea con las MA's es probablemente la más antigua del análisis técnico
Estoy de acuerdo en que sitios como TSD son lugares para compartir ideas, y conocimientos
Pero por favor nadie debe intentar hacerlo de esta manera :
Vamos, ¿qué diablos estamos tratando de hacer aquí, de todos modos?
Espero que ahora me haya explicado bien
saludos
mladen
Lo digo en serio mladen...
Soy un novato y no un programador, puede ser la manera de scrat no es perfecto, pero tal vez puedo usarlo. Lo probaré. Si es útil, lo usaré. Si no lo es, voy a buscar de nuevo otra gran manera u otro indicador.
Alguna vez he preguntado a Codersguru sobre algo similar.
Mi pregunta fue si uso 1 EMA en 30M TF, entonces en 1M TF debe ser 30 EMA.
Y él dijo que no era así. Pero no estaba satisfecho, tal vez hay otra manera, así que lo encuentro aquí. Pero si no es útil, Está bien para mí ...
. Al menos sé que el resultado es.
BTW, gracias por el último RSIOMA mladen, me gusta mucho, y gracias a fxbs y Kalenzo también, para este gran indicador.
Saludos,
IINde acuerdo, soy oficialmente tonto y acabo de ofender a todo el mundo en este hilo. ¿he acertado esta vez?
mis disculpas.
El problema es este:
Esa idea con MA's es probablemente la idea más antigua en el análisis técnico
Estoy de acuerdo en que sitios como TSD son lugares para compartir ideas, y conocimientos
Pero por favor que nadie intente hacerlo de esta manera :
Vamos, ¿qué diablos estamos tratando de hacer aquí, de todos modos?
Espero que ahora me haya explicado bien
saludos
mladen¿Alguien sabe dónde están estos indis MTF?
He buscado por todas partes las versiones MTF de estos. ¿Alguien sabe o las ha visto?
Gracias.