Всем привет! помогите, пожалуйста, перевести на человеческий язык алгоритм данного индикатора, мне необходимо перепрограммировать его на язык метастока.
//+------------------------------------------------------------------+
//| Schaff Trend Cycle.mq4 |
//| Ramdass - Conversion only |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, FostarFX."
#property link "mail: fostar_fx@yahoo.com"
#property indicator_separate_window
#property indicator_minimum -10
#property indicator_maximum 110
#property indicator_buffers 1
#property indicator_color1 DarkOrchid
//---- input parameters
extern int MAShort=23;
extern int MALong=50;
extern double Cycle=10;
extern int CountBars=300;
//---- buffers
double MA[];
double ST[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
// string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexBuffer(0, MA);
SetIndexBuffer(1, ST);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,DarkOrchid);
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Schaff Trend Cycle |
//+------------------------------------------------------------------+
int start()
{
SetIndexDrawBegin(0,Bars-CountBars+MALong+MAShort+1);
int shift,u,counted_bars=IndicatorCounted();
double MCD, LLV, HHV, MA_Short, MA_Long, sum ,prev, smconst;
int n, i, s;
bool check_begin=false, check_begin_MA=false;
double MCD_Arr[100];
if(Bars<=MALong) return(0);
if (CountBars==0) CountBars=Bars;
//---- initial zero
if(counted_bars<MALong+MAShort)
{
for(i=1;i<=MALong;i++) MA[Bars-i]=0.0;
for(i=1;i<=MALong;i++) ST[Bars-i]=0.0;
}
//----
shift=CountBars-MALong-1;
// if(counted_bars>=MALong) shift=Bars-counted_bars-1;
check_begin = false;
check_begin_MA = false;
n = 1;
s = 1;
smconst = 2 / (1 + Cycle/2);
while(shift>=0)
{
MA_Short = iMA(NULL,0,MAShort,0, MODE_EMA, PRICE_TYPICAL, shift);
MA_Long = iMA(NULL,0,MALong,0, MODE_EMA, PRICE_TYPICAL, shift);
MCD_Arr[n] = MA_Short - MA_Long;
MCD = MA_Short - MA_Long;
if (n >= Cycle)
{
n = 1; check_begin = true; } else {n = n + 1;}
if (check_begin)
{
for (i = 1; i<=Cycle; i++)
{
if (i == 1) {LLV = MCD_Arr;}
else {
if (LLV > MCD_Arr) LLV = MCD_Arr;
}
if (i == 1) {HHV = MCD_Arr;}
else {
if (HHV < MCD_Arr) HHV = MCD_Arr;
}
}
ST[shift] = ((MCD - LLV)/(HHV - LLV))*100 + 0.01;
s = s + 1;
if (s >= (Cycle)/2)
{
s = 1;
check_begin_MA = true;
}
} else {ST[shift] = 0;}
if (check_begin_MA) {
prev = MA[shift + 1];
MA[shift] = smconst * (ST[shift] - prev) + prev; }
shift--;
}
return(0);
}
//+------------------------------------------------------------------+
- Новый контент
- Книга Masterforex-V
-
Академия
- Как стать слушателем Академии
- ⇒ ТС Masterforex-V - Интенсивный Курс Онлайн
- ⇒ Факультет Форекс Скальпинга Magister
- ⇒ Факультет СРЕДНЕсрочной торговли и паттернов ГОСТ
- ⇒ Кафедра ДФВА
- ⇒ Кафедра Опционной Торговли
- ⇒ Факультет биржевой торговли "Futures Trade and Stock Exchange"
- ⇒ Факультет торговли объёмом"
- ⇒ Факультет Инвестиций
- ⇒ ФАКУЛЬТЕТ Пробой Флета, Автоматизация, Автотрейдинг
- ⇒ Кафедра Спектрального Анализа FOREX и ИНДЕКСОВ валют
- ⇒ Система раннего прогнозирования в ТС МФ на основе модернизации АО и WPR
- ⇒ Кафедра FMA_Sar
- ⇒ Кафедра синергетического объемно-волнового анализа (СОВА)
- ⇒Кафедра бинарных опционов
- Как продлить доступ в закрытую часть Академии?
- Форумы
- Галерея
- Блоги
- Скачать
- Контакты
- Личный кабинет
- Больше