Автор |
Сообщение |
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Есть хороший индикатор, который красиво рисует зоны по перелому.
Можно изменить код, чтобы эти зоны не исчезали а оставались на истории?
Код: |
Title = EncodeColor(colorLavender)+Name()+" "+Date()+" "+"Зоны спроса и предложения ";
SetChartOptions(0,chartShowArrows|chartShowDates);
GfxSetBkMode(0);
_SECTION_BEGIN("Зоны Спроса и Предложения");
ShowZones = ParamToggle ("Зоны спроса и предложения", "Показать|Скрыть", 1);
PrStyle = ParamList ("Стиль графика цены", "Свечи,Бары,СвечиVSA,Линия");
Amount = Param ("Чувствительность", 1.7, 0.1, 5, 0.1);
Array = C;
zz0 = Zig (array, amount);
zz1 = Ref (zz0, -1);
zz2 = Ref (zz0, -2);
tr = ValueWhen (zz0 > zz1 AND zz1 < zz2, zz1);
pk = ValueWhen (zz0 < zz1 AND zz1 > zz2, zz1);
PU = tr + 0.01 * abs(tr)*amount;
PD = pk - 0.01 * abs(pk)*amount;
ZZT = IIf (array >= PU AND zz0 > zz1, 1, IIf(array <= PD AND zz0 < zz1, -1, 0));
ZZT = ValueWhen (ZZT != 0, ZZT);
Buy_Valid_ = zzt>0;
Sell_Valid_= zzt<0;
Buy_Valid = ExRem (Buy_Valid_, Sell_Valid_);
Sell_Valid = ExRem (Sell_Valid_, Buy_Valid_);
CandleCol =
IIf (BarsSince(Buy_Valid) < BarsSince(Sell_Valid) AND BarsSince(Buy_Valid) !=0, colorBrightGreen,
IIf (BarsSince(Buy_Valid) > BarsSince(Sell_Valid) AND BarsSince(Sell_Valid)!=0, colorRed, colorLightBlue));
VSA_Color = IIf (Buy_valid, colorYellow, IIf(Sell_valid,colorBrightGreen, Candlecol));
CANDLE_Color = IIf (C==O, colorLightBlue, IIf (C>O, colorBrightGreen, colorRed));
BAR_Color = IIf (C==O, colorBlack, IIf (C>O, colorBlack, colorBlack));
if ( PrStyle == "СвечиVSA") { PriceStyle=styleCandle|4; BodyColor = VSA_Color; }
if ( PrStyle == "Свечи") { PriceStyle=styleCandle|4; BodyColor = CANDLE_Color; }
if ( PrStyle == "Бары") { PriceStyle=styleBar|4; BodyColor = BAR_Color; }
if ( PrStyle == "Линия") { PriceStyle=styleLine|4; BodyColor = colorGold; }
SetBarFillColor(BodyColor);
Plot (C,"Close", BodyColor, PriceStyle|styleNoLabel, Zorder = 2);
// Пики и впадины
pk = BarsSince(Buy_Valid) < BarsSince(Sell_Valid);
tr = BarsSince(Buy_Valid) > BarsSince(Sell_Valid);
Ll = LowestSince (sell_valid,L,1);
hH = HighestSince(Buy_Valid,H,1);
Llm= LowestSince (sell_valid,Min(O,C),1);
hHm= HighestSince(Buy_Valid,Max(O,C),1);
xx = Cum(1);
NoLines = Param("Число зон",3,1,10,1);
// Раскраска зон
Col1 = colorDarkGreen; Col11 = colorGreen;
Col2 = colorDarkRed; Col22 = colorRed;
if (ShowZones == 0)
{
for (i = 1; i < NoLines+1 ; i++)
{
Factor = Param("Смеситель цветов", 0.5,0.01, 1, 0.01);
scol = ColorBlend(Col1,Col11,Factor*(i-1));
rcol = ColorBlend(Col2,Col22,Factor*(i-1));
px1 = LastValue(ValueWhen(Buy_valid,Cum(1),i));
py1 = LastValue(ValueWhen(Buy_valid,Ll,i));
pz1 = LineArray(px1, py1, (BarCount-1), py1);
px1m = LastValue(ValueWhen(Buy_valid,Cum(1),i));
py1m = LastValue(ValueWhen(Buy_valid,Llm,i));
pz1m = LineArray(px1m, py1m, (BarCount-1), py1m);
Plot(pz1m,"",colorPaleGreen,styleDashed|styleNoRescale);
PlotOHLC(pz1,pz1,pz1m,pz1m,"",scol,styleCloud|styleNoLabel|styleNoRescale,0,0,0,-i-nolines);
tx1 = LastValue(ValueWhen(sell_valid,Cum(1),i));
ty1 = LastValue(ValueWhen(sell_valid,Hh,i));
tz1 = LineArray(tx1, ty1, (BarCount-1), ty1);
tx1m = LastValue(ValueWhen(sell_valid,Cum(1),i));
ty1m = LastValue(ValueWhen(sell_valid,Hhm,i));
tz1m = LineArray(tx1m, ty1m, (BarCount-1), ty1m);
Plot(tz1m,"",colorPink,styleDashed|styleNoRescale);
PlotOHLC(tz1,tz1,tz1m,tz1m,"",rcol,styleCloud|styleNoLabel|styleNoRescale,0,0,0,-i-nolines);
}
} else { }
_SECTION_END(); |
|
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Типа так
Код: |
Title = EncodeColor(colorLavender)+Name()+" "+Date()+" "+"Зоны спроса и предложения ";
SetChartOptions(0,chartShowArrows|chartShowDates);
GfxSetBkMode(0);
_SECTION_BEGIN("Зоны Спроса и Предложения");
ShowZones = ParamToggle ("Зоны спроса и предложения", "Показать|Скрыть", 1);
PrStyle = ParamList ("Стиль графика цены", "Свечи,Бары,СвечиVSA,Линия");
Amount = Param ("Чувствительность", 1.7, 0.1, 5, 0.1);
Array = C;
zz0 = Zig (array, amount);
zz1 = Ref (zz0, -1);
zz2 = Ref (zz0, -2);
tr = ValueWhen (zz0 > zz1 AND zz1 < zz2, zz1);
pk = ValueWhen (zz0 < zz1 AND zz1 > zz2, zz1);
PU = tr + 0.01 * abs(tr)*amount;
PD = pk - 0.01 * abs(pk)*amount;
ZZT = IIf (array >= PU AND zz0 > zz1, 1, IIf(array <= PD AND zz0 < zz1, -1, 0));
ZZT = ValueWhen (ZZT != 0, ZZT);
Buy_Valid_ = zzt>0;
Sell_Valid_= zzt<0;
Buy_Valid = ExRem (Buy_Valid_, Sell_Valid_);
Sell_Valid = ExRem (Sell_Valid_, Buy_Valid_);
CandleCol =
IIf (BarsSince(Buy_Valid) < BarsSince(Sell_Valid) AND BarsSince(Buy_Valid) !=0, colorBrightGreen,
IIf (BarsSince(Buy_Valid) > BarsSince(Sell_Valid) AND BarsSince(Sell_Valid)!=0, colorRed, colorLightBlue));
VSA_Color = IIf (Buy_valid, colorYellow, IIf(Sell_valid,colorBrightGreen, Candlecol));
CANDLE_Color = IIf (C==O, colorLightBlue, IIf (C>O, colorBrightGreen, colorRed));
BAR_Color = IIf (C==O, colorBlack, IIf (C>O, colorBlack, colorBlack));
if ( PrStyle == "СвечиVSA") { PriceStyle=styleCandle|4; BodyColor = VSA_Color; }
if ( PrStyle == "Свечи") { PriceStyle=styleCandle|4; BodyColor = CANDLE_Color; }
if ( PrStyle == "Бары") { PriceStyle=styleBar|4; BodyColor = BAR_Color; }
if ( PrStyle == "Линия") { PriceStyle=styleLine|4; BodyColor = colorGold; }
SetBarFillColor(BodyColor);
Plot (C,"Close", BodyColor, PriceStyle|styleNoLabel, Zorder = 2);
// Пики и впадины
pk = BarsSince(Buy_Valid) < BarsSince(Sell_Valid);
tr = BarsSince(Buy_Valid) > BarsSince(Sell_Valid);
Ll = LowestSince (sell_valid,L,1);
hH = HighestSince(Buy_Valid,H,1);
Llm= LowestSince (sell_valid,Min(O,C),1);
hHm= HighestSince(Buy_Valid,Max(O,C),1);
NoLines = Param("Число зон",3,1,10,1);
// Раскраска зон
Col1 = colorDarkGreen; Col11 = colorGreen;
Col2 = colorDarkRed; Col22 = colorRed;
if (ShowZones == 0)
{
for (i = 1; i < NoLines+1 ; i++)
{
Factor = Param("Смеситель цветов", 0.5,0.01, 1, 0.01);
scol = ColorBlend(Col1,Col11,Factor*(i-1));
rcol = ColorBlend(Col2,Col22,Factor*(i-1));
py1 = ValueWhen(Buy_valid,Ll,i);
py1m = ValueWhen(Buy_valid, Llm, i);
Plot(py1m,"",colorPaleGreen,styleDashed|styleNoRescale);
PlotOHLC(py1,py1,py1m,py1m,"",scol,styleCloud|styleNoLabel|styleNoRescale|styleStaircase,0,0,0,-i-nolines);
ty1 = ValueWhen(sell_valid,Hh,i);
ty1m = ValueWhen(sell_valid,Hhm,i);
Plot(ty1m,"",colorPink,styleDashed|styleNoRescale);
PlotOHLC(ty1,ty1,ty1m,ty1m,"",rcol,styleCloud|styleNoLabel|styleNoRescale|styleStaircase,0,0,0,-i-nolines);
}
} else { }
_SECTION_END();
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Именно так, Благодарю! |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|