Percenter





//+------------------------------------------------------------------+
//|                                                    Percenter.mq4 |
//|                              Copyright © 2008, Nazariy S. (WWer) |
//|                         E-mail: nazariy@i.ua, Skype: nazariy1309 |
//+------------------------------------------------------------------+
//| Ñêðèïò ïðåäíîçíà÷åí äëÿ âû÷èñëåíèÿ ïðîñòûõ, ñëîæíûõ, íîìèíàëüíûõ |
//| è íåïðåðûâíî íà÷èñëÿåìûõ ïðîöåíòîâ.                              |
//| Ñêðèïò âûâîäèò îòíîøíèå ñóììû â êîíöå ïåðèîäà ê òåêóùåé ñóììå,   |
//| òîåñòü ïîêàçûâàåò âî ñêîëüêî ðàç îíà óâåëè÷èòñÿ/óìåíøèòñÿ.       |
//| Ñïîñîá íà÷èñëåíèÿ ïðîöåíòîâ çàäàåòñÿ ïàðàìåòðîì method:          |
//|   1 - Ïðîñòàÿ ïðîöåíòíàÿ ñòàâêà                                  |
//|   2 - Ñëîæíàÿ ïðîöåíòíàÿ ñòàâêà                                  |
//|   3 - Íîìèíàëüíàÿ ïðîöåíòíàÿ ñòàâêà                              |
//|   4 - Ñèëà ðîñòà                                                 |
//| Ïîäðîáíåå ïðî ïðîöåíòû âû ìîæåòå íàéòè çäåñü:                    |
//|   http://ru.wikipedia.org/wiki/Ïðîöåíòíàÿ_ñòàâêà                 |
//+------------------------------------------------------------------+
#property copyright   "Copyright © 2008, Nazariy S. (WWer)"
#property link        "E-mail: nazariy@i.ua, Skype: nazariy1309"
#property show_inputs

#define E 2.71828182845904523536

extern double i;        // ïðîöåíòíàÿ ñòàâêà, âûðàæåííàÿ â äîëÿõ
extern int    n,        // ÷èñëî ïåðèîäîâ íà÷èñëåíèÿ
              m,        // ÷èñëî ïåðèîäîâ íà÷èñëåíèÿ (äëÿ method=3)
              method=2; // ñïîñîá íà÷èñëåíèÿ ïðîöåíòîâ

//+------------------------------------------------------------------+
//| Ô-öèÿ Percent() äëÿ âû÷èñëåíèÿ ïðîöåíòîâ.                        |
//+------------------------------------------------------------------+
double Percent(double i, int n, int m=-1, int method=2)
  {
   double res=0.0;
   switch(method) {
     case 1:  res=n*i+1;
              break;
     case 2:  res=MathPow(1+i,n);
              break;
     case 3:  res=MathPow(1+i/m,m*n);
              break;
     case 4:  res=MathPow(E,i*n);
              break;
     default: return(0);
    }
   return(res);
  }

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   Alert(DoubleToStr(Percent(i,n,m,method),8));
//----
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features:

It issuies visual alerts to the screen