Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
iSWOL_for_ex_V2
//+------------------------------------------------------------------+
//| iSWOL(SuperWaveOneLine) |
//|ðèñóåò ñòîõàñòèê çàäàííîãî ñòàðøåãî ïåðèîäà
//+------------------------------------------------------------------+
#define NAME_EXPERT "SWOL"
#define VER " V2"
#define RELIZE "GS_2011_08_04"
#define AUTOR "valenok2003@mail.ru"
#define URL "http://bluedream.ucoz.ru"
extern int
TF_Indicator=0;
extern bool
SHOW_SIGNAL_LINE=true,
Alert_ON=false;
//-----------
string
Name_Window,
ex_Name=NAME_EXPERT;
string Txt_TF_Indicator;
int Style_Main_Line=DRAW_LINE;
int Style_Signal_Line=STYLE_DOT;
//+------------------------------------------------------------------+
#property copyright "Sergey Gulyaev. Maykop."
#property link "valenok2003@mail.ru ICQ 365919666"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_level1 80
#property indicator_level2 20
#property indicator_levelcolor Gray
#property indicator_minimum 0
#property indicator_maximum 100
int
St_D=5,D,
St_K=3,K,
St_S=3,S,
z;
//---- buffers
double Buff_0[],Buff_1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//--------------------------------------------------------------------
if(TF_Indicator==0) TF_Indicator=Period();
if(TF_Indicator<Period())
{
TF_Indicator=Period();
//if(Alert_ON)Alert("TF ìëàäøå òåêóùåãî íå äîïóñòèì!");
}
//--------------------------------------------------------------------
z = MathRound(TF_Indicator/Period());
D = St_D*z;
K = St_K*z;
S = St_S*z;
//------------ ñîçäà¸ì èìÿ îêíà --------------------------------------
//---- name for indicator window
Name_Window=ex_Name+"("+txt_TF(TF_Indicator)+")";
IndicatorShortName(Name_Window);
//--------------------------------------------------------------------
//--------------------------------------------------------------------
SetIndexBuffer(0,Buff_0);
SetIndexBuffer(1,Buff_1);
switch(TF_Indicator)
{
case PERIOD_M1:
SetIndexStyle(0,Style_Main_Line,0,0,Red);
SetIndexLabel(0,"St_M1");
SetIndexStyle(1,0,Style_Signal_Line,0,Tomato);
SetIndexLabel(1,"");
break;
case PERIOD_M5:
SetIndexStyle(0,Style_Main_Line,0,0,DarkOrange);
SetIndexLabel(0,"St_M5");
SetIndexStyle(1,0,Style_Signal_Line,0,SandyBrown);
SetIndexLabel(1,"");
break;
case PERIOD_M15:
SetIndexStyle(0,Style_Main_Line,0,0,Yellow);
SetIndexLabel(0,"St_M15");
SetIndexStyle(1,0,Style_Signal_Line,0,Khaki);
SetIndexLabel(1,"");
break;
case PERIOD_M30:
SetIndexStyle(0,Style_Main_Line,0,0,LimeGreen);
SetIndexLabel(0,"St_M30");
SetIndexStyle(1,0,Style_Signal_Line,0,PaleGreen);
SetIndexLabel(1,"");
break;
case PERIOD_H1:
SetIndexStyle(0,Style_Main_Line,0,0,SkyBlue);
SetIndexLabel(0,"St_H1");
SetIndexStyle(1,0,Style_Signal_Line,0,PowderBlue);
SetIndexLabel(1,"");
break;
case PERIOD_H4:
SetIndexStyle(0,Style_Main_Line,0,0,Blue);
SetIndexLabel(0,"St_H4");
SetIndexStyle(1,0,Style_Signal_Line,0,CornflowerBlue);
SetIndexLabel(1,"");
break;
case PERIOD_D1:
SetIndexStyle(0,Style_Main_Line,0,0,Violet);
SetIndexLabel(0,"St_D1");
SetIndexStyle(1,0,Style_Signal_Line,0,Pink);
SetIndexLabel(1,"");
break;
case PERIOD_W1:
SetIndexStyle(0,Style_Main_Line,0,0,BlueViolet);
SetIndexLabel(0,"St_W1");
SetIndexStyle(1,0,Style_Signal_Line,0,MediumOrchid);
SetIndexLabel(1,"");
break;
case PERIOD_MN1:
SetIndexStyle(0,Style_Main_Line,0,0,Red);
SetIndexLabel(0,"St_MN1");
SetIndexStyle(1,0,Style_Signal_Line,0,Tomato);
SetIndexLabel(1,"");
break;
default: break;
}
if(!SHOW_SIGNAL_LINE)SetIndexStyle(1,DRAW_NONE);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int i=Bars-counted_bars;
if(counted_bars==0) i--;
while(i>=0) // Öèêë ïî íåïîñ÷èòàííûì áàðàì
{
Buff_0[i]=iStochastic(Symbol(),Period(),D,K,S,MODE_SMA,0,MODE_MAIN,i);
Buff_1[i]= iStochastic(Symbol(),Period(),D,K,S,MODE_SMA,0,MODE_SIGNAL,i);
i--;
}
static bool
FLAG_UP = true,
FLAG_DN = true;
if(Alert_ON)
{
if(FLAG_UP && Buff_0[0]>Buff_1[0])
{
Alert("DN->UP :"+txt_TF(TF_Indicator)+" "+Symbol()+" "+ex_Name);
FLAG_UP = false;
FLAG_DN = true;
}
if(FLAG_DN && Buff_0[0]<Buff_1[0])
{
Alert("UP->DN :"+txt_TF(TF_Indicator)+" "+Symbol()+" "+ex_Name);
FLAG_UP = true;
FLAG_DN = false;
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| valenok2003@mail.ru 14.06.2011
//+------------------------------------------------------------------+
//| txt_TF() ïåðåâîäèò ÒÔ â òåêñòîâûé ôîðìàò
//+------------------------------------------------------------------+
string txt_TF(int _TF)
{
string _Function="txt_TF():";
string _Txt_TF;
switch(_TF)
{
case PERIOD_M1: _Txt_TF = "M1"; break;
case PERIOD_M5: _Txt_TF = "M5"; break;
case PERIOD_M15: _Txt_TF = "M15"; break;
case PERIOD_M30: _Txt_TF = "M30"; break;
case PERIOD_H1: _Txt_TF = "H1"; break;
case PERIOD_H4: _Txt_TF = "H4"; break;
case PERIOD_D1: _Txt_TF = "D1"; break;
case PERIOD_W1: _Txt_TF = "W1"; break;
case PERIOD_MN1: _Txt_TF = "MN1"; break;
default: Alert("Íåâåðíî óñòàíîâëåí ÒÔ "+_TF); break;
}
return(_Txt_TF);
}
//+------------------------------------------------------------------+
//+-------
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
---