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

 
Svinozavr >>:
Алексей, а чем тебя предложенный мной расчет не устраивает? Тебе индикатор написать, чтоб пояснить? )))

vous faites un décalage incorrect. prenez une période de 3.33333 par exemple.

 
Je peux le faire ?

   for(int i=limit; i>=0; i--)
   {
      MA[i]=(iMA(NULL,0,MathCeil(DMA),0,0,PRICE_CLOSE,i)-iMA(NULL,0,MathFloor(DMA),0,0,PRICE_CLOSE,i))*(DMA-MathFloor(DMA))+ iMA(NULL,0,MathFloor(DMA),0,0,PRICE_CLOSE,i);
   }
 
avatara >>:

вы сдвигаете неверно. возьмите период 3.33333 например.


? ?? Je ne change rien du tout. Et si vous l'écrivez sous la forme Integer, au lieu de la forme FIR habituelle, cela fonctionne comme suit :

(0,33333*Close[3] + Close[2] + Close[1] + Close[0])/3,33333

 
Svinozavr >>:

??? Я вообще ничего не сдвигаю.

arrière. Nous ne comptons pas seulement la valeur 0 du tampon indicateur, mais aussi N-1 des autres.
Je propose d'évaluer l'exactitude de la formule pour d'autres indices.

 
Svinozavr >>:
Алексей, а чем тебя предложенный мной расчет не устраивает? Тебе индикатор написать, чтоб пояснить? )))

Vous n'avez pas besoin d'un indicateur, la formule est suffisante. Votre formule est asymétrique au niveau des prix, c'est ce qui me dérange.

Par exemple, pour une période de 3,5 SMA peut être écrite comme suit :
a1*Close[3] + a2*Close[2] + a2*Close[1] + a2*Close[0], où a2=1/3,5, a1=1-3/3,5 ;

Au fait, il y a un problème avec votre formule. Vous vouliez probablement dire a2=1/3.5, a1=0.5/3.5 ? Et pourquoi exactement a1 est si spécial et pas un autre ? Pourquoi ne pas proposer l'inverse, en rendant la valeur k de Close[0] plus petite ?

Eh bien, vous savez probablement ce qu'est une fonction gamma. C'est une continuation naturelle de la factorielle dans la région non entière. Cette continuation ne viole aucune propriété de la factorielle des entiers et est simultanément la plus "lisse" dans un certain sens (il y avait quelque chose à propos de la convexité, je ne me souviens pas, cela a été étudié il y a longtemps).

En principe, le type voulait probablement que le moindre changement de période (non entier) soit en quelque sorte reflété dans le muve. Mais on peut le faire de mille façons.

2 avatara : Eh bien la même situation. J'aime mieux ta version en fait. Mais il y a là aussi un problème : la contribution des points extrêmes diffère de celle des autres. Ce n'est pas une propriété d'une simple baguette.

Je suis peut-être trop catégorique. Il est préférable d'avoir un exemple sous les yeux - par exemple, en langage simple. Vous pouvez déjà y voir l'algorithme.

 
Mathemat >>:
Лучше всего, когда видишь перед собой пример - скажем, на Easy Language.

J'ai donné un indice. /* comme il me semble - vous devez résoudre le problème géométrique avec un décalage. alors à l'indice 0 la formule de Peter est correcte. Et ensuite changer les coefficients marginaux. */

------

C'est un mini test de provocation ;)

 
Que pensez-vous de cette formule

Par exemple, pour une période de 3,3333333 SMA peut s'écrire comme suit
iMA(...,3,3333333,...)=a1*iMa(...,3,...)+a2*iMa(...,4,...). où a1+a2=1. a1=0,666666, a2=1-a1=0,3333333. Et si nous mettons 0 et 1 dans la formule, c'est ce que nous obtenons.
 
grell >>:
Как вам такая формула

Например, для периода 3.3333333 SMA можно записать так:
iMA(...,3.5,...)=a1*iMa(...,3,...)+a2*iMa(...,4,...). где а1+а2=1. а1=0.6666666, а2=1-а1=0.3333333. И если в формулу подставить 0 и 1, то то на то и выйдет.

+5)

 
À mon avis, c'est une solution très élégante. grell, bravo !
Une formule simple :
2/3*(C0+C1+C2)/3 + 1/3*(C0+C1+C2+C3)/4 = (2/9+1/12)*C0+(2/9+1/12)*C1+(2/9+1/12)*C2+1/12*C3= 11/36*(C0+C1+C2)+1/12*C3
Oui, les K sont asymétriques de toute façon. Mais c'est magnifique !
 
Merci, la solution est venue juste des cas individuels.