Méthode de planimétrie tendancielle - page 4

 
Mathemat:

mais il faudrait alors rejeter l'algorithme standard des méta-quotas.


Il doit être rejeté, si le temps est compté.
 
Mathemat:

Le problème est qu'il faut apprendre à calculer les mashups de manière encore plus optimale que dans le paquet méta-citation standard. Nous avons besoin d'un algorithme de récurrence pour calculer les masses, où une masse de période N est calculée en utilisant une masse connue de période N+1. En principe, ce n'est pas difficile, mais il faut alors rejeter l'algorithme standard du métacquot.

En ce qui concerne la densité des sacs : nous avons clairement besoin d'une sorte d'algorithme de regroupement, car ils peuvent être très inhomogènes verticalement (pour une barre donnée). En bref, la tâche n'est pas du tout facile sur le plan technique.

Nous pouvons faire un indicateur, dans lequel les cent dernières valeurs (si nous utilisons cent sacs) renvoient les valeurs des sacs. Mais dans ce cas, nous ne parlons que de la SMA. L'algorithme est un peu différent pour les autres baguettes, mais en principe, il est également réalisable.
 

Je ne comprends pas bien, Victor. Veuillez expliquer plus en détail. Qu'est-ce que la "dernière centaine" dans un tableau unidimensionnel ?

En principe, la récurrence dans l'algorithme des métacitations est déjà intégrée pour tous les assistants. Mais c'est bon pour appeler les lingettes de la même période. Et nos périodes sont différentes à chaque fois.

 
Mathemat:

En principe, la récurrence dans l'algorithme de méta-citation est déjà intégrée pour tous les assistants. Mais il est bon pour les appels aux mashups de la même période. Et nos périodes sont différentes à chaque fois.

for (i = 2; i<=N;i++) {
  Sum += Close[i];
  MA[i] = Sum/i;
}
P.S. Il semble que les sommes devraient aussi être des tableaux :)
 
Mathemat:

Je ne comprends pas bien, Victor. Veuillez expliquer plus en détail. Qu'est-ce que la "dernière centaine" dans un tableau unidimensionnel ?

En principe, la récurrence dans l'algorithme des métacitations est déjà intégrée pour tous les assistants. Mais c'est bon pour appeler les lingettes de la même période. Et nos périodes sont différentes à chaque fois.


Si vous comptez par la moyenne,

int i,j;
double sum=0, Count;
for (i=0;i<100;i++) {
   for (j=0;j<step;j++) {
       sum+=Close[i*step+j];
       Count++;
   }
   Buffer[i]=sum/Count;
}
Quelque chose comme ça.
 

Ce n'est pas ce que je voulais dire.

double SMA( int newperiod, int sh, double SMAprev )
{
   return( ( SMAprev * ( newperiod - 1 ) + Close[ sh + newperiod - 1 ] ) / newperiod );
}

Au lieu d'un appel coûteux à iMA() (qui additionnera un tas de sommands), la fonction calcule un masque avec la période incrémentée de 1 quelle que soit la période. Donc, en fait, iMA() ne peut être appelé qu'une seule fois sur chaque barre comptée, première et dernière.

Pour l'EMA, un algorithme similaire est également récurrent, bien que moins évident. Le SMMA est équivalent à l'EMA, seul le LWMA reste à voir.

 
L'appel de toute fonction est une charge supplémentaire. Si, par contre, on mémorise un montant au lieu d'un SMAprev, on peut éviter plusieurs opérations.
 
Eh bien oui, on se souvient du montant, ou plutôt de l'ancienne SMA. Pas de problème pour afficher deux codes faisant un millier de calculs sur une barre avec la méthode standard, et la même chose avec ma méthode. Et comparez leur efficacité.
 

Bien sûr, c'est plus rapide. Mais je parle de "encore plus rapide" :). Comparez-le au mien, qui se trouve au-dessus.

 
Aha, Candid, je l'ai maintenant. Pour une barre arbitraire avec un shift sh :

// размер массива SMA[] уже установлен равным N+1 перед вызовом функции
void createSMAsArray( int sh, double& SMA[] ) 
{
   double Sum = 0;
   for ( int i = 1; i <= N; i ++ ) 
   {
     Sum += Close[ sh + i - 1 ];
     SMA[ i ] = Sum / i;
   }
   return;
}
C'est comme ça ? Notez l'indice de sommation initial.