Canal de régression linéaire - page 10

 
Dmitry Fedoseev:

Montre-moi et je disparais pendant un mois. J'assumerai la responsabilité de mes paroles, ce que je ne peux pas faire pour vous. Et pour le croire, même après un mensonge, je suis désolé...

après ce qu'on a menti. Il n'y a pas eu un seul mensonge de ma part ici.
Et le fait que vous ne croyez pas à la vérité est votre problème.
Donc nous avons un accord selon lequel si je brise le cycle en calculant la BB sur chaque barre sauf la première, alors tu disparaîtras du forum pendant un mois ?
Et si je n'échoue pas, que dois-je faire ? Et disparaître pendant un mois ? Ou pour un an ?

 
Nikolai Semko:

Après ce qu'un mensonge. Il n'y a pas eu un seul mensonge de ma part.
Et si vous ne croyez pas à la vérité, c'est votre problème.
C'est-à-dire que nous avons convenu que si je rate le cycle en calculant la BB sur chaque barre sauf la première, alors vous disparaîtrez du forum pendant un mois.
Et si je n'échoue pas, qu'est-ce que je suis censé faire ? Et disparaître pendant un mois ? Ou pour un an ?

Il était suggéré de télécharger la démo et de s'assurer que la largeur du canal est égale à sko multiplié par 1,41. J'ai téléchargé, vérifié, il s'est avéré que ce n'était pas le cas.

 
Dmitry Fedoseev:

Laquelle exactement ?

Je me fie à vos goûts). Pas un procès, bien sûr.
Donnez-moi votre code de construction de canal. Je vais le refaire. Le cycle sera uniquement sur l'histoire. Toutes les valeurs suivantes du canal seront comptées sans le cycle.
 
Nikolai Semko:

...
Il est donc convenu que si je me trompe de cycle dans le calcul de la BB sur toutes les barres sauf la première, vous disparaîtrez du forum pendant un mois ?
Et si je n'échoue pas, que dois-je faire ? Et disparaître pendant un mois ? Ou pour un an ?

Qu'est-ce que cela a à voir avec la rupture du cycle ? Et n'essayez pas d'inventer des conditions et de prouver ensuite qu'elles ont été remplies. L'objet de la conversation est déjà clair pour tout le monde (naïvement, je l'espère, mais je commence à en douter).

Je n'ai besoin de rien. Cet algorithme magique sera suffisant.

 
Yuriy Asaulenko:
En fonction de vos goûts). Pas un échantillonnage, bien sûr.
Donnez-moi votre code de construction de canal. Je vais le refaire. Le cycle sera uniquement sur l'histoire. Toutes les valeurs de canal suivantes seront comptées sans le cycle.

Nah, ce genre de boisson est au-delà de mes goûts.

 
Dmitry Fedoseev:

Nah, ce genre de boisson est au-delà de mes goûts.

Ne vous inquiétez pas, vous n'avez pas été invité à boire. Je vais boire.)
Il y aura donc un code de canal SCO ?
 
Et tu n'as pas besoin de le compliquer, tu n'as pas besoin de le canaliser. Juste std et c'est tout.
 
Yuriy Asaulenko:
Ne vous inquiétez pas, vous n'avez pas été invité à boire. Je vais boire).
Il y aura donc un code de canal SCO ?

Vous n'avez pas besoin d'une chaîne. Assez de std pour correspondre à l'exemple du terminal

 
Dmitry Fedoseev:

Vous n'avez pas besoin d'une chaîne. Juste assez de std pour correspondre à l'exemple du terminal.

Alors, y aura-t-il un Hennessy ?
Ensuite, établissez un lien vers l'exemple à partir du terminal, s'il vous plaît.
Il est préférable de mettre le code ici, sous forme de fichier, afin qu'il soit accessible au public.
Hennesy est une affaire sérieuse).
 
Yuriy Asaulenko:
Alors, Hennessy sera...
Ensuite, un lien vers un exemple du terminal s'il vous plaît.

Je le ferai.

L'exemple du terminal est un peu compliqué, je joins mon indicateur. Il calcule exactement la même chose que l'exemple du terminal, le code est écrit clairement.

Voici sa fonction de démarrage :

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

   int start;
   if(prev_calculated==0){
      start=period;
      double ms=0;
      for(int i=0;i<period;i++){
         ms+=close[i];
      }
      ma[period-1]=ms/period;
   }
   else{
      start=prev_calculated-1;
   }

   for(int i=start;i<rates_total;i++){
      
      ma[i]=ma[i-1]+(-close[i-period]+close[i])/period;
      
      double sm=0;
      for(int j=i-period+1;j<=i;j++){
         sm+=MathPow(close[j]-ma[i],2); 
      }
      Label1Buffer[i]=MathSqrt(sm/period);
   }

   return(rates_total);
  }

La tâche est de faire la même chose sans la boucle interne"for(int j=i-period+1;j<=i;j++){", similaire à la façon dont la MA est calculée dans celle-ci.

Dossiers :
stdX.mq5  6 kb