Keltner channels indicateur

Ce forum est destiné aux passionnés de la Bourse, vous utilisez des systèmes analogues aux systèmes de la roulette, vous souhaitez nous communiquer une information boursière, ce forum vous est destiné ...

Keltner channels indicateur

Messagede artemuse » Mar Juil 07, 2009 11:48 am

Allo, j'ai trouvé cet indicateur pour représenter les bandes de Keltner. Est-ce que c'est ce qui se fait de mieux ? Ou encore pouvez vous me dire si les calculs sont conformes à la formule originale :

Est-ce possible de changer le type de moving average utilisée via un paramètre de l'onglet 'inputs' ?

Aussi, quelle est la différence entre ces bandes et celles de Bollinger ?

Serait-il possible d'appliquer une déviation standard aux bandes plutôt qu'une multiplication par un facteur K ?
upper[x] = middle[x] + K*avg;
lower[x] = middle[x] - K*avg;


Code: Tout sélectionner
//+------------------------------------------------------------------+
//|                                               KeltnerChannel.mq4 |
//|                                                  Coded by Gilani |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 Black
#property indicator_color3 White


double upper[], middle[], lower[];
extern int     period = 20;
extern double  K = 2.0;


int init()
  {
   SetIndexStyle(0,DRAW_LINE);
   SetIndexShift(0,0);
   SetIndexDrawBegin(0,0);
   SetIndexBuffer(0,upper);

   SetIndexStyle(1,DRAW_LINE);
   SetIndexShift(1,0);
   SetIndexDrawBegin(1,0);
   SetIndexBuffer(1,middle);

   SetIndexStyle(2,DRAW_LINE);
   SetIndexShift(2,0);
   SetIndexDrawBegin(2,0);
   SetIndexBuffer(2,lower);
   

//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   
   double avg;
   
   for(int x=0; x<limit; x++) {
      middle[x] = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_TYPICAL, x);
      avg  = findAvg(period, x);
      upper[x] = middle[x] + K*avg;
      lower[x] = middle[x] - K*avg;
   }
   return(0);
  }
//+------------------------------------------------------------------+


   double findAvg(int period, int shift) {
      double sum=0;
      for (int x=shift;x<(shift+period);x++) {     
         sum += High[x]-Low[x];
      }
      sum = sum/period;
      return (sum);
   }


Complément d'information:
Technical Indicators Explained - MACD | IQ Chart

Bollinger Bandit Trading Strategy
Avatar de l’utilisateur
artemuse
Googlejack
Googlejack
 
Messages: 3276
Jackpoints: 37116
Donner
Inscription: Dim Déc 30, 2007 5:44 pm


Re: Keltner channels indicateur

Messagede artemuse » Mar Juil 07, 2009 3:14 pm

J'aimerais avoir un indicateur qui me servirait à sonner une alerte une fois lorsque le prix clôture à une distance x en pips d'une moyenne de y périodes. Est-ce que ça existe ce genre de bête ?
Avatar de l’utilisateur
artemuse
Googlejack
Googlejack
 
Messages: 3276
Jackpoints: 37116
Donner
Inscription: Dim Déc 30, 2007 5:44 pm

Re: Keltner channels indicateur

Messagede GEO_TT » Mar Juil 07, 2009 5:37 pm

"Deep in the human unconscious is a pervasive need for a logical universe that makes sense. But the real universe is always one step beyond logic."-Dune by Frank Herbert
Avatar de l’utilisateur
GEO_TT
Googlejack
Googlejack
 
Messages: 3928
Jackpoints: 13553
Donner
Inscription: Ven Juil 11, 2008 9:38 pm

Re: Keltner channels indicateur

Messagede artemuse » Mar Juil 07, 2009 6:39 pm

C'est pas ça que je recherche. Si j'affiche une moyenne de 50 périodes à l'écran et que par un savant calcul je réalise que le prix peut s'en éloigner de 75 pips alors j'amerais en être alerté. Capiche El Trouve Tout :razz:
Avatar de l’utilisateur
artemuse
Googlejack
Googlejack
 
Messages: 3276
Jackpoints: 37116
Donner
Inscription: Dim Déc 30, 2007 5:44 pm

Re: Keltner channels indicateur

Messagede GEO_TT » Mer Juil 08, 2009 9:05 am

Si j'affiche une moyenne de 50 périodes à l'écran et que par un savant calcul je réalise que le prix peut s'en éloigner de 75 pips alors j'amerais en être alerté.


non rien trouvé comme alerte.désolé.
par contre visuellement , la démarche est simple :

petit rappel.
placer une SMA ou EMA...etc à 50 périodes.
ensuite clic sur la moyenne>>>propriétés>>>niveau>>> entrer 75 et -75 et le tour est joué tu as ton channel.
"Deep in the human unconscious is a pervasive need for a logical universe that makes sense. But the real universe is always one step beyond logic."-Dune by Frank Herbert
Avatar de l’utilisateur
GEO_TT
Googlejack
Googlejack
 
Messages: 3928
Jackpoints: 13553
Donner
Inscription: Ven Juil 11, 2008 9:38 pm

Re: Keltner channels indicateur

Messagede artemuse » Mer Juil 08, 2009 10:51 pm

Je n'ai pas ce paramètre niveau>>> lorsque je crée une MA. :sad:
Avatar de l’utilisateur
artemuse
Googlejack
Googlejack
 
Messages: 3276
Jackpoints: 37116
Donner
Inscription: Dim Déc 30, 2007 5:44 pm

Re: Keltner channels indicateur

Messagede GEO_TT » Mer Juil 08, 2009 11:01 pm

tu crées d'abord ta Ma puis tu reviens dessus en clic droit : "MA propriétés"






maniveaux.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
"Deep in the human unconscious is a pervasive need for a logical universe that makes sense. But the real universe is always one step beyond logic."-Dune by Frank Herbert
Avatar de l’utilisateur
GEO_TT
Googlejack
Googlejack
 
Messages: 3928
Jackpoints: 13553
Donner
Inscription: Ven Juil 11, 2008 9:38 pm

Re: Keltner channels indicateur

Messagede artemuse » Jeu Juil 09, 2009 12:25 pm

Dès fois, je suis vraiment nul. Comme ma version MT4 est en anglais et que tes niveaux sont mes levels je n'avais pas cliqué.

Cependant, j'aimerais savoir si on ne pourrait pas modifier le code MT4 que j'ai posté plus haut pour utiliser l'ATR afin d'avoir des bandes qui respectent les caractéristiques de Mr Keltner.

The Keltner Channel has two bands drawn above and below an exponential moving average, and is based on Average True Range.

Average True Range is measured by taking a moving average of the greatest value of (a) the distance between this period's high & low, (b) the distance from last period's close to this period's high or (c) the distance from last period's close to this period's low.

Peaks in ATR indicate potential trend reversals after panic selloffs or frantic buying, valleys can indicate consolidations.

The Keltner Channel uses the ATR calculation as values for the bands.



Formula:
The formula for the upper band of the Keltner Channel is to take twice the value of a 10-period ATR and add it to a 20-period exponential moving average. The formula for the lower band subtracts the same value from the 20-period EMA.


Y a t'il moyen d'utiliser dans le code la fonction ATR(10) de MT4, la multiplier par 2 et l'ajouter à l'EMA(20) ? Je ne comprend pas pourquoi le mec qui a fait ce code a utilisé une boucle findavr pour faire ce calcul fautif manuellement.
Avatar de l’utilisateur
artemuse
Googlejack
Googlejack
 
Messages: 3276
Jackpoints: 37116
Donner
Inscription: Dim Déc 30, 2007 5:44 pm

Re: Keltner channels indicateur

Messagede GEO_TT » Jeu Juil 09, 2009 1:32 pm

est-ce que ça te convient ?


Code: Tout sélectionner

//+------------------------------------------------------------------+
//|                                               KeltnerChannel.mq4 |
//|                                                  Coded by Gilani |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 White


double upper[], middle[], lower[];
extern int     MA_PERIOD = 20;
extern int     MA_MODE = 0;
extern int     PRICE_MODE = 5;
extern int     ATR_PERIOD = 20;
extern double  K = 2.0;
extern bool    ATR_MODE = false;

int init()
  {
   SetIndexStyle(0,DRAW_LINE);
   SetIndexShift(0,0);
   SetIndexDrawBegin(0,0);
   SetIndexBuffer(0,upper);

   SetIndexStyle(1,DRAW_LINE,STYLE_DOT);
   SetIndexShift(1,0);
   SetIndexDrawBegin(1,0);
   SetIndexBuffer(1,middle);

   SetIndexStyle(2,DRAW_LINE);
   SetIndexShift(2,0);
   SetIndexDrawBegin(2,0);
   SetIndexBuffer(2,lower);
   

//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   
   double avg;
   
   for(int x=0; x<limit; x++) {
     
      middle[x] = iMA(NULL, 0, MA_PERIOD, 0, MA_MODE, PRICE_MODE, x);
     
      if (ATR_MODE)
      avg  = iATR(NULL,0,ATR_PERIOD, x);
      else
      avg  = findAvg(ATR_PERIOD, x);
     
      upper[x] = middle[x] + K*avg;
      lower[x] = middle[x] - K*avg;
   }
   return(0);
  }
//+------------------------------------------------------------------+


   double findAvg(int period, int shift) {
      double sum=0;
      for (int x=shift;x<(shift+period);x++) {     
         sum += High[x]-Low[x];
      }
      sum = sum/period;
      return (sum);
   }
"Deep in the human unconscious is a pervasive need for a logical universe that makes sense. But the real universe is always one step beyond logic."-Dune by Frank Herbert
Avatar de l’utilisateur
GEO_TT
Googlejack
Googlejack
 
Messages: 3928
Jackpoints: 13553
Donner
Inscription: Ven Juil 11, 2008 9:38 pm

Re: Keltner channels indicateur

Messagede Oluru » Ven Juil 10, 2009 9:40 am

Arte :
C'est pas ça que je recherche. Si j'affiche une moyenne de 50 périodes à l'écran et que par un savant calcul je réalise que le prix peut s'en éloigner de 75 pips alors j'amerais en être alerté. Capiche El Trouve Tout


Ne t'ai-je pas programmé tantôt un indicateur du genre te donnant alerte lors de sortie d'"enveloppe" ? L'enveloppe est un décalage en fonction d'une MA. Tu as donc déjà ton indicateur.

Pour les modifs de ton code sur Keltner, ça ne me parait pas difficile mais je n'ai pas encore eu le temps de jeter un oeil, beaucoup d'absence en ce moment. Je vais voir ça si tu n'as toujours pas de solution.
Avatar de l’utilisateur
Oluru
Megajack
Megajack
 
Messages: 684
Jackpoints: 2996
Donner
Inscription: Ven Nov 23, 2007 8:29 am


Retourner vers Bourse




 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

  • Partenaires
  • La riviera
    La riviera
  • Fairway
    Fairway
  • Treasure Mile
    Treasure Mile
  • Vegas Day
    Vegas Day
  • Celtic casino
    Celtic casino
  • Tropezia
    Tropezia