J'essaie de modifier un indicateur MACD pour le transformer en un indicateur de poussée de tendance comme décrit dans le livre de Buff Dormeier intitulé Investing with volume analysis.
J'ai des problèmes avec la variable et je n'arrive pas à obtenir un résultat décent. Je joins le volWMA et le VW MACD qui fonctionnent.
Voici la description
Indicateur de poussée de tendance
L'indicateur de poussée de tendance (Tti), une version améliorée de l'indicateur de convergence/divergence de la moyenne mobile pondérée par le volume (VW-Macd), a été présenté dans mon livre Investing With Volume Analysis. Le Tti utilise un multiplicateur de volume de manière unique pour exagérer l'impact du volume sur les moyennes mobiles pondérées en fonction du volume. Comme le VW-Macd, le Tti utilise des moyennes mobiles pondérées par le volume, par opposition aux moyennes mobiles exponentielles. Les moyennes pondérées en fonction du volume pèsent les prix de clôture proportionnellement au volume échangé au cours de chaque période de temps, de sorte que le Tti accorde plus d'importance aux tendances de prix avec un volume plus important et moins d'importance aux périodes de temps avec un volume plus faible. Dans le numéro de février 2001 de Stocks & Commodities, j'ai montré que les moyennes mobiles pondérées en fonction du volume (moyennes Buff, ou Vwmas) améliorent la réactivité tout en augmentant la fiabilité des moyennes mobiles simples.
Comme les Macd et VW-Macd, la Tti calcule un écart en soustrayant la moyenne courte (rapide) de la moyenne longue (lente). Cet écart, combiné à un multiplicateur de volume, crée l'écart Buff.
Le calcul est le suivant
multiplicateur de volume = VolWMA rapide / VolWMA lent
le multiplicateur de volume est porté à la deuxième puissance, puis multiplié par le VolWMA rapide pour obtenir le volume amélioré de la moyenne rapide.
le multiplicateur de volume est porté à la deuxième puissance et ensuite multiplié par le SLOW VolWMA pour obtenir le Volume enhance slow average.
TTi = améliorer la moyenne rapide - améliorer la moyenne lente
Merci pour votre aide
Lien de l'indicateur : https://www.sendspace.com/file/rfy2dv
Bonjour mon ami. Avez-vous réussi à résoudre le problème du TTI ? Pouvez-vous partager ici ou m'envoyer par PM ? Merci
J'ai besoin d'un EA quienvoie une notification push chaque fois que la différence entre le prix de l'offre et le kinjun sen (dans ichimoku) est supérieure à 3 pips (30 points) dans un intervalle de temps de 1 minute.
J'ai trouvé des sujets comme "iCustom renvoie des valeurs erronées" mais ceci est un peu différent.
J'essaie de créer un indicateur qui compare la taille de barres de type identique (type bull/bear) dans une séquence.
et montre les valeurs maximales de la comparaison dans l'histogramme.
comme ceci.
//-----------------------------
avec ArrayMaximum le résultat est plus rapide. mais il y a un problème avec mon code.exemple :
voici le code qui compare les valeurs iCustom et renvoie des valeurs erronées :
#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-----------------------//-----------------------------------------------------
où est mon erreur ? comment puis-je la réparer ? J'ai essayé d'appeler iCustom avec tous les paramètres externes - même résultat erroné. J'ai essayé d'appeler iCustom sans paramètre externe - même résultat erroné.
Merci pour votre aide
code principal (premier histogramme) et deuxième code (deuxième histogramme) basé sur celui-ci :
Veuillez m'aider à résoudre ce problème.
Ci-dessous se trouve une alerte croisée MA, mais j'ai reçu trop de messages pour une même notification.
Je veux juste recevoir une notification pour 2 barres consécutives, ce qui signifie quelenombre de barres à sauter avant l'alerte suivante est de 2.
Comment puis-je faire, aidez-moi s'il vous plaît. Merci beaucoup.
Lorsque je déclare une variable externe, j'obtiens un message d'erreur "extern-unexpected token".
Veuillez m'aider
Lorsque je déclare une variable externe, j'obtiens un message d'erreur "extern-unexpected token".
Veuillez m'aider
vous ne pouvez pas utiliser extern à l'intérieur d'une méthode ou d'une fonction.
comment corriger l'erreur ?
" GBPUSD"
" GBPUSD"
merci
Besoin d'aide pour modifier un indicateur
J'essaie de modifier un indicateur MACD pour le transformer en un indicateur de poussée de tendance comme décrit dans le livre de Buff Dormeier intitulé Investing with volume analysis.
J'ai des problèmes avec la variable et je n'arrive pas à obtenir un résultat décent. Je joins le volWMA et le VW MACD qui fonctionnent.
Voici la description
Indicateur de poussée de tendance
L'indicateur de poussée de tendance (Tti), une version améliorée de l'indicateur de convergence/divergence de la moyenne mobile pondérée par le volume (VW-Macd), a été présenté dans mon livre Investing With Volume Analysis. Le Tti utilise un multiplicateur de volume de manière unique pour exagérer l'impact du volume sur les moyennes mobiles pondérées en fonction du volume. Comme le VW-Macd, le Tti utilise des moyennes mobiles pondérées par le volume, par opposition aux moyennes mobiles exponentielles. Les moyennes pondérées en fonction du volume pèsent les prix de clôture proportionnellement au volume échangé au cours de chaque période de temps, de sorte que le Tti accorde plus d'importance aux tendances de prix avec un volume plus important et moins d'importance aux périodes de temps avec un volume plus faible. Dans le numéro de février 2001 de Stocks & Commodities, j'ai montré que les moyennes mobiles pondérées en fonction du volume (moyennes Buff, ou Vwmas) améliorent la réactivité tout en augmentant la fiabilité des moyennes mobiles simples.
Comme les Macd et VW-Macd, la Tti calcule un écart en soustrayant la moyenne courte (rapide) de la moyenne longue (lente). Cet écart, combiné à un multiplicateur de volume, crée l'écart Buff.
Le calcul est le suivant
multiplicateur de volume = VolWMA rapide / VolWMA lent
le multiplicateur de volume est porté à la deuxième puissance, puis multiplié par le VolWMA rapide pour obtenir le volume amélioré de la moyenne rapide.
le multiplicateur de volume est porté à la deuxième puissance et ensuite multiplié par le SLOW VolWMA pour obtenir le Volume enhance slow average.
TTi = améliorer la moyenne rapide - améliorer la moyenne lente
Merci pour votre aide
Lien de l'indicateur : https://www.sendspace.com/file/rfy2dv
Bonjour mon ami. Avez-vous réussi à résoudre le problème du TTI ? Pouvez-vous partager ici ou m'envoyer par PM ? Merci
hai,
veuillez ajouter l'option d'alerte sonore, d'alerte par message et de notification par téléphone portable pour cet indicateur.
Merci
Bonjour
J'ai trouvé des sujets comme "iCustom renvoie des valeurs erronées" mais ceci est un peu différent.
J'essaie de créer un indicateur qui compare la taille de barres de type identique (type bull/bear) dans une séquence.
et montre les valeurs maximales de la comparaison dans l'histogramme.
comme ceci.
//-----------------------------
avec ArrayMaximum le résultat est plus rapide. mais il y a un problème avec mon code.exemple :
voici le code qui compare les valeurs iCustom et renvoie des valeurs erronées :
où est mon erreur ? comment puis-je la réparer ?
J'ai essayé d'appeler iCustom avec tous les paramètres externes - même résultat erroné. J'ai essayé d'appeler iCustom sans paramètre externe - même résultat erroné.
Merci pour votre aide
code principal (premier histogramme) et deuxième code (deuxième histogramme) basé sur celui-ci :