Estoy tratando de modificar un indicador MACD para convertirlo en un indicador de empuje de tendencia como se describe en el libro de Buff Dormeier Invertir con análisis de volumen.
Tengo problemas con la variable y no puedo conseguir un resultado decente. Adjunto el volWMA y el MACD de VW que están funcionando
Aquí está la descripción
Indicador de empuje de la tendencia
El indicador de empuje de tendencia (Tti), una versión mejorada del indicador de convergencia/divergencia de medias móviles ponderadas por volumen (VW-Macd), fue introducido en mi libro Investing With Volume Analysis. El Tti utiliza un multiplicador de volumen de forma única para exagerar el impacto del volumen en las medias móviles ponderadas por volumen. Al igual que el VW-Macd, el Tti utiliza medias móviles ponderadas por volumen en lugar de medias móviles exponenciales. Las medias ponderadas por volumen ponderan los precios de cierre de forma proporcional al volumen negociado durante cada periodo de tiempo, por lo que el Tti da mayor énfasis a aquellas tendencias de precios con mayor volumen y menor énfasis a los periodos de tiempo con menor volumen. En el número de febrero de 2001 de Stocks & Commodities, demostré que las medias móviles ponderadas por volumen (medias Buff, o Vwmas) mejoran la capacidad de respuesta y aumentan la fiabilidad de las medias móviles simples.
Al igual que el Macd y el VW-Macd, el Tti calcula un diferencial restando la media corta (rápida) de la media larga (lenta). Este diferencial combinado con un multiplicador de volumen crea el diferencial Buff
Los cálculos son los siguientes
multiplicador de volumen = VolWMA rápido / VolWMA lento
el multiplicador de volumen se lleva a la segunda potencia y se multiplica por el VolWMA rápido para obtener el volumen que mejora la media rápida
el multiplicador de volumen se lleva a la segunda potencia y se multiplica por el VolWMA LENTO para obtener la media lenta de Volume enhance
TTi = mejorar la media rápida - mejorar la media lenta
Gracias por su ayuda
enlace del indicador: https://www.sendspace.com/file/rfy2dv
Hola amigo. ¿Has conseguido solucionar el TTI? ¿Puedes compartirlo aquí o enviármelo por MP? Gracias
Necesito un EA queenvíe una notificación push cada vez que la diferencia entre el precio de compra y el precio de venta (en ichimoku) sea mayor de 3 pips (30 puntos) en 1 minuto.
He encontrado temas como "iCustom devuelve valores erróneos" pero esto es un poco diferente.
Intento crear un indicador que compare el tamaño de barras del mismo tipo (tipo bull/bear) en una secuencia.
y muestra los valores máximos de la comparación en el histograma.
como esto.
//-----------------------------
con ArrayMaximum el resultado es más rápido. pero hay algo mal en mi código.ejemplo:
aquí está el código que compara los valores de iCustom y devuelve los valores erróneos:
#property indicator_separate_window#property indicator_buffers4#property indicator_color1 DeepSkyBlue
#property indicator_width110#property indicator_color2 Red
#property indicator_width210#property indicator_color3 DodgerBlue
#property indicator_width34#property indicator_color4 Crimson
#property indicator_width44#property indicator_level10#property indicator_levelcolor White
#property indicator_levelstyle0string LF = "\n"; // use this in custom or utility blocks where you need line feedsint ObjCount = 0; // count of all objects created on the chart, allows creation of objects with unique namesint current = 0; // variable points to current bardouble Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double bar_0;
double bar_1;
double bar_2;
double bar_3;
double bar_4;
double bar_5;
double bar_6;
double bar_7;
double bar_8;
double bar_9;
double bar_10;
double bar_11;
//+------------------------------------------------------------------+int init()
{
if (false) ObjectsDeleteAll(); // clear the chartIndicatorDigits(Digits-5);
IndicatorBuffers(4);
SetIndexBuffer(0, Buffer1);
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);
SetIndexBuffer(1, Buffer2);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID);
SetIndexBuffer(2, Buffer3);
SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID);
SetIndexBuffer(3, Buffer4);
SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID);
return(0);
}
//+------------------------------------------------------------------+int deinit()
{
if (false) ObjectsDeleteAll();
return(0);
}
//+------------------------------------------------------------------+int start()
{
OnEveryTick1();
return(0);
}
//+------------------------------------------------------------------+void OnEveryTick1()
{
int i;
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
i = Bars - counted_bars - 1;
// main calculation loopwhile (i >= 0)
{
current = i;
//current >0//current+1=0
TechnicalAnalysis00();
//current >0//current+1>0//current+2=0
TechnicalAnalysis01();
//current >0//current+1>0//current+2>0//current+3=0
TechnicalAnalysis02();
i--;
}
}
//-----------------------------------------------------//---------bar_0-------------------------------//-----------------------------------------------------void TechnicalAnalysis00()
{
bar_0 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current);
bar_1 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current+1);
if
(
bar_0 > 0
&&
bar_1 == 0
)
{
Histogram00();
}
}
void Histogram00()
{
Buffer1[current]= bar_0;
}
//-----------------------------------------------------//---------bar_1-------------------------------//-----------------------------------------------------void TechnicalAnalysis01()
{
bar_0 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current);
bar_1 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current+1);
bar_2 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current+2);
if
(
bar_0 > 0
&&
bar_1 > 0
&&
bar_2 == 0
)
{
Histogram01();
}
}
void Histogram01()
{
int x_up_01[] = {0,0};
x_up_01[0] = bar_0;
x_up_01[1] = bar_1;
int maxValue_01 = ArrayMaximum(x_up_01);
Buffer1[current]= x_up_01[maxValue_01];
}
//-----------------------------------------------------//---------bar_2-------------------------------//-----------------------------------------------------void TechnicalAnalysis02()
{
bar_0 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current);
bar_1 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current+1);
bar_2 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current+2);
bar_3 = iCustom(NULL, NULL, "candles_from_chart-celi_masivi",0,current+3);
if
(
bar_0 > 0
&&
bar_1 > 0
&&
bar_2 > 0
&&
bar_3 == 0
)
{
Histogram02();
}
}
void Histogram02()
{
int x_up_02[] = {0,0,0};
x_up_02[0] = bar_0;
x_up_02[1] = bar_1;
x_up_02[2] = bar_2;
int maxValue_02 = ArrayMaximum(x_up_02);
Buffer1[current]= x_up_02[maxValue_02];
}
//-----------------------------------------------------//---------bar_3--------and so on-----------------------//-----------------------------------------------------
¿dónde está mi error? ¿cómo puedo arreglarlo? Intenté llamar a iCustom con todos los parámetros externos - el mismo resultado erróneo. Probé con iCustom sin parámetro externo - mismo resultado erróneo.
gracias por la ayuda
código principal (primer histograma) y segundo código (segundo histograma) basado en él :
Por favor, ayúdenme con este asunto.
Abajo está la alerta cruzada MA, pero tengo demasiados mensajes por 1 misma notificación.
Sólo quiero recibir 1 notificación por 2 barras consecutivas, lo que significa que elnúmero de barras es 2 para saltar antes de la siguiente alerta.
Cómo puedo hacer, por favor ayúdeme. Muchas gracias
Cuando declaro una variable externa obtengo un mensaje de error "extern-unexpected token"
Por favor, ayuda
Cuando declaro una variable externa obtengo un mensaje de error "extern-unexpected token"
Por favor, ayuda
no se puede utilizar extern dentro de un método o función.
¿como arreglar el error?
" GBPUSD"
" GBPUSD"
gracias
Necesito ayuda para modificar un indicador
Estoy tratando de modificar un indicador MACD para convertirlo en un indicador de empuje de tendencia como se describe en el libro de Buff Dormeier Invertir con análisis de volumen.
Tengo problemas con la variable y no puedo conseguir un resultado decente. Adjunto el volWMA y el MACD de VW que están funcionando
Aquí está la descripción
Indicador de empuje de la tendencia
El indicador de empuje de tendencia (Tti), una versión mejorada del indicador de convergencia/divergencia de medias móviles ponderadas por volumen (VW-Macd), fue introducido en mi libro Investing With Volume Analysis. El Tti utiliza un multiplicador de volumen de forma única para exagerar el impacto del volumen en las medias móviles ponderadas por volumen. Al igual que el VW-Macd, el Tti utiliza medias móviles ponderadas por volumen en lugar de medias móviles exponenciales. Las medias ponderadas por volumen ponderan los precios de cierre de forma proporcional al volumen negociado durante cada periodo de tiempo, por lo que el Tti da mayor énfasis a aquellas tendencias de precios con mayor volumen y menor énfasis a los periodos de tiempo con menor volumen. En el número de febrero de 2001 de Stocks & Commodities, demostré que las medias móviles ponderadas por volumen (medias Buff, o Vwmas) mejoran la capacidad de respuesta y aumentan la fiabilidad de las medias móviles simples.
Al igual que el Macd y el VW-Macd, el Tti calcula un diferencial restando la media corta (rápida) de la media larga (lenta). Este diferencial combinado con un multiplicador de volumen crea el diferencial Buff
Los cálculos son los siguientes
multiplicador de volumen = VolWMA rápido / VolWMA lento
el multiplicador de volumen se lleva a la segunda potencia y se multiplica por el VolWMA rápido para obtener el volumen que mejora la media rápida
el multiplicador de volumen se lleva a la segunda potencia y se multiplica por el VolWMA LENTO para obtener la media lenta de Volume enhance
TTi = mejorar la media rápida - mejorar la media lenta
Gracias por su ayuda
enlace del indicador: https://www.sendspace.com/file/rfy2dv
Hola amigo. ¿Has conseguido solucionar el TTI? ¿Puedes compartirlo aquí o enviármelo por MP? Gracias
hai,
por favor, añadir sonido de alerta, mensaje de alerta y la opción de notificación móvil para este indicador.
gracias
Hola
He encontrado temas como "iCustom devuelve valores erróneos" pero esto es un poco diferente.
Intento crear un indicador que compare el tamaño de barras del mismo tipo (tipo bull/bear) en una secuencia.
y muestra los valores máximos de la comparación en el histograma.
como esto.
//-----------------------------
con ArrayMaximum el resultado es más rápido. pero hay algo mal en mi código.ejemplo:
aquí está el código que compara los valores de iCustom y devuelve los valores erróneos:
¿dónde está mi error? ¿cómo puedo arreglarlo?
Intenté llamar a iCustom con todos los parámetros externos - el mismo resultado erróneo. Probé con iCustom sin parámetro externo - mismo resultado erróneo.
gracias por la ayuda
código principal (primer histograma) y segundo código (segundo histograma) basado en él :