VSA безындикаторная торговля

Подробнее
8 года 10 мес. назад - 8 года 3 мес. назад #435 от Александр
Многие трейдеры применяют однотипные методы технического анализа. Поэтому много почти одинаковых выводов о состоянии рынка и прогнозов о направлении его движения, почти одинаковых ордеров, стопов и профитов к ним. Таким образом образуется толпа - легкая добыча для маркетмейкеров. Техника VSA позволяет принимать торговые решения без использования индикаторов теханализа, но с помощью анализа поведения маркетмейкеров и вызванному ими направлению движению цены (Price Action) и по распределению объема торгов между быками и медведями. Выкладываю свой рабочий индикатор, который показывает распределение объемов покупок и продаж между быками и медведями. Трейдеру лучше всего не идти против действий маркетмейкеров. Для выявления факта входа или выхода маркетмейкера из рынка достаточно изучить поведение объема за 5 торговых дней на 15-минутном таймфрейме.*/

_SECTION_BEGIN("Bull vs Bear Volume ");
formulaName = "Объемы быков и медведей";
SetChartOptions(0, chartShowArrows|chartShowDates);
GfxSetBkMode(1);
GfxSelectFont("Tahoma", 12, 400, italic=False);
GfxSetTextColor(ColorRGB (255, 255, 153));
	GfxTextOut(FormulaName+" "+Name(), 4, 20);
GraphXSpace = 4;

C1 = Ref(C, -1);
uc = C > C1; dc = C <= C1;
ud = C > O; dd = C <= O;


green = 1; blue = 2; yellow = 3; red = 4; white = 5;
VType = IIf(ud, IIf(uc, green, yellow), IIf(dd, IIf(dc, red, blue), white));
 
// Зеленый объем: up-day and up-close
gv = IIf(VType == green, V, 0);
// Желтый объем: up-day but down-close
yv = IIf(VType == yellow, V, 0);
// Красный объем: down-Day AND down-Close
rv = IIf(VType == red, V, 0);
// Голубой объем: down-day but up-close
bv = IIf(VType == blue, V, 0);
 
uv = gv + bv; uv1 = Ref(uv, -1); // Критерий растущего объема
dv = rv + yv; dv1 = Ref(dv, -1); // Критерий падающего объема
 
// Вычисление MA для объемов и осциллятора конв/див
VolPer  = Param("Число периодов усреднения объема", 34, 1, 255, 1);
ConvPer = Param("Число периодов усреднения конв/див", 9, 1, 255, 1);
 
// Вычисление TEMA для растущего и падающего объемов
MAuv = TEMA(uv, VolPer ); mauv1 = Ref(mauv, -1);
MAdv = TEMA(dv, VolPer ); madv1 = Ref(madv, -1);
MAtv = TEMA(V, VolPer ); //total volume
 
// Вывод горизонтальных уровней растущего и падающего объемов для визуального сравнения
OscillatorOnly    = ParamToggle("Показать только осциллятор", "Нет|Да", 0);
CompareBullVolume = ParamToggle("Уровень текущего Бычьего объема", "Скрыть|Показать", 0);
if (CompareBullvolume AND !OscillatorOnly)
		{ Plot(SelectedValue(MAuv), "", colorGreen, styleLine); }
CompareBearVolume = ParamToggle("Уровень текущего Медвежьего объема", "Скрыть|Показать", 0);
if (CompareBearVolume AND !OscillatorOnly)
		{ Plot(SelectedValue(MAdv), "", colorRed, styleLine); }
 
// Выбор объемов для отображения
bullvolume  = ParamToggle("Бычий объем",   "Скрыть|Показать", 1);
bearvolume  = ParamToggle("Медвежий объем","Скрыть|Показать", 1);
totalvolume = ParamToggle("Общий объем",   "Скрыть|Показать", 0);
 
// Настройка отображения объемов
bearToFront = ParamToggle("Слой медвежьего объема", "Верхний|Нижний",0);
if (bearToFront AND !OscillatorOnly)
		{ Plot(MAdv, "", colorDarkRed, styleHistogram|styleNoLabel); }
if (bullvolume AND !OscillatorOnly)
		{ Plot(MAuv, "Средний бычий объем", colorDarkGreen, styleHistogram|styleNoLabel); }
if (bearvolume AND !OscillatorOnly)
		{ Plot(MAdv, "Средний медвежий объем", colorDarkRed, styleHistogram|styleNoLabel); }
if (totalVolume AND !OscillatorOnly)
		{ Plot(MAtv, "Средний общий объем", colorGrey50, styleHistogram|styleNoLabel);
			Plot(MAtv, "", colorWhite, styleThick); }
if (bullvolume AND !OscillatorOnly)
		{ Plot(MAuv, "", colorLime, styleThick); }
if (bearvolume AND !OscillatorOnly)
		{ Plot(MAdv, "", colorRed, styleThick); }
 
// Нулевая линия объема для наглядности
		PlotGrid(0, colorBlue);
 
// Вычисление осциллятора конвергенции роста и падения объемов
Converge     = (TEMA(MAuv - MAdv, ConvPer));

// Включение отображения осциллятора в стиле ClipMinMax
if ( OscillatorOnly )
	{	Plot(Converge, "Осциллятор объема", colorWhite,
			1|styleLeftAxisScale|styleNoLabel|styleThick);
		Plot(0,"", colorAqua, styleLine|styleLeftAxisScale|styleNoLabel); 
		PlotOHLC (Converge,Converge,0,Converge,"", IIf(Converge>=0, colorDarkGreen, colorDarkRed), styleCloud|styleClipMinMax|styleNoLabel);
	}
else { }
_SECTION_END();


_SECTION_BEGIN("Дневные отметки");
SegColor = 53;
ShowSeg = ParamToggle ("Дневные метки", "Показать|Скрыть", 1);
if ( ShowSeg == 0 )
{
Segments = IIf( Interval() < inDaily, Day(), Month() );
Segments = segments != Ref(Segments, -1);
		Plot (Segments, "", colorYellow, styleHistogram|styleDashed|styleOwnScale|styleNoLabel);
} else {}
_SECTION_END();
Последнее редактирование: 8 года 3 мес. назад пользователем admin.
Спасибо сказали: Malik

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 10 мес. назад - 8 года 10 мес. назад #436 от admin
Александр,

мы пробовали похожую тему методом Чеботарева ( Случайность и торговая система ).

Правда довести до прибыльного робота у нас не получилось...
Последнее редактирование: 8 года 10 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
5 года 7 мес. назад #1238 от Nikolay
Извините, я не программист. Можно ли эти индикаторы использовать в квике и как это сделать если можно.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
5 года 7 мес. назад #1239 от admin
Здравствуйте

Это формулы для амиброкера. В квике они работать не будут.

Автором этих индикаторов является автор постов. Возможно, он сможет вам помочь в адаптации индикаторов для терминала quik.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
5 года 7 мес. назад #1240 от Nikolay
Уже понял, спасибо.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin