VSA Зоны спроса и предложения

Подробнее
8 года 10 мес. назад - 8 года 3 мес. назад #438 от Александр
Индикатор Зон спроса и предложения помогает установить диапазоны цен, в которых совершались покупки и продажи в значительных объемах. Включает некоторые другие индикаторы, имеет пользовательские настройки.
_SECTION_BEGIN("Main Chart");
formulaName = "Зоны спроса и предложения";
SetChartOptions(0,chartShowArrows|chartShowDates);
GfxSetBkMode(1);
GfxSelectFont("Tahoma", 14, 600, italic=False);
TextColor = 53;
GfxSetTextColor(TextColor);
GfxTextOut(FormulaName+" "+Name(), 800, -4);
UpColor   = colorBrightGreen;
DownColor = colorRed;
FlatColor = colorWhite;
SegColor = 53;
SetBarsRequired(-10000, 10000);

// Дневные отметки
ShowSeg = ParamToggle ("Дневные метки", "Показать|Скрыть", 0);
if ( ShowSeg == 0 )
{
Segments = IIf( Interval() < inDaily, Day(), Month() );
Segments = segments != Ref(Segments, -1);
Plot (Segments, "", SegColor, styleHistogram|styleDashed|styleOwnScale|styleNoLabel);
} else {}

// Цена
SetBarFillColor (IIf(C>O, UpColor, IIf(C<O, DownColor,FlatColor)));
ChartColor = IIf(Close == Open, FlatColor, IIf(Close > Open, UpColor, DownColor));
Plot(C,Date()+"   Close", ChartColor, styleCandle); 

// Максимумы и минимумы дня
ShowHL = ParamToggle("Дневные МАКС и МИН","Скрыть|Показать", 0);
if ( ShowHL == 1)
{
ND  = DateNum()!= Ref(DateNum(), -1);
DHI = HighestSince(ND, H, 1);
Plot(DHI, "День МАКС", DownColor, styleNoRescale|styleThick, Null, Null, 0, -1);
DLO = LowestSince(ND, L, 1);
Plot(DLO, "День МИН",  UpColor,   styleNoRescale|styleThick, Null, Null, 0, -1);
} else { }

// MA
ShowMA   = ParamToggle("MA", "Показать|Скрыть", 1);
MAPeriod = Param("Период MA", 14, 8, 200, 1);
MAcolor  = IIf (MA(C,MAPeriod) > Ref(MA(C,MAPeriod),-1), colorLime, colorRed);
if (ShowMA == 0 ) {	Plot (MA(C, MAPeriod), "MA", MAcolor, styleThick|styleNoRescale); }
else { }
_SECTION_END();


_SECTION_BEGIN("Зоны спроса и предложения");
sr = ParamToggle("Зоны спроса и предложения","Скрыть|Показать",1);
Per= Param("Чувствительность", 0.1, 0, 10, 0.05);
g  = Param("Число отображаемых зон", 5,0,5,1);
x  = Cum(1);
Pk1= PeakBars  (H,per,1) == 0;
Tk1= TroughBars(L,per,1) == 0;

px1=LastValue(ValueWhen(pk1,x,1));
px2=LastValue(ValueWhen(Pk1,x,2));
px3=LastValue(ValueWhen(Pk1,x,3));
px4=LastValue(ValueWhen(pk1,x,4));
px5=LastValue(ValueWhen(Pk1,x,5));

tx1=LastValue(ValueWhen(Tk1,x,1));
tx2=LastValue(ValueWhen(Tk1,x,2));
tx3=LastValue(ValueWhen(Tk1,x,3));
tx4=LastValue(ValueWhen(Tk1,x,4));
tx5=LastValue(ValueWhen(Tk1,x,5));

XT1=LastValue(ValueWhen(pk1,H,1)); XT1c=LastValue(ValueWhen(pk1,Max(C,O),1));
XT2=LastValue(ValueWhen(Pk1,H,2)); XT2c=LastValue(ValueWhen(pk1,Max(C,O),2));
XT3=LastValue(ValueWhen(Pk1,H,3)); XT3c=LastValue(ValueWhen(pk1,Max(C,O),3));
XT4=LastValue(ValueWhen(pk1,H,4)); XT4c=LastValue(ValueWhen(pk1,Max(C,O),4));
XT5=LastValue(ValueWhen(Pk1,H,5)); XT5c=LastValue(ValueWhen(pk1,Max(C,O),5));

YT1=LastValue(ValueWhen(tk1,L,1)); YT1c=LastValue(ValueWhen(tk1,Min(O,C),1));
YT2=LastValue(ValueWhen(tk1,L,2)); YT2c=LastValue(ValueWhen(tk1,Min(O,C),2));
YT3=LastValue(ValueWhen(tk1,L,3)); YT3c=LastValue(ValueWhen(tk1,Min(O,C),3));
YT4=LastValue(ValueWhen(tk1,L,4)); YT4c=LastValue(ValueWhen(tk1,Min(O,C),4));
YT5=LastValue(ValueWhen(tk1,L,5)); YT5c=LastValue(ValueWhen(tk1,Min(O,C),5));

// Зоны Предложения
ColoredZones = ParamList ("Окраска зон", "Без окраски|Монохромные|Цветные");
if ( ColoredZones == "Без окраски" )
{
ColorD5 = colorBlack;
ColorD4 = colorBlack;
ColorD3 = colorBlack;
ColorD2 = colorBlack;
ColorD1 = colorDarkGrey;
ColorDB = colorRed;

ColorS1 = colorBlack;
ColorS2 = colorBlack;
ColorS3 = colorBlack;
ColorS4 = colorBlack;
ColorS5 = colorDarkGrey;
ColorSB = colorGreen;
}
else if ( ColoredZones == "Монохромные" )
{
ColorD5 = colorDarkRed;
ColorD4 = colorDarkRed;
ColorD3 = colorDarkRed;
ColorD2 = colorDarkRed;
ColorD1 = colorDarkRed;
ColorDB = colorRed;

ColorS1 = colorDarkGreen;
ColorS2 = colorDarkGreen;
ColorS3 = colorDarkGreen;
ColorS4 = colorDarkGreen;
ColorS5 = colorDarkGreen;
ColorSB = colorGreen;
}
else if ( ColoredZones == "Цветные" )
{
ColorD5 = ColorRGB(255, 102, 102);
ColorD4 = ColorRGB(255, 153, 153);
ColorD3 = ColorRGB(255,  51,  51);
ColorD2 = ColorRGB(255,   0,  51);
ColorD1 = ColorRGB(204,   0,  51);
ColorDB = ColorRGB(255, 102, 102);

ColorS1 = ColorRGB(153, 204, 153);
ColorS2 = ColorRGB(102, 204, 102);
ColorS3 = ColorRGB(102, 153, 102);
ColorS4 = ColorRGB( 51, 102,  51);
ColorS5 = ColorRGB(  0,  51,   0);
ColorSB = ColorRGB(204, 255, 204);
}

// Зоны Предложения (DEMAND)
pk1 =IIf(x>px1 AND g>=1 AND sr,XT1, Null);
pk1c=IIf(x>px1 AND g>=1 AND sr,XT1c,Null);
	Plot(pk1, "",ColorDB,styleDashed);
	Plot(pk1c,"",ColorDB,styleDashed);
	PlotOHLC(0,pk1,pk1c,0,"",ColorD1,styleCloud|styleNoLabel,Null, Null, Null, -1);
pk2 =IIf(x>px2 AND g>=2 AND sr,XT2, Null);
pk2c=IIf(x>px2 AND g>=2 AND sr,XT2c,Null);
	Plot(pk2, "",ColorDB,styleDashed);
	Plot(pk2c,"",ColorDB,styleDashed);
	PlotOHLC(0,pk2,pk2c,0,"",ColorD2,styleCloud|styleNoLabel,Null, Null, Null, -2);
pk3 =IIf(x>px3 AND g>=3 AND sr,XT3, Null);
pk3c=IIf(x>px3 AND g>=3 AND sr,XT3c,Null);
	Plot(pk3, "",ColorDB,styleDashed);
	Plot(pk3c,"",ColorDB,styleDashed);
	PlotOHLC(0,pk3,pk3c,0,"",ColorD3,styleCloud|styleNoLabel,Null, Null, Null, -3);
pk4 =IIf(x>px4 AND g>=4 AND sr,XT4, Null);
pk4c=IIf(x>px4 AND g>=4 AND sr,XT4c,Null);
	Plot(pk4, "",ColorDB,styleDashed);
	Plot(pk4c,"",ColorDB,styleDashed);
	PlotOHLC(0,pk4,pk4c,0,"",ColorD4,styleCloud|styleNoLabel,Null, Null, Null, -4);
pk5 =IIf(x>px5 AND g>=5 AND sr,XT5, Null);
pk5c=IIf(x>px5 AND g>=5 AND sr,XT5c,Null);
	Plot(pk5, "",ColorDB,styleDashed);
	Plot(pk5c,"",ColorDB,styleDashed);
	PlotOHLC(0,pk5,pk5c,0,"",ColorD5,styleCloud|styleNoLabel,Null, Null, Null, -5);

// Зоны Спроса (SUPPLY)
tl1 =IIf(x>tx1 AND g>=1 AND sr,YT1, Null);
tl1c=IIf(x>tx1 AND g>=1 AND sr,YT1c,Null);
	Plot(tl1, "",ColorSB,styleDashed);
	Plot(tl1c,"",ColorSB,styleDashed);
	PlotOHLC(0,tl1,tl1c,0,"",ColorS1,styleCloud|styleNoLabel,Null, Null, Null, -1);
tl2 =IIf(x>tx2 AND g>=2 AND sr,YT2, Null);
tl2c=IIf(x>tx2 AND g>=2 AND sr,YT2c,Null);
	Plot(tl2, "",ColorSB,styleDashed);
	Plot(tl2c,"",ColorSB,styleDashed);
	PlotOHLC(0,tl2,tl2c,0,"",ColorS2,styleCloud|styleNoLabel,Null, Null, Null, -2);
tl3 =IIf(x>tx3 AND g>=3 AND sr,YT3, Null);
tl3c=IIf(x>tx3 AND g>=3 AND sr,YT3c,Null);
	Plot(tl3, "",ColorSB,styleDashed);
	Plot(tl3c,"",ColorSB,styleDashed);
	PlotOHLC(0,tl3,tl3c,0,"",ColorS3,styleCloud|styleNoLabel,Null, Null, Null, -3);
tl4 =IIf(x>tx4 AND g>=4 AND sr,YT4, Null);
tl4c=IIf(x>tx4 AND g>=4 AND sr,YT4c,Null);
	Plot(tl4, "",ColorSB,styleDashed);
	Plot(tl4c,"",ColorSB,styleDashed);
	PlotOHLC(0,tl4,tl4c,0,"",ColorS4,styleCloud|styleNoLabel,Null, Null, Null, -4);
tl5 = IIf(x>tx5 AND g>=5 AND sr,YT5, Null);
tl5c= IIf(x>tx5 AND g>=5 AND sr,YT5c,Null);
	Plot (tl5, "",ColorSB,styleDashed);
	Plot (tl5c,"",ColorSB,styleDashed);
	PlotOHLC (0,tl5,tl5c,0,"",ColorS5,styleCloud|styleNoLabel,Null, Null, Null, -5);
_SECTION_END();
Вложения:
Последнее редактирование: 8 года 3 мес. назад пользователем admin.

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

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