10$ pour la mise à jour de l'indicateur - page 6

 
Svinozavr >>:
Ну набросал я индикатор по SMA. Вообще-то, что весовая часть дробной части приходится на старший бар, логично. Отсчитываем-то назад, в историю.
Вот картинка. красный - SMA(4), синий - SMA(3.5), зеленый - SMA(4.5):

Индюк прикреплен, и вот код:

C'est génial !
Et pas 200 lignes de code...
;)

 
D'ailleurs, j'ai observé les SMA avec des périodes de 1,1, 1,2, etc. C'est drôle.
En bref, c'est très amusant. Je pense qu'il n'a - IMHO - aucune application pratique, mais en tant qu'actualisation de l'oxymore "un simple glissement avec un point fractionnel"))) fera l'affaire. Elle a quelque chose des fables zen ("Frappez une paume" etc.) ))))
===
Alexey devrait placer ce sujet dans la branche des tâches non liées au commerce initialement.))))
 
Et la porte était ouverte...
 
grell >>:
А ларчик просто открывался...

Oui... Ce n'est pas la question. C'est juste qu'en tant que personne purement pratique, il ne m'est jamais venu à l'esprit d'ouvrir ce coffre. J'ai assez de boîtes à moi, je dirais même de boîtes de Pandore)).
===
Dois-je le mettre dans la base ? Ou est-il encore préférable de ne pas s'embarrasser de babioles ?)))

 
//+------------------------------------------------------------------+
//|                                                          kMa.mq4 |
//|                                                            Grell |
//|                                                dwgrell@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Grell"
#property link      "dwgrell@gmail.com"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Yellow
#property indicator_color3 Green
extern int    per1=3;
extern double perk=3.7;
extern int    per2=4;
double Buffer1[];
double Bufferk[];
double Buffer2[];
int init()
  {
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buffer1);
  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Bufferk);
  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,Buffer2);
  return(0);
  }
int deinit()
  {
  return(0);
  }
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 a1=perk-MathFloor(perk);
   double a2=MathCeil(perk)-perk;
   for(int i=0; i<limit; i++)
     {
     Buffer1[i]=iMA(NULL,0,per1,0,0,0,i);
     Buffer2[i]=iMA(NULL,0,per2,0,0,0,i);
     Bufferk[i]=a1*iMA(NULL,0,per2,0,0,0,i)+a2*iMA(NULL,0,per1,0,0,0,i);
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
La tête fonctionne, mais pas de la bonne manière.
 
grell >>:
Голова работает, но не в том ключе.

Alors, allons-y. ;)

Les restants sont.

2. pour la pondération linéaire
3. pour l'exponentiel ?
 
Assieds-toi "5" - la baise est défendue. Il y a toujours l'option 4, mais c'est la même que les deux précédentes.
 
grell >>:
Садись "5" - подъеб защитан. Остался 4 вариант, но решается также как и предыдущие 2.
Une combinaison linéaire pour un exposant ?
:о)
 
avatara >>:

Тогда продолжим. ;)

Остались -

Pourquoi pour une exponentielle ? Il a une période "fractionnée" dès le départ, ce qu'il n'a pas - il n'a que des coefficients de rétroaction. C'est ainsi que MT a fait en sorte que l'EMA ne soit pas fractionnée. Tel qu'il est, il a toujours eu un paramètre fractionnaire. Recalculez ce coefficient à partir de la période fractionnée et le tour est joué. k=2.0/(1+période) ;
Eh bien, le reste des standards est élémentaire et déjà fait.

Raison: