Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
WcciPatterns_v3
//+------------------------------------------------------------------+
//| |
//| Copyright © 2000-2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "(C)2005, Yuri Ershtad"
#property link "http://www.metaquotes.net"
//----
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 MediumSeaGreen
#property indicator_color2 OrangeRed
#property indicator_color3 DeepSkyBlue
#property indicator_color4 IndianRed
#property indicator_color5 Tomato
#property indicator_color6 LimeGreen
#property indicator_color7 Coral
#property indicator_color8 Red
// Ïàðåìåòû
extern int fastPeriod =6;
extern int slowPeriod =14;
// Áóôåðû äàííûõ
double ZlrBuffer[]; // 1. Zero-line Reject (ZLR) -- trend
double ShamuBuffer[]; // 2. Shamu Trade -- counter
double TlbBuffer[]; // 3. Trend Line Break (TLB/HTLB) -- both
double VegasBuffer[]; // 4. Vegas Trade (VT) -- counter
double GhostBuffer[]; // 5. Ghost Trade -- counter
double RevdevBuffer[]; // 6. Reverse Divergence -- trend
double HooksBuffer[]; // 7. Hook from Extremes (HFE) -- counter
double ExitBuffer[]; // 8. Exit signals
// Èíèöèàëèçàöèÿ
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
string short_name;
IndicatorBuffers(8);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
// Ñèãíàëû îáîçíà÷àþòüñÿ öèôðàìè îò 1 äî 8.
// Äëÿ ñèãíàëîâ ê òîðãîâëå ïî òðåíäó èñïîëüçóåòñÿ çåëåíàÿ ãàììà,
// ïðîòèâ òðåíäà êðàñíàÿ, ñèíÿÿ - äëÿ TLB è HTLB
// ----
short_name="Woodies CCI Paterns ("+fastPeriod+","+slowPeriod+")";
IndicatorShortName(short_name);
// Zero-line Reject (ZLR), trend
SetIndexStyle(0, DRAW_ARROW, EMPTY, 1, MediumSeaGreen);
SetIndexBuffer(0, ZlrBuffer);
SetIndexArrow(0, 140);
SetIndexLabel(0,"Zero-line Reject (ZLR), trend");
SetIndexEmptyValue(0, EMPTY_VALUE);
SetIndexDrawBegin(0, slowPeriod);
// Shamu Trade, counter-trend
SetIndexStyle(1, DRAW_ARROW, EMPTY, 1, OrangeRed);
SetIndexBuffer(1, ShamuBuffer);
SetIndexArrow(1, 141);
SetIndexLabel(1,"Shamu Trade, counter-trend");
SetIndexEmptyValue(1, EMPTY_VALUE);
SetIndexDrawBegin(1, slowPeriod);
// Trend Line Break (TLB), both
SetIndexStyle(2, DRAW_ARROW, EMPTY, 1, DeepSkyBlue);
SetIndexBuffer(2, TlbBuffer);
SetIndexArrow(2, 142);
SetIndexLabel(2,"Trend Line Break (TLB), both");
SetIndexEmptyValue(2, EMPTY_VALUE);
SetIndexDrawBegin(2, slowPeriod);
// Vegas Trade (VT), counter-trend
SetIndexStyle(3, DRAW_ARROW, EMPTY, 1, IndianRed);
SetIndexBuffer(3, VegasBuffer);
SetIndexArrow(3, 143);
SetIndexLabel(3,"Vegas Trade (VT), counter-trend");
SetIndexEmptyValue(3, EMPTY_VALUE);
SetIndexDrawBegin(3, slowPeriod);
// Ghost Trade, counter-trend
SetIndexStyle(4, DRAW_ARROW, EMPTY, 1, Tomato);
SetIndexBuffer(4, GhostBuffer);
SetIndexArrow(4, 144);
SetIndexLabel(4,"Ghost Trade, counter-trend");
SetIndexEmptyValue(4, EMPTY_VALUE);
SetIndexDrawBegin(4, slowPeriod);
// Reverse Divergence, trend
SetIndexStyle(5, DRAW_ARROW, EMPTY, 1, LimeGreen);
SetIndexBuffer(5, RevdevBuffer);
SetIndexArrow(5, 145);
SetIndexLabel(5,"Reverse Divergence, trend");
SetIndexEmptyValue(5, EMPTY_VALUE);
SetIndexDrawBegin(5, slowPeriod);
// Hook from Extremes (HFE), counter-trend
SetIndexStyle(6, DRAW_ARROW, EMPTY, 1, Coral);
SetIndexBuffer(6, HooksBuffer);
SetIndexArrow(6, 146);
SetIndexLabel(6,"Hook from Extremes (HFE), counter-trend");
SetIndexEmptyValue(6, EMPTY_VALUE);
SetIndexDrawBegin(6, slowPeriod);
// Exit signal
SetIndexStyle(7, DRAW_ARROW, EMPTY, 1, RoyalBlue);
SetIndexBuffer(7, ExitBuffer);
SetIndexArrow(7, 251);
SetIndexLabel(7,"Exit signal");
SetIndexEmptyValue(7, EMPTY_VALUE);
SetIndexDrawBegin(7, slowPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
// TODO: add your code here
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
string symbolName;
int i, shift, checksum, counted_bars=IndicatorCounted();
if (Bars<slowPeriod) return(0);
// check for possible errors
if (counted_bars<0) return(-1);
// last counted bar will be recounted
if (counted_bars>0) counted_bars--;
//int limit=Bars-slowPeriod-counted_bars;
int limit = Bars - counted_bars;
if(counted_bars==0) limit-=1+17+1;
if (counted_bars<1 || checksum!=(fastPeriod+slowPeriod+Period()) || symbolName!=Symbol())
{
// Ïàðàìåòðû èçìåíåíû, ïðîâîäèì ðåèíèöèàëèçàöèþ
for(i=1;i<=slowPeriod;i++) ZlrBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) ShamuBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) TlbBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) VegasBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) GhostBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) RevdevBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) HooksBuffer[Bars-i]=EMPTY_VALUE;
for(i=1;i<=slowPeriod;i++) ExitBuffer[Bars-i]=EMPTY_VALUE;
checksum=fastPeriod+slowPeriod+Period();
symbolName=Symbol();
//limit=Bars-slowPeriod;
}
for(shift=limit; shift>=0; shift--)
{
// Çàïîëíåíèå ìàññèâà òî÷åê è îïðåäåëåíèå òðåíäà
int delta=25,level=100;
double slowCCI[20], fastCCI[20];
int a, up=0, dn=0, upnt=5,dpnt=5;
for(a=0;a<20;a++)
{
fastCCI[a]=iCCI(NULL,0,fastPeriod,PRICE_TYPICAL,shift+a);
slowCCI[a]=iCCI(NULL,0,slowPeriod,PRICE_TYPICAL,shift+a);
if (a<8) {
if (slowCCI[a]>0) up++;
if (slowCCI[a]<=0) dn++;
}
}
// Ïàòòåðí ¹ 1 - Îòñêîê îò íóëåâîé ëèíèè (ZLR)
// -----------------------------------------------------------
// Ïàòòåðí "Îòñêîê îò íóëåâîé ëèíèè" (ZLR)" ïðåäñòàâëÿåò ñîáîé
// ñèëüíûé îòñêîê CCI îò íóëåâîé ëèíèè (ZL) èëè îò óðîâíÿ,
// íàõîäÿùåãîñÿ áëèçêî ê íåé. Ïðè ýòîì CCI ìîæåò îòñêàêèâàòü îò
// çíà÷åíèé â ïðåäåëàõ îò +100 äî -100 êàê äëÿ äëèííûõ,
// òàê è äëÿ êîðîòêèõ ïîçèöèé. Íåêîòîðûå òðåéäåðû ëþáÿò ñóæàòü
// äèàïàçîí äî +/-50, ñ÷èòàÿ, ÷òî îí ìîæåò îáåñïå÷èòü ëó÷øèé
// îòñêîê. Ïîçèöèÿ îòêðûâàåòñÿ íà ïåðâîì áàðå, êîòîðûé îòêëîíÿåòñÿ
// èëè îòñêàêèâàåò îò íóëåâîé ëèíèè.
// Ðûíî÷íàÿ ïñèõîëîãèÿ â èñïîëüçîâàíèè ïàòòåðíà ZLR ñèñòåìîé
// Woodies CCI ñîñòîèò â òîì, ÷òî ýòîò ïàòòåðí ïîçâîëÿåò òðåéäåðàì
// ïîêóïàòü ïðè ïàäåíèè è ïðîäàâàòü íà ïîäúåìå. Íè îäèí èç
// èíäèêàòîðîâ, èñïîëüçóåìûõ ïðè òîðãîâëå, íå ìîæåò ýòîãî ñäåëàòü,
// êðîìå CCI.
// Äëÿ áîëüøåé ýôôåêòèâíîñòè, ÷òîáû óñèëèòü ñèãíàë íà âõîä,
// Âû ìîæåòå îáúåäèíèòü èñïîëüçîâàíèå ïàòòåðíà ZLR ñ ïàòòåðíîì
// "Ïðîáîé Ëèíèè Òðåíäà (TLB)". Ïðè èñïîëüçîâàíèè ZLR ñîâìåñòíî
// ñ TLB äëÿ îòêðûòèÿ ïîçèöèè Âû æäåòå ïåðåñå÷åíèÿ êðèâîé CCI
// ïàòòåðíà TLB. Òîðãîâëÿ ñ èñïîëüçîâàíèåì ïàòòåðíà
// ZLR - òîðãîâëÿ ïî òðåíäó. Ôàêòè÷åñêè ýòîò ñïîñîá òîðãîâëè
// ìîæåò áûòü åäèíñòâåííûì òîðãîâûì ïàòòåðíîì ñèñòåìû Woodies CCI,
// êîòîðûé èñïîëüçóåòñÿ òðåéäåðîì, äàâàÿ ïðè ýòîì ïðåâîñõîäíóþ
// ïðèáûëü.
// ----
delta=20; // ôèëüòð áèåíèÿ (|ÑÑI[1]-ÑÑI[2]|>delta)
level=80; // ìîäóëü ãðàíèöû ïàòåðíà
ZlrBuffer[shift]=EMPTY_VALUE;
// ---- ZLR â íèñõîäÿùåì òðåíäå
if(dn>=6 &&
slowCCI[0]<slowCCI[1] && slowCCI[2]<slowCCI[1] &&
MathAbs(slowCCI[0])<level && MathAbs(slowCCI[1])<level &&
MathAbs(slowCCI[1]-slowCCI[2])>delta )
{
ZlrBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
// ZLR â âîñõîäÿùåì òðåíäå
if(up>=6
&& slowCCI[0]>slowCCI[1] && slowCCI[2]>slowCCI[1] &&
MathAbs(slowCCI[0])<level && MathAbs(slowCCI[1])<level &&
MathAbs(slowCCI[1]-slowCCI[2])>delta )
{
ZlrBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// Ïàòòåðí ¹ 2 - Øàìó (shamu trade)
// -----------------------------------------------------------
// Ïàòòåðí "Øàìó (shamu trade)" ôîðìèðóåòñÿ, êîãäà CCI ïåðåñåêàåò
// íóëåâóþ ëèíèþ (ZL), çàòåì ðàçâîðà÷èâàåòñÿ íàçàä è ñíîâà
// ïåðåñåêàåò íóëåâóþ ëèíèþ (ZL) â ïðîòèâîïîëîæíîì íàïðàâëåíèè,
// çàòåì åùå ðàç ðàçâîðà÷èâàåòñÿ è ïåðåñåêàåò íóëåâóþ ëèíèþ,
// ïðîäîëæàÿ äâèæåíèå â ïåðâîíà÷àëüíîì íàïðàâëåíèè.
// Ýòî - âèä çèãçàãîîáðàçíîãî ïàòòåðíà âîêðóã ZL.
// Îí íå îáÿçàòåëüíî âîçíèêàåò íåïîñðåäñòâåííî íà íóëåâîé ëèíèè,
// íî ëó÷øèå ïàòòåðíû Øàìó ôîðìèðóþòñÿ ïðè âîçíèêíîâåíèè çèãçàãà
// CCI â ïðåäåëàõ çíà÷åíèé +/-50.
// Òîðãîâûé ïàòòåðí Øàìó - ýòî íåóäàâøèéñÿ ïàòòåðí ZLR.
// Ïåðâîíà÷àëüíî ýòî áûë ïàòòåðí ZLR. Íî ZLR ðàçâåðíóëñÿ â
// ïðîòèâîïîëîæíîì íàïðàâëåíèè è íå ñôîðìèðîâàëñÿ, òàê ÷òî ìû
// äîëæíû âûõîäèòü. Âîò ïî÷åìó Âû íå æäåòå ðàçâîðîòà â íàäåæäå íà òî,
// ÷òî òîðãîâëÿ âåðíåòñÿ â íóæíîå ðóñëî. Åñëè âî âñåõ ýòèõ òîðãîâûõ
// ñëó÷àÿõ Âû èçíà÷àëüíî îòêðûâàåòå ïîçèöèþ ïî ïàòòåðíó ZLR,
// òî çàâèñèò îò Âàñ, è åñëè Âû âîâðåìÿ íå âûøëè, òî ìîæåòå ïîíåñòè
// ïîòåíöèàëüíî áîëüøèå ïîòåðè.
// Òîðãîâëÿ ñ èñïîëüçîâàíèåì ïàòòåðíà Øàìó - ïî ñóòè ÿâëÿåòñÿ
// ïðîòèâîòðåíäîâîé, è áûëà ðàçâèòà êàê ñïîñîá òîðãîâëè ïî ïðèíöèïó
// stop-and-reverse (SAR) ê íåóäàâøåìóñÿ ZLR. Íîâè÷êè, òîëüêî
// íà÷àâøèå èçó÷àòü ñèñòåìó Woodies CCI, íå äîëæíû èñïîëüçîâàòü
// ýòîò ñïîñîá òîðãîâëè. Îäíàêî îáðàòèòå íà íåãî âíèìàíèå è
// èçó÷àéòå ïî ìåðå ïðîäâèæåíèÿ â îñâîåíèè ñèñòåìû.
// ----
delta=15; level=50;
ShamuBuffer[shift]=EMPTY_VALUE;
// øàìó â íèñõîäÿùåì òðåíäå
if (dn>=6 &&
slowCCI[0]>slowCCI[1]+delta &&
slowCCI[1]<slowCCI[2] && slowCCI[2]>slowCCI[3] &&
slowCCI[1]<=level && slowCCI[1]>=-level &&
slowCCI[2]<=level && slowCCI[2]>=-level)
{
ShamuBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// øàìó â âîñõîäÿùåì òðåíäå
if (up>=6 &&
slowCCI[0]<slowCCI[1]-delta &&
slowCCI[1]>slowCCI[2] && slowCCI[2]<slowCCI[3] &&
slowCCI[1]>=-level && slowCCI[1]<=level &&
slowCCI[2]>=-level && slowCCI[2]<=level)
{
ShamuBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
// Ïàòòåðí ¹ 3 - Ïðîáîé Ëèíèè Òðåíäà (TLB)
// -----------------------------------------------------------
// Ïàòòåðí "Ïðîáîé Ëèíèè Òðåíäà (TLB)" èñïîëüçóåò äâà èëè áîëåå
// ïðèëè÷íûõ ðàçìåðîâ ïèêà èëè âïàäèíû, îáðàçóåìûõ CCI èëè TCCI
// äëÿ òîãî, ÷òîáû ïðîâåñòè ÷åðåç íèõ ëèíèþ òðåíäà. Ïðè ïåðåñå÷åíèè
// èëè ïðîáèòèè CCI ýòîé ëèíèè òðåíäà (tl), âîçíèêàåò ñèãíàë äëÿ
// îòêðûòèÿ ïîçèöèè. Ïðè ýòîì, ÷òîáû ñèãíàë áûë äåéñòâèòåëüíûì,
// îäèí êîíåö ëèíèè òðåíäà äîëæåí ðàñïîëàãàòüñÿ íà óðîâíå +/-100
// CCI èëè áîëåå. ×åì áîëüøå òî÷åê êàñàíèÿ èìååò òàêàÿ ëèíèÿ òðåíäà,
// òåì áîëåå çíà÷èìîé îíà ÿâëÿåòñÿ. Èñïîëüçîâàíèå òîëüêî äâóõ òî÷åê
// êàñàíèÿ ÿâëÿåòñÿ íîðìàëüíûì è ñîçäàåò îòëè÷íî äåéñòâóþùèé
// ïàòòåðí TLB. Òàêæå âîçìîæíî ñîâìåñòíîå èñïîëüçîâàíèå êàñàíèé
// CCI è TCCI äëÿ êàæäîé ëèíèè òðåíäà. Ýòîò ïàòòåðí òàêæå èñïîëüçóåòñÿ
// êàê îäèí èç ñèãíàëîâ âûõîäà èëè êàê CCI ñèãíàë ïîäòâåðæäåíèÿ.
// Ýòî âåñüìà óäîáíî è øèðîêî èñïîëüçóåòñÿ â ñèñòåìå Woodies CCI.
// Òîðãîâëÿ ñ èñïîëüçîâàíèåì ïàòòåðíà TLB ìîæåò ïðîâîäèòüñÿ êàê
// ïî òðåíäó, òàê è ïðîòèâ òðåíäà. Íîâè÷êè, èñïîëüçóþùèå ñèñòåìó
// Woodies CCI, äîëæíû òîðãîâàòü ñ ïîìîùüþ ïàòòåðíà TLB òîëüêî ïî
// òðåíäó. Îäíàêî ïðèñìîòðèòåñü ê íåìó è èçó÷àéòå åãî ïî ìåðå
// ïðîäâèæåíèÿ â îñâîåíèè ñèñòåìû.
// Âû ìîæåòå êîìáèíèðîâàòü èñïîëüçîâàíèå ïàòòåðíà "Îòêàò îò
// íóëåâîé ëèíèè (ZLR)" è ïàòòåðíà "Îáðàòíàÿ äèâåðãåíöèÿ (rev diver)"
// ñ ïàòòåðíîì "Ïðîáîé Ëèíèè Òðåíäà (TLB)" äëÿ óñèëåíèÿ ñèãíàëà è
// áîëüøåé âåðîÿòíîñòè óñïåõà. Ïðè èõ ñîâìåñòíîì èñïîëüçîâàíèè Âû
// îòêðûâàåòå ïîçèöèþ ïðè ïðîðûâå ëèíèè òðåíäà, ïîñêîëüêó ýòî
// ïðîèçîéäåò â ïîñëåäíþþ î÷åðåäü.
// Äðóãîé ìåòîä âõîäà â òîðãîâëþ ïî TLB ñîñòîèò â èñïîëüçîâàíèè
// ñèãíàëà ïîäòâåðæäåíèÿ îò CCI, - ïåðåñå÷åíèå èì óðîâíÿ +/-100.
// Ýòî äàåò áîëüøèé øàíñ óñïåøíîñòè ñäåëêè. Âû ìîæåòå íå èñïîëüçîâàòü
// ýòîò ìåòîä è, òåì íå ìåíåå, ïîëó÷èòü áîëüøóþ ïðèáûëü ïðè òîðãîâëå
// ïî TLB, åñëè Âû âõîäèòå çàäîëãî äî ýòîãî óðîâíÿ. Îäíàêî åñëè Âû
// íå äîáàâèòå ïîäòâåðæäåíèå CCI â âèäå ïåðåñå÷åíèÿ èì óðîâíÿ +/-100,
// òîãäà âàøà òîðãîâëÿ ïî TLB ìîæåò ÷àñòî íå ñðàáàòûâàòü. Âûáåðèòå
// ñïîñîá âõîäà è ïðèäåðæèâàéòåñü åãî. Íå ìåíÿéòå åãî åæåäíåâíî.
// Âû î÷åíü ÷àñòî áóäåòå íàõîäèòü âîçíèêàþùèìè ñîâìåñòíî ïàòòåðíû TLB è
// ZLR. Èíîãäà âìåñòå ñ íèìè áóäåò òàêæå ïîÿâëÿòüñÿ ïàòòåðí "rev diver".
// Âû äîëæíû íà÷àòü ðàçëè÷àòü, êîãäà CCI ïàòòåðíû ñëåäóþò îäèí çà äðóãèì,
// à êîãäà ôîðìèðóþòñÿ âìåñòå, ÷òî óñèëèâàåò ñèãíàëû. Ïóñòü Âàñ ýòî íå
// ñìóùàåò. Âàì íåîáõîäèì òîëüêî îäèí CCI ïàòòåðí, ÷òîáû îòêðûòü ïîçèöèþ.
// Îäíàêî åñëè âîçíèêàåò êîìáèíàöèÿ èç íåñêîëüêèõ ñèãíàëîâ, òî âåðîÿòíîñòü
// óñïåõà ýòîé ñäåëêè óâåëè÷èâàåòñÿ.
// -----------------------------------------------------------
// Ïðîáîé Ãîðèçîíòàëüíîé Ëèíèè Òðåíäà (HTLB)
// -----------------------------------------------------------
// Ïðè òîðãîâëå íà ïðîáîå ãîðèçîíòàëüíîé ëèíèè òðåíäà (HTLB) -
// ëèíèÿ òðåíäà ïðîâîäèòñÿ ãîðèçîíòàëüíî ÷åðåç âåðøèíû îòñêîêîâ
// CCI è TCCI îò íóëåâîé ãîðèçîíòàëüíîé ëèíèè, êîòîðûå âûñòðàèâàþòñÿ
// â õîðîøèé ïðÿìîé ðÿä, íî íàèáîëåå ÷àñòî â ýòèõ ïàòòåðíàõ
// èñïîëüçóåòñÿ CCI.
// Ëèíèþ òðåíäà ìîæíî ïðîâåñòè ÷åðåç âíóòðåííèå èëè âíåøíèå òî÷êè
// îòêàòà ïî ëþáóþ ñòîðîíó îò íóëåâîé ëèíèè. Îäíàêî âñå òî÷êè îòêàòà
// äîëæíû ðàñïîëàãàòüñÿ íà îäíîé ñòîðîíå îò íóëåâîé ëèíèè. Ëó÷øèé
// ðåçóëüòàò ìîæåò áûòü äîñòèãíóò ïðè ïðîáîå ãîðèçîíòàëüíîé
// ëèíèè òðåíäà, ðàñïîëîæåííîé â ïðåäåëàõ +/-50.
//  èäåàëå ãîðèçîíòàëüíàÿ ëèíèÿ òðåíäà ñòðîèòñÿ ÷åðåç òðè è áîëåå
// òî÷êè îòêàòà, íî ìîæåò áûòü ïðîâåäåíà è ÷åðåç äâå òî÷êè.
// Êàæäûé îòêàò íà îäèí è òîò æå ãîðèçîíòàëüíûé óðîâåíü ïîêàçûâàåò,
// ÷òî â ýòîé îáëàñòè ðàñïîëàãàåòñÿ ñâîåãî ðîäà çîíà ïîääåðæêè èëè
// ñîïðîòèâëåíèÿ. Ïðè ïðîðûâå ýòîé ëèíèè ìîæíî îæèäàòü ñèëüíîå
// äâèæåíèå è, ñîîòâåòñòâåííî, õîðîøóþ ïðèáûëü. Ýòîò ïàòòåðí ÷àñòî
// ìîæíî âñòðåòèòü íà êîíñîëèäèðóþùåìñÿ ðûíêå.
// Òîðãîâëÿ íà ïðîáîå ãîðèçîíòàëüíîé ëèíèè òðåíäà ìîæåò âåñòèñü
// êàê ïî òðåíäó, òàê è ïðîòèâ òðåíäà. Ñèãíàëû íà âûõîä òå æå ñàìûå,
// ÷òî è ïðè ëþáîì äðóãîì ñïîñîáå òîðãîâëè.
// ----
delta=25; level=100;
// ----
TlbBuffer[shift]=EMPTY_VALUE;
int min1=0,min2=0,min3=0,max1=0,max2=0,max3=0; // çíà÷åíèÿ ìèí/ìàõ
int tmin1=0,tmin2=0,tmin3=0,tmax1=0,tmax2=0,tmax3=0; // âðåìÿ ìèí/ìàõ
double kmin=0,kmax=0; // ëèíåéíûé êîýôôèöèåíò
double line;
// Îïðåäåëåíèå ìèí/ìàêñ è ïîñòðîåíèå ëèíèè òðåíäà
for(a=0;a<=17;a++)
{
// îïðåäåëåíèå ìàêñèìóìîâ
if (slowCCI[a]<=slowCCI[a+1] && slowCCI[a+1]>=slowCCI[a+2])
{
if (max1!=0 && max2==0)
{
max2=slowCCI[a+1];
tmax2=Time[a+1+shift];
kmax=100*(max2-max1)/(tmax2-tmax1);
}
if (max1==0)
{
max1=slowCCI[a+1];
tmax1=Time[a+1+shift];
}
}
// îïðåäåëåíèå ìèíèìóìîâ
if (slowCCI[a]>=slowCCI[a+1] && slowCCI[a+1]<=slowCCI[a+2])
{
if (min1!=0 && min2==0)
{
min2=slowCCI[a+1];
tmin2=Time[a+1+shift];
kmin=100*(min2-min1)/(tmin2-tmin1);
}
if (min1==0)
{
min1=slowCCI[a+1];
tmin1=Time[a+1+shift];
}
}
}
// TLB ctr â íèñõîäÿùåì òðåíäå
if (kmax!=0 && dn>=6 && (max1<-level || max2<-level))
{
line=(Time[shift]-tmax1)*kmax/100+max1;
if (slowCCI[1]<line && slowCCI[0]>=line)
{
TlbBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
}
// TLB ctr â âîñõîäÿùåì òðåíäå
if (kmin!=0 && up>=6 && (min1>level || min2>level))
{
line=(Time[shift]-tmin1)*kmin/100+min1;
if (slowCCI[1]>line && slowCCI[0]<=line)
{
TlbBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
}
// TLB tr â íèñõîäÿùåì òðåíäå
if (kmin!=0 && dn >=6 && (min1<-level || min2<-level))
{
line=(Time[shift]-tmin1)*kmin/100+min1;
if (slowCCI[1]>line && slowCCI[0]<line)
{
TlbBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
}
// TLB tr â âîñõîäÿùåì òðåíäå
if (kmax!=0 && up>=6 && (max1>level || max2>level))
{
line=(Time[shift]-tmax1)*kmax/100+max1;
if (slowCCI[1]<line && slowCCI[0]>line)
{
TlbBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
}
// Ïàòòåðí ¹ 4 - Âåãàñ (VT)
// -----------------------------------------------------------
// Ïàòòåðí Âåãàñ (VT) ÿâëÿåòñÿ êîìáèíàöèåé íåñêîëüêèõ âåùåé.
// Âî-ïåðâûõ, äîëæåí âîçíèêíóòü CCI ïàòòåðí "Ýêñòðåìàëüíûé Êðþê (HFE)",
// ïîñëå ýòîãî äîëæåí ïîÿâèòüñÿ íàáîð CCI áàðîâ â âèäå ÷àñòè÷íî
// çàêðóãëåííîãî èëè îêðóãëîãî ïàòòåðíà. Òàêèõ îêðóãëûõ áàðîâ äîëæíî
// áûòü êàê ìèíèìóì 3 áàðà ïî íàïðàâëåíèþ ê íóëåâîé ëèíèè èëè îò íåå.
// Äðóãèìè ñëîâàìè, çàêðóãëåíèå ìîæåò áûòü â ëþáîì íàïðàâëåíèè â
// çàâèñèìîñòè îò òîãî, íà êàêîé ñòîðîíå îò íóëåâîé ëèíèè (ZL) ôîðìèðóåòñÿ
// âõîäíîé ïàòòåðí. Îäíàêî âõîäíîé ïàòòåðí VT äîëæåí ñôîðìèðîâàòüñÿ
// òîëüêî íà îäíîé ñòîðîíå îò íóëåâîé ëèíèè. Ýòî îçíà÷àåò, ÷òî ïåðâàÿ
// ÷àñòü (îò êðþêà CCI) êîëåáàíèÿ ïàòòåðíà high/low íå ÿâëÿåòñÿ çàêðóãëåííîé
// ÷àñòüþ ïàòòåðíà. Áîëåå ñèëüíûé ñèãíàë âîçíèêàåò, êîãäà êîëåáàíèå
// ïàòòåðíà high/low ñòàíîâèòñÿ çàêðóãëåííîé ÷àñòüþ. Òàêæå ïàòòåðí ìîæåò
// èìåòü íåñêîëüêî êîëåáàíèé high/low. Çàêðóãëåíèå î÷åíü âàæíî äëÿ
// ïàòòåðíà â öåëîì è óêàçûâàåò íà áîðüáó, êîòîðàÿ âïîëíå ìîæåò ïðèâåñòè
// ê ñèëüíîìó ðàçâîðîòó òðåíäà.
// Ïîñëåäíÿÿ ÷àñòü ïàòòåðíà - ëèíèÿ òðåíäà, ïðîâåäåííàÿ ïðÿìî ÷åðåç
// âåðõ èëè íèç íåäàâíåãî êîëåáàíèÿ. Ïðîðûâ ââåðõ èëè âíèç ýòîãî óðîâíÿ -
// íàø âõîä â òîðãîâëþ.
// ----
// Îáû÷íî ïîëíûé ïàòòåðí "Âåãàñ (VT)" ôîðìèðóåòñÿ ãäå-íèáóäü çà ïåðèîä
// îò 8 äî 12 áàðîâ è áîëåå, íî åñëè îí ñòàíîâèòñÿ ñëèøêîì øèðîêèì äî
// ïîÿâëåíèÿ ñèãíàëà íà âõîä, òîãäà âåðîÿòíîñòü óñïåõà ñíèæàåòñÿ, è ñèëà
// äâèæåíèÿ ìîæåò áûòü ìåíüøå. Ïàòòåðí "Âåãàñ (VT)" óêàçûâàåò íà
// ïîòåíöèàëüíóþ âîçìîæíîñòü î÷åíü ñèëüíîãî èçìåíåíèÿ òðåíäà.
// Woodie íàñòîÿòåëüíî ðåêîìåíäóåò èñïîëüçîâàòü 25-lsma èíäèêàòîð
// êàê äîïîëíèòåëüíûé êðèòåðèé âõîäà ïî ïàòòåðíó "Âåãàñ (VT)".
// Êîãäà 25-lsma èíäèêàòîð ïîêàçûâàåò, ÷òî öåíà íàõîäèòñÿ íà ñòîðîíå
// íàïðàâëåíèÿ âõîäà ïî ïàòòåðíó "Âåãàñ (VT)", ñóùåñòâóåò áîëüøàÿ
// âåðîÿòíîñòü òîãî, ÷òî òîðãîâëÿ áóäåò óñïåøíîé. Àááðåâèàòóðà
// ñêîëüçÿùåé ñðåäíåé LSMA îçíà÷àåò Least Squares Moving Average,
// è òàêàÿ ñêîëüçÿùàÿ ñðåäíÿÿ ìîæåò áûòü íàéäåíà â íåêîòîðûõ
// ãðàôè÷åñêèõ ïàêåòàõ ïîä èìåíåì "Êðèâàÿ ëèíåéíîé ðåãðåññèè"
// (Linear Regression Curve).
// Äðóãèìè ñëîâàìè, åñëè ïàòòåðí "Âåãàñ (VT)" ôîðìèðóåòñÿ äëÿ
// äëèííîãî âõîäà, íåîáõîäèìî, ÷òîáû öåíà áûëà âûøå 25-lsma èíäèêàòîðà
// è, ïî âîçìîæíîñòè, 25-lsma òàêæå áûë íàïðàâëåí ââåðõ. Åñëè ïàòòåðí
// VT ôîðìèðóåòñÿ äëÿ êîðîòêîãî âõîäà, íåîáõîäèìî, ÷òîáû öåíà áûëà
// íèæå 25-lsma è, æåëàòåëüíî, ÷òîáû 25-lsma òàêæå áûë íàïðàâëåí âíèç.
// Òàê êàê ìû íå èñïîëüçóåì öåíû, ÷òîáû òîðãîâàòü ïî ñèñòåìå Woodies CCI,
// òî ðåêîìåíäóåòñÿ íà ãðàôèêå öåíû îòîáðàæàòü òîëüêî 25-lsma èíäèêàòîð.
// À ëó÷øå èñïîëüçîâàòü 25-lsma èíäèêàòîð, ðàçìåùåííûé íà îäíîì ãðàôèêå
// ñ CCI, ÷òîáû îòäåëüíûì öâåòîì ïîêàçàòü ýòè ÷åòûðå óñëîâèÿ.
// Òîðãîâëÿ ñ èñïîëüçîâàíèåì ïàòòåðíà "Âåãàñ" ïî ñóòè - òîðãîâëÿ
// ïðîòèâ òðåíäà.
// ----
delta=10; limit=200;
// ----
max1=0; max2=0; tmax1=0; tmax2=0;
min1=0; min2=0; tmin1=0; tmin2=0;
VegasBuffer[shift]=EMPTY_VALUE;
// îïðåäåëåíèå òî÷åê
if (dn>=6)
{
for(a=13;a>=1;a--)
{
if (slowCCI[a]<=slowCCI[a+1] && slowCCI[a+1]>=slowCCI[a+2] &&
min1!=0 && max1==0)
{
max1=slowCCI[a+1];
tmax1=a+1;
}
if (slowCCI[a]>=slowCCI[a+1] && slowCCI[a+1]<=slowCCI[a+2] &&
min1==0 && slowCCI[a+1]<=-limit && a+1>=5)
{
min1=slowCCI[a+1];
tmin1=a+1;
}
}
}
// Îïðåäåëåíèå òî÷åê.
if (up>=6)
{
for(a=13;a>=1;a--)
{
if (slowCCI[a]>=slowCCI[a+1] && slowCCI[a+1]<=slowCCI[a+2] &&
min2!=0 && max2==0)
{
min2=slowCCI[a+1];
tmin2=a+1;
}
if (slowCCI[a]<=slowCCI[a+1] && slowCCI[a+1]>=slowCCI[a+2] &&
max2==0 && slowCCI[a+1]>=limit && a+1>=5)
{
max2=slowCCI[a+1];
tmax2=a+1;
}
}
}
// Vegas â íèñõîäÿùåì òðåíäå
if (dn>=6 && max1!=0 && slowCCI[1]<max1 && slowCCI[0]>=max1 &&
slowCCI[0]-delta>slowCCI[1] /* && slowCCI[0]>slowCCI[1] && !(slowCCI[1]-delta>slowCCI[2]) */)
{
VegasBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// Vegas â âîñõîäÿùåì òðåíäå
if (up >=6 && min2!=0 && slowCCI[1]>min2 && slowCCI[0]<=min2 &&
slowCCI[0]+delta<slowCCI[1]
/* && slowCCI[0]<slowCCI[1] && !(slowCCI[1]+delta<slowCCI[2]) */)
{
VegasBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
// Ïàòòåðí ¹ 5 - Ïðèçðàê (Ghost)
// -----------------------------------------------------------
// Ïàòòåðí "Ïðèçðàê" ôîðìèðóåòñÿ 3 âåðøèíàìè, êîòîðûå ïîñëåäîâàòåëüíî
// îáðàçóþò: îäíó ðóêó, ãîëîâó è çàòåì äðóãóþ ðóêó. (Íàâåðíîå,
// òî÷íåå áóäåò ñêàçàòü: "Ãîëîâà è ïëå÷è"). Ýòè ôèãóðû ìîãóò áûòü
// ñôîðìèðîâàíû êàê CCI, òàê è TCCI. Òåì íå ìåíåå, áîëüøèíñòâî
// òðåéäåðîâ èñïîëüçóþò CCI äëÿ îïðåäåëåíèÿ ýòîãî ïàòòåðíà.
// Æåëàòåëüíî, ÷òîáû ãîëîâà áûëà áîëüøå ïëå÷. Äëÿ îïðåäåëåíèÿ
// òî÷êè âõîäà ïî íèæíèì òî÷êàì ïàòòåðíà "Ïðèçðàê" - ëèíèè
// øåè - ïðîâîäèòñÿ ëèíèÿ òðåíäà.
// Âû ìîæåòå ðàññ÷èòàòü îæèäàåìîå äâèæåíèå CCI äëÿ ïàòòåðíà "Ïðèçðàê",
// èçìåðÿÿ ðàññòîÿíèå îò âåðøèíû ãîëîâû äî ëèíèè øåè, è îíî áóäåò
// ðàâíî ðàññòîÿíèþ îò ëèíèè øåè äî ãîëîâû â ïðîòèâîïîëîæíîì
// íàïðàâëåíèè.  ïðèíöèïå Âû ìîæåòå íå âûñ÷èòûâàòü âîçìîæíîå
// ïîòåíöèàëüíîå äâèæåíèå CCI îò ëèíèè øåè, òàê êàê Âû äîëæíû
// çàêðûòü ïîçèöèþ, êàê òîëüêî CCI äàñò ñèãíàë íà âûõîä. Âñå,
// ÷òî Âû äîëæíû äåëàòü - ñëåäîâàòü çà ñèãíàëàìè âûõîäà,
// îïðåäåëåííûìè ñèñòåìîé Woodies CCI.
// Çàìåòüòå, ÷òî, êîãäà Âû ïðîâîäèòå ëèíèþ øåè (ëèíèÿ òðåíäà)
// íà ïàòòåðíå "Ïðèçðàê", Âû îáúåäèíÿåòå ïàòòåðí "Ïðîðûâ ëèíèè
// òðåíäà (TLB)" ñ ïàòòåðíîì "Ïðèçðàê", ÷òî óñèëèâàåò ñèãíàë è
// óâåëè÷èâàåò âåðîÿòíîñòü óñïåõà. Èíîãäà ëèíèÿ øåè íàêëîíåíà
// ïî íàïðàâëåíèþ ê íóëåâîé ëèíèè. Ýòî - áîëåå ïðåäïî÷òèòåëüíûé
// âàðèàíò ïàòòåðíà "Ïðèçðàê" ïî ñðàâíåíèþ ñ òåì, ïðè êîòîðîì
// ëèíèÿ øåè îòêëîíÿåòñÿ îò íóëåâîé ëèíèè.  ëþáîì ñëó÷àå îáà
// âàðèàíòà ìîãóò áûòü èñïîëüçîâàíû äëÿ òîðãîâëè.
// Òîðãîâëÿ ñ èñïîëüçîâàíèåì ïàòòåðíà "Ïðèçðàê" ïî ñóòè - òîðãîâëÿ
// ïðîòèâ òðåíäà.
// -----
delta=15; level=50;
max1=0; max2=0; max3=0; tmax1=0; tmax2=0; tmax3=0;
min1=0; min2=0; min3=0; tmin1=0; tmin2=0; tmin3=0;
// -----
GhostBuffer[shift]=EMPTY_VALUE;
// îïðåäåëåíèå ìàêñèìóìîâ
if (up>=6) for(a=0;a<=17;a++)
{
if (slowCCI[a]<=slowCCI[a+1] && slowCCI[a+1]>=slowCCI[a+2])
{
if (max2!=0 && max3==0) max3=slowCCI[a+1];
if (max1!=0 && max2==0) max2=slowCCI[a+1];
if (max1==0) max1=slowCCI[a+1];
}
}
// îïðåäåëåíèå ìèíèìóìîâ
if (dn>=6) for(a=0;a<=17;a++)
{
if (slowCCI[a]>=slowCCI[a+1] && slowCCI[a+1]<=slowCCI[a+2])
{
if (min2!=0 && min3==0) min3=slowCCI[a+1];
if (min1!=0 && min2==0) min2=slowCCI[a+1];
if (min1==0) min1=slowCCI[a+1];
}
}
// Ghost â íèñõîäÿùåì òðåíäå
if (dn>=6 &&
min3!=0 && min1>min2 && min3>min2+delta && min1<0 &&
slowCCI[0]-delta>min1 && slowCCI[0]>slowCCI[1] &&
/* min3<0 && max1<=0 && max1>=-level && max2<=level && max2>=-level */
!(slowCCI[1]-delta>min1))
{
GhostBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// Ghost â âîñõîäÿùåì òðåíäå
if (up>=6 &&
max3!=0 && max1<max2 && max3<max2-delta && max1>0 &&
slowCCI[0]+delta<max1 && slowCCI[0]<slowCCI[1] &&
/* max3>0 && min1<=level && min1>=0 && min2<=level && min2>=-level */
!(slowCCI[1]+delta<max1))
{
GhostBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
// Ïàòòåðí ¹ 6 - Ðàçâîðîòíàÿ äèâåðãåíöèÿ Woodies CCI (Rev Diver)
// -----------------------------------------------------------
// Ðàçâîðîòíàÿ äèâåðãåíöèÿ Woodies CCI (Rev Diver) - î÷åíü ïðîñòîé
// ïàòòåðí òîðãîâëè ïî òðåíäó, êîòîðûé îïðåäåëÿåòñÿ äâóìÿ
// îòñêîêàìè CCI, ïîñëåäíèé èç êîòîðûõ íàõîäèòñÿ áëèæå ê íóëåâîé ëèíèè.
// Ïîä ñëîâîì îòñêîê ìû ïîäðàçóìåâàåì ïèêè è âïàäèíû, îáðàçóåìûå
// äâèæåíèåì CCI ââåðõ è âíèç. Ìû ãîâîðèì âíóòðåííèå îòñêîêè,
// èìåÿ â âèäó ïèêè è âïàäèíû, êîòîðûå ðàñïîëîæåíû áëèæå ê íóëåâîé ëèíèè.
// Ìû íèêîãäà íå èñïîëüçóåì ýêñòðåìóìû, ÷òîáû îïðåäåëèòü ïàòòåðí Rev Diver.
// ----
// Ñëåäóþùèå äâà ïðàâèëà - ýòî âñå, ÷òî íåîáõîäèìî äëÿ îïðåäåëåíèÿ
// ïàòòåðíà Rev Diver:
// * Rev Diver íà ïîêóïêó - CCI âûøå íóëåâîé ëèíèè â òå÷åíèå ïîñëåäíèõ
// 6 è áîëåå áàðîâ, äâà èç êîòîðûõ - ïîíèæàþùèåñÿ ïèêîâûå âïàäèíû
// * Rev Diver íà ïðîäàæó - CCI íèæå íóëåâîé ëèíèè â òå÷åíèå ïîñëåäíèõ
// 6 è áîëåå áàðîâ, äâà èç êîòîðûõ - ïîâûøàþùèåñÿ ïèêè ê íóëåâîé ëèíèè
// ----
// Ïàòòåðí "Ðàçâîðîòíàÿ äèâåðãåíöèÿ" - ïàòòåðí òîðãîâëè ïî òðåíäó.
// Âû ìîæåòå îáúåäèíèòü òîðãîâëþ ñ èñïîëüçîâàíèåì Rev Diver ñ ïàòòåðíàìè
// "Îòñêîê îò íóëåâîé ëèíèè (ZLR)" èëè "Ïðîáîé ëèíèè òðåíäà (TLB)"
// äëÿ óâåðåííîñòè è ïîëó÷åíèÿ áîëüøåé ïðèáûëüíîñòè ñäåëêè. Âû ïðàêòè÷åñêè
// âñåãäà áóäåòå íàõîäèòü ñî÷åòàíèå ïàòòåðíà ZLR ñ ïàòòåðíîì Rev Diver.
// Ôàêòè÷åñêè ó Âàñ îáû÷íî áóäåò äâà ïàòòåðíà ZLR, êîòîðûå îáðàçóþò Rev Diver,
// òàê êàê îáû÷íî ïèêè èëè âïàäèíû îáðàçóþòñÿ â ïðåäåëàõ +/-100 øêàëû CCI.
// Âíóòðåííèå ïèêè èëè âïàäèíû ôàêòè÷åñêè ïðåäñòàâëÿþò ïàòòåðí CCI ZLR.
// Ïîñìîòðèòå ãðàôèêè âíèìàòåëüíî, è Âû óâèäèòå èõ îáà íà êàæäîì ãðàôèêå.
// ----
delta=20; level=70;
// ----
max1=0; max2=0; tmax1=0; tmax2=0;
min1=0; min2=0; tmin1=0; tmin2=0;
// -----
RevdevBuffer[shift]=EMPTY_VALUE;
// îïðåäåëåíèå ìàêñèìóìîâ
if (dn>=6) for(a=0;a<=17;a++)
{
if (slowCCI[a]<=slowCCI[a+1] && slowCCI[a+1]>=slowCCI[a+2])
{
if (max1!=0 && tmax1<3 && max2==0)
{
max2=slowCCI[a+1];
tmax2=a+1;
}
if (max1==0)
{
max1=slowCCI[a+1];
tmax1=a+1;
}
}
}
// îïðåäåëåíèå ìèíèìóìîâ
if (up>=6) for(a=0;a<=17;a++)
{
if (slowCCI[a]>=slowCCI[a+1] && slowCCI[a+1]<=slowCCI[a+2])
{
if (min1!=0 && tmin1<3 && min2==0)
{
min2=slowCCI[a+1];
tmin2=a+1;
}
if (min1==0)
{
min1=slowCCI[a+1];
tmin1=a+1;
}
}
}
// Revdiv â íèñõîäÿùåì òðåíäå
if (dn>=6 &&
max1<=0 && max2!=0 && max1>max2 && max1>=-level && tmax2-tmax1>=3 &&
/* max2<=level && max2>=-level && */
slowCCI[0]+delta<max1 && slowCCI[0]<slowCCI[1] && !(slowCCI[1]+delta<max1) )
{
RevdevBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
// Revdiv â âîñõîäÿùåì òðåíäå
if (up>=6 &&
min1>=0 && min2!=0 && min1<min2 && min1<=level && tmin2-tmin1>=3 &&
/* pmn2<=level && pmn2>=-level && */
slowCCI[0]-delta>min1 && slowCCI[0]>slowCCI[1] && !(slowCCI[1]-delta>min1) )
{
RevdevBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// Ïàòòåðí ¹ 7 - Ýêñòðåìàëüíûé Êðþê (HFE)
// -----------------------------------------------------------
// Ýòîò ïàòòåðí ôîðìèðóåòñÿ, êîãäà CCI óõîäèò çà ïðåäåëû +/-200,
// à çàòåì ðàçâîðà÷èâàåòñÿ íàçàä ê íóëåâîé ëèíèè. Ýòà - î÷åíü
// òðóäíûé ñïîñîá òîðãîâëè. Ïàòòåðí HFE ÿâëÿåòñÿ òàêæå îäíèì èç
// Woodies CCI ñèãíàëîâ âûõîäà.
// ----
// Òîðãîâëÿ ïî ýòîìó ïàòòåðíó ïðîèñõîäèò î÷åíü áûñòðî. Êàê òîëüêî
// êðþê ðàçâîðà÷èâàåòñÿ íàçàä ê íóëåâîé ëèíèè, âõîäèòå. Óñòàíîâèòå
// áëèçêèå îðäåðà ñòîï-ëîññ ñðàçó æå ïðè âõîäå â ðûíîê, ïîñêîëüêó
// òîðãîâûé ñèãíàë ìîæåò ðàçâåðíóòüñÿ î÷åíü áûñòðî. Êàê òîëüêî
// ïîÿâèëñÿ ñèãíàë ê âûõîäó - âûõîäèòå íåìåäëåííî.
// Òîðãîâëÿ áóäåò îñòàíàâëèâàòüñÿ ÷àñòî, è ýòî ìîæåò ñëó÷èòüñÿ,
// äàæå åñëè íåò CCI ñèãíàëà íà âûõîä. Âåðîÿòíîñòü óñïåøíîé
// òîðãîâëè ñîñòàâëÿåò ïðèáëèçèòåëüíî 50%, åñëè òîðãîâàòü ïðè
// êàæäîì ñèãíàëå HFE. Îäíàêî ïîòåíöèàëüíàÿ ïðèáûëü áóäåò áîëüøå
// óáûòêîâ, åñëè Âû áóäåòå èñïîëüçîâàòü áëèçêèå ñòîï-ëîññ îðäåðà.
// Òîðãîâëÿ ïðè ðàçâîðîòå îò ýêñòðåìóìîâ ïî ñóòè ÿâëÿåòñÿ
// ïðîòèâîòðåíäîâîé, ïîýòîìó ñ îñòîðîæíîñòüþ îòíîñèòåñòü ê
// ýòîìó ïàòòåðíó.
// ----
// Äëÿ áîëüøåé ýôôåêòèâíîñòè Âû ìîæåòå îáúåäèíèòü òîðãîâëþ ïî
// HFE-ïàòòåðíó ñ ïðîðûâîì ëèíèè òðåíäà èëè ñ ïåðåñå÷åíèåì CCI
// óðîâíÿ +/-100, êîòîðûå ÿâëÿþòñÿ ñèãíàëàìè ïîäòâåðæäåíèÿ.
// ----
delta=10; level=200;
HooksBuffer[shift]=EMPTY_VALUE;
// HFE â íèñõîäÿùåì òðåíäå
if (dn>=6 &&
slowCCI[1]<=-level && slowCCI[0]>-level && slowCCI[1]<slowCCI[0]-delta)
{
HooksBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// HFE âîñõîäÿùåì òðåíäå
if (up>=6 &&
slowCCI[1]>=level && slowCCI[0]<level && slowCCI[1]>slowCCI[0]-delta)
{
HooksBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
// Ñèãíàë íà âûõîä
// -----------------------------------------------------------
// 1. Ðàçâîðîò (CCI(14) îáðàçóåò êðþê) èëè ïëîñêîå äâèæåíèå CCI
// 2. Ïðîáîé CCI ëèíèè òðåíäà (TLB)
// 3. CCI(6) ïåðåñåêàåò CCI(14) âîâíóòðü
// 4. CCI ïåðåñåêàåò íóëåâóþ ëèíèþ (ZLC).
// 5. Êîãäà CCI 14 îáðàçóåò êðþê îêîëî óðîâíÿ +/-200 èëè çà íèì
// 6. CCI (áåç äâèæåíèÿ íåò óñïåõà)
// -----------------------------------------------------------
// 1. Ðàçâîðîò (CCI(14) îáðàçóåò êðþê) èëè ïëîñêîå äâèæåíèå CCI
if (HooksBuffer[shift]!=EMPTY_VALUE)
{
if (up>=6)
{
ExitBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
if (dn>=6)
{
ExitBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
}
// 2. Ïðîáîé CCI ëèíèè òðåíäà (ïðîòèâ òðåíäà)
if (TlbBuffer[shift]!=EMPTY_VALUE)
{
if (up>=6 && TlbBuffer[shift]>High[shift])
{
ExitBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
if (dn>=6 && TlbBuffer[shift]<Low[shift])
{
ExitBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
}
/*
// 3. CCI(6) ïåðåñåêàåò CCI(14) âîâíóòðü
if (up>=6 && fastCCI[1]>=slowCCI[1] && fastCCI[0]<=slowCCI[0])
{
ExitBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
if (dn>=6 && TlbBuffer[shift]<Low[shift])
{
ExitBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
} */
/*
delta=10; level=100;
// ----
ExitBuffer[shift]=EMPTY_VALUE;
min1=0; max1=0; // çíà÷åíèÿ ìèí/ìàõ
// Îïðåäåëåíèå ìèí/ìàêñ è ïîñòðîåíèå ëèíèè òðåíäà
for (a=0;a<=17;a++)
{
// îïðåäåëåíèå ìàêñèìóìîâ
if (slowCCI[a]<=slowCCI[a+1] && slowCCI[a+1]>=slowCCI[a+2])
{
if (max1==0) max1=slowCCI[a+1];
}
// îïðåäåëåíèå ìèíèìóìîâ
if (slowCCI[a]>=slowCCI[a+1] && slowCCI[a+1]<=slowCCI[a+2])
{
if (min1==0) min1=slowCCI[a+1];
}
}
// âûõîä â íèñõîäÿùåì òðåíäå
if (min1!=0 && slowCCI[0]-delta>min1 && !(slowCCI[1]-delta>min1) && MathAbs(slowCCI[0])>level)
{
ExitBuffer[shift]=Low[shift]-dpnt*Point;
dpnt=dpnt+5;
}
// âûõîä â âîñõîäÿùåì òðåíäå
if (max1!=0 && slowCCI[0]+delta<max1 && !(slowCCI[1]+delta<max1) && MathAbs(slowCCI[0])>level)
{
ExitBuffer[shift]=High[shift]+upnt*Point;
upnt=upnt+5;
}
*/
}
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---