ЧеловекБудо

Archive for the ‘Программирование’ Category

Уровни Круглых Чисел

In Программирование, Торговая система on Апрель 26, 2009 at 6:48 пп

В среде трейдеров распространено мнение о магии круглых чисел, о том, что в районе их цены испытывают существенную поддержку или сопротивление. Собственноручным методом разработан индикатор для МТ4 для построения уровней круглых чисел.

//+——————————————————————+
//|                                         Уровни круглых чисел.mq4 |
//|                                                   Samura
//|                                  http://budobudda.wordpress.com/ |
//+——————————————————————+
#property copyright «Samura»
#property link      «http://budobudda.wordpress.com/»

#property indicator_chart_window
//—- input parameters
extern color     Krug.4isla = Black;
extern int       Shirina = 2;
extern double    begin   = 0.7;
extern int       Koli4estvo = 10;
extern double    Shag    = 0.1;
//+——————————————————————+
//| Custom indicator initialization function                         |
//+——————————————————————+
int init()
{
//—- indicators
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function                       |
//+——————————————————————+
int deinit()
{
//—-
ObjectsDeleteAll();
// удаляем все объекты

return(0);

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function                              |
//+——————————————————————+
int start()
{
int    counted_bars=IndicatorCounted();
//—-

double kolvo = Koli4estvo*Shag;

for(double i =0; i<kolvo; i=i + Shag)
{
string obekt = i;
double price = begin + i;

ObjectCreate(obekt,OBJ_HLINE,0,0,price);
ObjectSet(obekt,OBJPROP_COLOR,Krug.4isla);
ObjectSet(obekt,OBJPROP_WIDTH,Shirina);

}

//—-
return(0);
}
//+——————————————————————+

p.s. I’ll be back :)

Pivot Points или Стержневые точки

In Планирование, Программирование, Форекс on Январь 5, 2009 at 1:23 пп

Добрый день, доброе утро тем кто проснулся :) .  Недавно на форуме наткнулся на слово – Пивот. И вот, в поисках ответа по просторам инета, информация была добыта.  Что ж, начнем.

Пивот или Стержневой точкой называется уровень изменения направления рынка в конкретный день. При помощи простых арифметических операций с использованием High, Low, Close предыдущего дня(бара) получаем серию чисел. Эти числа указывают на уровни поддержки и сопротивления.

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

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

Стержневые точки (Pivot Points) вычисляются при помощи следующих формул:

Resistance 3 = High + 2*(Pivot – Low)
Resistance 2 = Pivot + (R1 – S1)
Resistance 1 = 2 * Pivot – Low
Pivot Point = ( High + Close + Low )/3
Support 1 = 2 * Pivot – High
Support 2 = Pivot – (R1 – S1)
Support 3 = Low – 2*(High – Pivot)

Как видно, имея три значения за предыдущий день: максимум, минимум и цену закрытия, вы можете вычислить 7 уровней для следующего дня: 3 уровня сопротивления, 3 уровня поддержки и стержневую точку.

Правила анализа:

  1. Если рынок открывается над стержневой точкой, то день считается благоприятствующим для открытия длинных позиций. Если рынок открывается ниже стержневой точки, то день является благоприятствующим для открытия коротких позиций.
  2. Наиболее значимые уровни это R1, S1 и сам уровень стержневой точки.

to be continued ;)

Т.Дэмарк Прогнозирование диапазона цен

In Программирование on Январь 4, 2009 at 4:47 пп

В теории ДэМарка есть формулы прогнозирующие диапазон будущих цен. Мною был разработан скрипт под МТ4, который в виде ценовых меток выводит данный диапазон. Стоит отметить, что этот скрипт можно применять на разных периодах, но использование на дневных и выше наиболее предпочтительнее.

//—-
if (Close[0]>Open[0]){
double h,l,X = (2*High[0]+Close[0]+Low[0])/2 ;
string mah = «Time[0]«,mil = «Low[0]«;

h = X – Low[0];
l = X – High[0];

ObjectCreate(«mah»,OBJ_ARROW,0,Time[0],h);
ObjectSet(«mah»,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);

ObjectCreate(«mil»,OBJ_ARROW,0,Time[0],l);
ObjectSet(«mil»,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
if (Close[0]<Open[0]){
double hh,ll,Xx = (High[0]+Close[0]+2*Low[0])/2 ;
string mahh = «Time[0]«,mill = «Low[0]«;

hh = Xx – Low[0];
ll = Xx – High[0];

ObjectCreate(«mahh»,OBJ_ARROW,0,Time[0],hh);
ObjectSet(«mahh»,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);

ObjectCreate(«mill»,OBJ_ARROW,0,Time[0],ll);
ObjectSet(«mill»,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
if (Close[0]==Open[0]){
double hhh,lll,Xxx = (High[0]+2*Close[0]+Low[0])/2 ;
string mahhh = «Time[0]«,milll = «Low[0]«;

hhh = Xxx – Low[0];
lll = Xxx – High[0];

ObjectCreate(«mahhh»,OBJ_ARROW,0,Time[0],hhh);
ObjectSet(«mahhh»,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);

ObjectCreate(«milll»,OBJ_ARROW,0,Time[0],lll);
ObjectSet(«milll»,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
//—-

вот и все :)