Impulso - pagina 14

 
Event:
...

Prendete il MA. Trova due dei suoi valori identici su barre molto distanti tra loro. E prova ad usare la tua formula per calcolare la variazione media del prezzo del MAK su quel numero di barre. È zero?

Forse non mi sono spiegato bene - non so...

 

Sei a posto ))))

Fai i conti, prendi lo slancio...

 
Karputov Vladimir:
Qui non ci sono questi termini. Se vuoi controllare, allora calcola il valore per quindici barre (dato che non puoi controllare i tick - non c'è storia per loro). Prendete i prezzi di chiusura. M30 timeframe (questo per chiarezza).

Qui ci sono sommatorie simili, come -tik14 e +tik14.

Stavo parlando di una formula specifica. Fate i conti da soli.

 
Event:

Qui ci sono sommatorie simili, come -tik14 e +tik14.

Stavo parlando di una formula specifica. Fate i conti da soli.

:). Questo è tutto. Ho finito. Vado in campagna. Mi terrò in contatto domani sera.
 
Event:

Siete tutti liberi ))))

Fai i conti, prendi lo slancio...

Sì, grazie.

//+------------------------------------------------------------------+
//|                                                    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:
:). Questo è tutto. Ho finito. Vado in campagna. Mi terrò in contatto domani sera.
A Prostokwashino?
 
Artyom Trishkin:

Sì, grazie.

Perché?
Digits 
 
new-rena:
Perché?

Non devi... Non ce n'è affatto bisogno. È nei punti. È solo che uno era in prezzo, l'altro in punti. Ho fatto tutto in punti (modificando il post) e non ho prestato attenzione al bug. Idiota ...

Lo aggiusterò, questo è tutto...

 

Corretto:

//+------------------------------------------------------------------+
//|                                                    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;
}
//+------------------------------------------------------------------+
 
Ora è più divertente ))



Ma comunque - dov'è lo slancio qui? È lì? Può essere catturato?