Estou tentando modificar um indicador MACD para transformá-lo em um Indicador de Tendência de Impulso, como descrito no livro Buff Dormeier Investindo com análise de volume.
Tenho problemas com a variável e não consigo alcançar um resultado decente. Estou anexando o volWMA e o VW MACD que estão funcionando
Aqui está a descrição
Indicador de impulso de tendência
O indicador de impulso de tendência (Tti), uma versão melhorada do indicador de convergência/divergência média móvel ponderada por volume (VW-Macd), foi introduzido no meu livro Investing With Volume Analysis. O Tti usa um multiplicador de volume de formas únicas para exagerar o impacto do volume sobre as médias móveis ponderadas por volume. Como o VW-Macd, o Tti usa médias móveis ponderadas por volume em oposição às médias móveis exponenciais. As médias ponderadas por volume pesam os preços de fechamento proporcionalmente ao volume negociado durante cada período de tempo, portanto o Tti dá maior ênfase às tendências de preços com maior volume e menos ênfase aos períodos de tempo com volume mais leve. Na edição de fevereiro de 2001 do Stock & Commodities, mostrei que as médias móveis ponderadas por volume (Buff averages, ou Vwmas) melhoram a capacidade de resposta enquanto aumentam a confiabilidade das médias móveis simples.
Como o Macd e o VW-Macd, o Tti calcula um spread subtraindo a média curta (rápida) da média longa (lenta). Este spread combinado com um multiplicador de volume cria o Buff spread
Os cálculos são os seguintes
multiplicador de volume = VolWMA rápido / VolWMA lento
o multiplicador de volume é levado para a segunda potência e depois multiplicado pelo rápido VolWMA para dar uma média rápida de aumento de volume
o multiplicador de volume é levado à segunda potência e depois multiplicado pelo SLOW VolWMA para dar uma média lenta de aumento de volume
TTi = melhorar a média rápida - melhorar a média lenta
Obrigado por sua ajuda
link indicador: https://www.sendspace.com/file/rfy2dv
Olá, meu amigo. Você já conseguiu resolver o TTI? Você pode compartilhar aqui ou me enviar via PM? Obrigado
Preciso de uma EA queenvie uma notificação de empurrão sempre que a diferença de preço da oferta do kinjun sen (em ichimoku) for maior que 3 pips (30 pontos) em 1 minuto de tempo fream
Encontrei tópicos como "iCustom retorna valores errados", mas isto é um pouco diferente.
Tento criar um indicador que compara o tamanho de barras do mesmo tipo (tipo touro/urso) em uma seqüência.
e mostra os valores máximos de comparação em histograma.
como este.
//-----------------------------
com o ArrayMaximum o resultado é mais rápido. mas há algo errado com meu código.exemplo:
aqui está o código que compara os valores iCustom e retorna valores errados:
#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-----------------------//-----------------------------------------------------
onde está o meu erro? como posso corrigi-lo? Eu tentei chamar o iCustom com todos os param. externos - mesmo resultado errado. Tentei sem param. externos iCustom - o mesmo resultado errado.
obrigado pela ajuda
código principal (primeiro histograma) e segundo código (segundo histograma) com base nele :
Por gentileza, ajude-me nesta questão.
Abaixo está o alerta cruzado de MA, mas recebi muitas mensagens por 1 mesma notificação.
Só quero receber 1 notificação por 2 barras consecutivas, o que significa que onúmero de barras é 2 para pular antes do próximo alerta.
Como posso fazer, por favor, me ajude. Muito obrigado.
Quando declaro uma variável externa, recebo uma mensagem de erro "token externo esperado".
Por favor, ajude
Quando declaro uma variável externa, recebo uma mensagem de erro "token externo esperado".
Por favor, ajude
não se pode usar o exterior dentro de um método ou função.
como corrigir o erro ??
" GBPUSD
" GBPUSD
obrigado
Ajuda para modificar um indicador
Estou tentando modificar um indicador MACD para transformá-lo em um Indicador de Tendência de Impulso, como descrito no livro Buff Dormeier Investindo com análise de volume.
Tenho problemas com a variável e não consigo alcançar um resultado decente. Estou anexando o volWMA e o VW MACD que estão funcionando
Aqui está a descrição
Indicador de impulso de tendência
O indicador de impulso de tendência (Tti), uma versão melhorada do indicador de convergência/divergência média móvel ponderada por volume (VW-Macd), foi introduzido no meu livro Investing With Volume Analysis. O Tti usa um multiplicador de volume de formas únicas para exagerar o impacto do volume sobre as médias móveis ponderadas por volume. Como o VW-Macd, o Tti usa médias móveis ponderadas por volume em oposição às médias móveis exponenciais. As médias ponderadas por volume pesam os preços de fechamento proporcionalmente ao volume negociado durante cada período de tempo, portanto o Tti dá maior ênfase às tendências de preços com maior volume e menos ênfase aos períodos de tempo com volume mais leve. Na edição de fevereiro de 2001 do Stock & Commodities, mostrei que as médias móveis ponderadas por volume (Buff averages, ou Vwmas) melhoram a capacidade de resposta enquanto aumentam a confiabilidade das médias móveis simples.
Como o Macd e o VW-Macd, o Tti calcula um spread subtraindo a média curta (rápida) da média longa (lenta). Este spread combinado com um multiplicador de volume cria o Buff spread
Os cálculos são os seguintes
multiplicador de volume = VolWMA rápido / VolWMA lento
o multiplicador de volume é levado para a segunda potência e depois multiplicado pelo rápido VolWMA para dar uma média rápida de aumento de volume
o multiplicador de volume é levado à segunda potência e depois multiplicado pelo SLOW VolWMA para dar uma média lenta de aumento de volume
TTi = melhorar a média rápida - melhorar a média lenta
Obrigado por sua ajuda
link indicador: https://www.sendspace.com/file/rfy2dv
Olá, meu amigo. Você já conseguiu resolver o TTI? Você pode compartilhar aqui ou me enviar via PM? Obrigado
hai,
pls adicionar alerta sonoro, alerta de mensagem e opção de notificação móvel para este indicador.
obrigado
Hi
Encontrei tópicos como "iCustom retorna valores errados", mas isto é um pouco diferente.
Tento criar um indicador que compara o tamanho de barras do mesmo tipo (tipo touro/urso) em uma seqüência.
e mostra os valores máximos de comparação em histograma.
como este.
//-----------------------------
com o ArrayMaximum o resultado é mais rápido. mas há algo errado com meu código.exemplo:
aqui está o código que compara os valores iCustom e retorna valores errados:
onde está o meu erro? como posso corrigi-lo?
Eu tentei chamar o iCustom com todos os param. externos - mesmo resultado errado. Tentei sem param. externos iCustom - o mesmo resultado errado.
obrigado pela ajuda
código principal (primeiro histograma) e segundo código (segundo histograma) com base nele :