Impulsion - page 14

 
Event:
...

Prenez le MA. Trouvez deux de ses valeurs identiques sur des barres très éloignées . Et essayez d'utiliser votre formule pour calculer la variation moyenne du prix de la MAK sur ce nombre de barres. C'est zéro ?

Peut-être que je ne me fais pas bien comprendre - je ne sais pas...

 

Tout est clair ))))

Faites le calcul, attrapez l'élan...

 
Karputov Vladimir:
Il n'y a pas de tels termes ici. Si vous voulez vérifier, calculez alors la valeur pour quinze barres (car vous ne pouvez pas vérifier les ticks - il n'y a pas d'historique pour eux). Prenez les prix de clôture. Cadre temporel M30 (pour plus de clarté).

Il y a des sommands similaires ici, comme -tik14 et +tik14.

Je parlais d'une formule spécifique. Faites le calcul par vous-même.

 
Event:

Il y a des sommands similaires ici, comme -tik14 et +tik14.

Je parlais d'une formule spécifique. Faites le calcul par vous-même.

:). C'est tout. J'ai fini. Je pars à la campagne. Je vous contacterai demain soir.
 
Event:

Tout est clair ))))

Faites le calcul, attrapez l'élan...

Oui, merci.

//+------------------------------------------------------------------+
//|                                                    AVG_close.mq4 |
//|              Copyright 2015, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int      NumberOfBars=10;
int numberOfBars;
//+------------------------------------------------------------------+
void OnInit()
  {
   numberOfBars=(NumberOfBars<1)?1:NumberOfBars;
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Comment("Формула раз: "+DoubleToString(AverageChangePrice(Symbol(),numberOfBars),Digits)+
           "\nФормула два: "+DoubleToString(((Close[numberOfBars]-Close[0])/numberOfBars)/Point,Digits)
          );
  }
//+------------------------------------------------------------------+
double AverageChangePrice(string sy, int period) {
   //--- Среднее изменение цены расчёт
   double avg_change_price=0, pt=SymbolInfoDouble(sy,SYMBOL_POINT);
   for(int i=period; i>0; i--) {
      double subtrahend=(i==period)?Close[i]:Close[i-1];
      double difference_price=(Close[i]-subtrahend)/pt;
      avg_change_price+=difference_price;
      }
   avg_change_price/=period;
   return avg_change_price;
}
//+------------------------------------------------------------------+
 
Karputov Vladimir:
:). C'est tout. J'ai fini. Je pars à la campagne. Je vous contacte demain soir.
A Prostokwashino ?
 
Artyom Trishkin:

Oui, merci.

Pourquoi ?
Digits 
 
new-rena:
Pourquoi ?

Vous n'avez pas à... Il n'y a pas besoin de ça du tout. C'est dans les points. C'est juste que l'un était en prix, l'autre en points. J'ai fait tout cela en points (j'ai modifié le post) et je n'ai pas fait attention au bug. Idiot...

Je vais le réparer, c'est tout...

 

Corrigé :

//+------------------------------------------------------------------+
//|                                                    AVG_close.mq4 |
//|              Copyright 2015, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int      NumberOfBars=10;
int numberOfBars;
//+------------------------------------------------------------------+
void OnInit()
  {
   numberOfBars=(NumberOfBars<1)?1:NumberOfBars;
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Comment("Формула раз: "+IntegerToString((int)AverageChangePrice(Symbol(),numberOfBars))+
           "\nФормула два: "+IntegerToString(int(((Close[numberOfBars]-Close[0])/numberOfBars)/Point()))
          );
  }
//+------------------------------------------------------------------+
double AverageChangePrice(string sy, int period) {
   //--- Среднее изменение цены расчёт
   double avg_change_price=0, pt=SymbolInfoDouble(sy,SYMBOL_POINT);
   for(int i=period; i>0; i--) {
      double subtrahend=(i==period)?Close[i]:Close[i-1];
      double difference_price=(Close[i]-subtrahend)/pt;
      avg_change_price+=difference_price;
      }
   avg_change_price/=period;
   return avg_change_price;
}
//+------------------------------------------------------------------+
 
C'est plus amusant maintenant ;))



Mais quand même - où est l'élan ici ? Il est là ? Peut-on l'attraper ?