Прошу расшифровать индикатор.

Omega, Metastock, Metatrader, TradeQuote, Reuters, Bloomberg, CQG, Tenfore. Обсуждение программ, делимся опытом и советами.

Прошу расшифровать индикатор.

Сообщение So10 » 06 ноя 2010, 14:37

У меня в арсенале есть индикатор, который уже не помню где взял.
Как он, в действительности, работает понять не могу. Прошу знакомых с MQL объяснить интересующий меня вопрос:
Каковы условия возникновения сигнала для входа в позицию(большая точка)
| показать
Изображение

а тут сам индюк
http://clip2net.com/s/Byr4
"Ну что, суkа, допрыгался?!"
Аватар пользователя
So10
Старожил
 
Сообщений: 126
Зарегистрирован: 15 янв 2010, 17:40
Откуда: UA
платформа: MT
тех.анализ: MA, MACD, ADX, BB
рынок: Forex
Пункты репутации: 17

Re: Прошу расшифровать индикатор.

Сообщение vladmax » 08 ноя 2010, 08:06

В MQL я не шарю вообще, сейчас разбираюсь с омегой и при изучении наткнулся на такой индикатор на рисунке, там и его название имеется.
Индикатор | показать
1.jpg
1.jpg (71.54 KIB) Просмотров: 1444

И pupkinus® именно об этом говорил в чате.
Неприятность эту мы переживем.
Аватар пользователя
vladmax
Старожил
 
Сообщений: 201
Зарегистрирован: 20 янв 2010, 16:07
Откуда: У Чёрного моря ©
платформа: прилавок
тех.анализ: весы
рынок: учусь

Re: Прошу расшифровать индикатор.

Сообщение So10 » 08 ноя 2010, 09:23

Сообразил, что сделал глупость выложив ссылку на индюк. :-[
Добавил, хлопот(это ж надоскачать, установить, открыть и т.п.)
когда можно было просто выложить код
| показать
/+------------------------------------------------------------------+
//| BBandswaert_Stop_v1.mq4 |
//| Copyright © 2006, TrendLaboratory Ltd. |
//| http://finance.groups.yahoo.com/group/TrendLaboratory |
//| E-mail: igorad2004@list.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, TrendLaboratory Ltd."
#property link "http://finance.groups.yahoo.com/group/TrendLaboratory"

#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 RoyalBlue
#property indicator_color2 Red
#property indicator_color3 RoyalBlue
#property indicator_color4 Red
#property indicator_color5 RoyalBlue
#property indicator_color6 Red
//---- input parameters
extern int Length=20; // Bollinger Bands Period
extern int Deviation=1; // Deviation was 2
extern double MoneyRisk=1.00; // Offset Factor
extern int Signal=1; // Display signals mode: 1-Signals & Stops; 0-only Stops; 2-only Signals;
extern int Line=1; // Display line mode: 0-no,1-yes
extern int Nbars=1000;
//---- indicator buffers
double UpTrendBuffer[];
double DownTrendBuffer[];
double UpTrendSignal[];
double DownTrendSignal[];
double UpTrendLine[];
double DownTrendLine[];
extern bool SoundON=true;
bool TurnedUp = false;
bool TurnedDown = false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line

SetIndexBuffer(0,UpTrendBuffer);
SetIndexBuffer(1,DownTrendBuffer);
SetIndexBuffer(2,UpTrendSignal);
SetIndexBuffer(3,DownTrendSignal);
SetIndexBuffer(4,UpTrendLine);
SetIndexBuffer(5,DownTrendLine);
SetIndexStyle(0,DRAW_ARROW,0,1);
SetIndexStyle(1,DRAW_ARROW,0,1);
SetIndexStyle(2,DRAW_ARROW,0,1);
SetIndexStyle(3,DRAW_ARROW,0,1);
SetIndexStyle(4,DRAW_LINE);
SetIndexStyle(5,DRAW_LINE);
SetIndexArrow(0,159);
SetIndexArrow(1,159);
SetIndexArrow(2,108);
SetIndexArrow(3,108);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- name for DataWindow and indicator subwindow label
short_name="BBands Stop("+Length+","+Deviation+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"UpTrend Stop");
SetIndexLabel(1,"DownTrend Stop");
SetIndexLabel(2,"UpTrend Signal");
SetIndexLabel(3,"DownTrend Signal");
SetIndexLabel(4,"UpTrend Line");
SetIndexLabel(5,"DownTrend Line");
//----
SetIndexDrawBegin(0,Length);
SetIndexDrawBegin(1,Length);
SetIndexDrawBegin(2,Length);
SetIndexDrawBegin(3,Length);
SetIndexDrawBegin(4,Length);
SetIndexDrawBegin(5,Length);
//----
return(0);
}

//+------------------------------------------------------------------+
//| Bollinger Bands_Stop_v1 |
//+------------------------------------------------------------------+
int start()
{
int i,shift,trend;
double smax[25000],smin[25000],bsmax[25000],bsmin[25000];

for (shift=Nbars;shift>=0;shift--)
{
UpTrendBuffer[shift]=0;
DownTrendBuffer[shift]=0;
UpTrendSignal[shift]=0;
DownTrendSignal[shift]=0;
UpTrendLine[shift]=EMPTY_VALUE;
DownTrendLine[shift]=EMPTY_VALUE;
}

for (shift=Nbars-Length-1;shift>=0;shift--)
{
smax[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_UPPER,shift);
smin[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_LOWER,shift);

if (Close[shift]>smax[shift+1]) trend=1;
if (Close[shift]<smin[shift+1]) trend=-1;

if(trend>0 && smin[shift]<smin[shift+1]) smin[shift]=smin[shift+1];
if(trend<0 && smax[shift]>smax[shift+1]) smax[shift]=smax[shift+1];

bsmax[shift]=smax[shift]+0.5*(MoneyRisk-1)*(smax[shift]-smin[shift]);
bsmin[shift]=smin[shift]-0.5*(MoneyRisk-1)*(smax[shift]-smin[shift]);

if(trend>0 && bsmin[shift]<bsmin[shift+1]) bsmin[shift]=bsmin[shift+1];
if(trend<0 && bsmax[shift]>bsmax[shift+1]) bsmax[shift]=bsmax[shift+1];

if (trend>0)
{
if (Signal>0 && UpTrendBuffer[shift+1]==-1.0)
{
UpTrendSignal[shift]=bsmin[shift];
UpTrendBuffer[shift]=bsmin[shift];
if(Line>0) UpTrendLine[shift]=bsmin[shift];
if (SoundON==true && shift==0 && !TurnedUp)
{
Alert("BBands going Up on ",Symbol(),"-",Period());
TurnedUp = true;
TurnedDown = false;
}
}
else
{
UpTrendBuffer[shift]=bsmin[shift];
if(Line>0) UpTrendLine[shift]=bsmin[shift];
UpTrendSignal[shift]=-1;
}
if (Signal==2) UpTrendBuffer[shift]=0;
DownTrendSignal[shift]=-1;
DownTrendBuffer[shift]=-1.0;
DownTrendLine[shift]=EMPTY_VALUE;
}
if (trend<0)
{
if (Signal>0 && DownTrendBuffer[shift+1]==-1.0)
{
DownTrendSignal[shift]=bsmax[shift];
DownTrendBuffer[shift]=bsmax[shift];
if(Line>0) DownTrendLine[shift]=bsmax[shift];
if (SoundON==true && shift==0 && !TurnedDown)
{
Alert("BBands going Down on ",Symbol(),"-",Period());
TurnedDown = true;
TurnedUp = false;
}
}
else
{
DownTrendBuffer[shift]=bsmax[shift];
if(Line>0)DownTrendLine[shift]=bsmax[shift];
DownTrendSignal[shift]=-1;
}
if (Signal==2) DownTrendBuffer[shift]=0;
UpTrendSignal[shift]=-1;
UpTrendBuffer[shift]=-1.0;
UpTrendLine[shift]=EMPTY_VALUE;
}

}
return(0);
}


оказывается, в коде и название и источник есть *WALL*
"Ну что, суkа, допрыгался?!"
Аватар пользователя
So10
Старожил
 
Сообщений: 126
Зарегистрирован: 15 янв 2010, 17:40
Откуда: UA
платформа: MT
тех.анализ: MA, MACD, ADX, BB
рынок: Forex
Пункты репутации: 17

Re: Прошу расшифровать индикатор.

Сообщение Ilyich » 08 ноя 2010, 09:54

So10 писал(а):

когда можно было просто выложить код

Код: выделить все
Для того, что бы выкладывать код, на форуме даже кнопочка есть :)

При использовании этой кнопочки, форум не будет подхватывать лишние теги и команды, что бы не нарушить функциональность кода.
Изображение

Что касается индикатора, то внешне он очень похож на:

Цитата:
Индикатор Параболик SAR (Parabolic Time Price System)

Индикатор был разработан и описан Уэллесом Уилдером в 1976 г. Первоначальное название было «остановка и разворот» («stop and reverse» - SAR). Этот индикатор хорошо работает только на трендовом рынке. Его основная задача Parabolic – определить направление основной тенденции и определить при этом момент закрытия открытых ранее позиций в период разворота тренда. Цена закрытия позиций (значение параболика) определяется для каждого бара по формуле:

* для длинных позиций:
SAR (i) = ACCELERATION * (HIGH (i - 1) - SAR (i - 1)) + SAR (i - 1)

* для коротких позиций:
SAR (i) = ACCELERATION * (LOW (i - 1) - SAR (i - 1)) - SAR (i - 1)

Где:
SAR (i - 1) — значение параболика на предыдущем баре;
ACCELERATION - фактор ускорения; в первый бар обычно принимается равным 0.02, затем вычисляется по формуле: AF = 0.20 + n x 0.02, где n - число новых вершин (донышек);
HIGH (i - 1) — максимальная цена за предыдущий период;
LOW (i - 1) — минимальная цена за предыдущий период.

На бычьем тренде линия Рarabolic находится ниже графика цены, на медвежьем – выше. При пересечении ценой линии Parabolic SAR, происходит разворот индикатора, а следующие его значения располагаются по другую сторону от цены. При этом "перевороте" индикатора точкой отсчета будет служить максимальная или минимальная цена за предыдущий период.
The market, like the Lord, helps those who help themselves. But unlike the Lord, the market does not forgive those who know not what they are doing. (Warren Buffett)
Аватар пользователя
Ilyich
-------------------
-------------------
 
Сообщений: 503
Зарегистрирован: 15 дек 2009, 17:09
платформа: Strategy Runner
тех.анализ: Excel, Metatrader
рынок: Futures
Пункты репутации: 63


Вернуться в Программное обеспечение для трейдинга и технического анализа.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


cron