Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
_StochSlave
#property indicator_separate_window // â ïîäîêíå
#property indicator_buffers 6
#property indicator_color1 Blue // ñòîõàñòèê
#property indicator_color2 Magenta // óïðàâëÿþùèé ñèãíàë
#property indicator_color3 Green // óðîâåíü ïåðåêóïëåííîñòè
#property indicator_color4 Red // óðîâåíü ïåðåïðîäàííîñòè
#property indicator_maximum 100
#property indicator_minimum 0
// Âîõîäíûå ïàðàìåòðû MasterSlave
extern int Source=1; // 0 - îáúåì; 1 - ñò.äåâèàöèÿ öåíû; 2 - ATR; 3 - öåíà;
extern int SourcePeriod=88; // ïåðèîä âõîäíîãî èíäèêàòîðà
extern int Window=111; // äëèíà âûáîðêè íîðìèðîâàíèÿ
extern double Sensitivity=0; // ÷óâñòâèòåëüíîñòü
extern int Signal=55; // ñãëàæèâàíèå íîðìèðîâàííîãî èíäèêàòîðà (ñèãíàëüíàÿ)
// Âõîäíûå ïàðàìåòðû ñòîõàñòèêà
extern int KperiodFrom=22; // íà÷àëüíîå çíà÷åíèå %K
extern int KperiodTo=5; // êîíå÷íîå
extern int SlowingFrom=12; // íà÷àëüíîå çíà÷åíèå Slowing
extern int SlowingTo=3; // êîíå÷íîå
extern int OverSoldFrom=3; // íà÷àëüíîå çíà÷åíèå óðîâíÿ ïåðåïðîäàííîñòè
extern int OverSoldTo=22; // êîíå÷íîå
// èíäèêàòîðíûå áóôåðû
double Stoch[]; // ñòîõàñòèê
double Master[]; // óïðàâëÿþùèé ñèãíàë
double OB[]; // óðîâåíü ïåðåêóïëåííîñòè
double OS[]; // óðîâåíü ïåðåïðîäàííîñòè
double K[]; // %Ê ñòîõàñòèêà
double Slow[]; // Slowing ñòîõàñòèêà
bool first=1; // ôëàã ïåðâîãî çàïóñêà èíäèêàòîðà
int init() {
SetIndexBuffer(0,Stoch); SetIndexStyle(0,DRAW_LINE); SetIndexLabel(0,"Stoch");
SetIndexBuffer(1,Master); SetIndexStyle(1,DRAW_LINE); SetIndexLabel(1,"Master");
SetIndexBuffer(2,OB); SetIndexStyle(2,DRAW_LINE,2); SetIndexLabel(2,"OB");
SetIndexBuffer(3,OS); SetIndexStyle(3,DRAW_LINE,2); SetIndexLabel(3,"OS");
SetIndexBuffer(4,K); SetIndexStyle(4,DRAW_NONE); SetIndexLabel(4,"%K");
SetIndexBuffer(5,Slow); SetIndexStyle(5,DRAW_NONE); SetIndexLabel(5,"Slow");
return(0);
}
int start() {
int ic=IndicatorCounted();
if(!first && Bars-ic>2) ic=reinit(); // åñëè åñòü ïðîïóùåííûå áàðû íå íà ïîäêëþ÷åíèè (â ðàáîòå)
int limit=Bars-ic-1;
for(int i=limit; i>=0; i--) {
// óïðàâëÿþùèé ñèãíàë
double k=iCustom(NULL,0,"_MasterSlave",Source,SourcePeriod,Window,Sensitivity,Signal, 0,i); Master[i]=100*k;
// Óïðàâëÿåìûå ïàðàìåòðû Ñòîõàñòèêà
int Kperiod=KperiodFrom+k*(KperiodTo-KperiodFrom); K[i]=Kperiod; // %K ñòîõàñòêà
int Slowing=SlowingFrom+k*(SlowingTo-SlowingFrom); Slow[i]=Slowing; // Slowing ñòîõàñòèêà
OS[i]=OverSoldFrom+k*(OverSoldTo-OverSoldFrom); OB[i]=100-OS[i]; // óðîâíè ÏÏ/ÏÊ
// Ñòîõàñòèê
Stoch[i]=iStochastic(NULL,0,Kperiod,1,Slowing,0,0, 0,i);
}
first=0; // ñáðîñ ôëàãà ïåðâîãî ïîäêëþ÷åíèÿ
return(0);
}
//+------------------------------------------------------------------+
int reinit() { // äîïîëíèòåëüíàÿ èíèöèàëèçàöèÿ
ArrayInitialize(Stoch,0.0);
ArrayInitialize(Master,0.0);
ArrayInitialize(OB,0.0);
ArrayInitialize(OS,0.0);
ArrayInitialize(K,0.0);
ArrayInitialize(Slow,0.0);
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
---