Miscellaneous
0
Views
0
Downloads
0
Favorites
Tick_on_Chart_multi3
//+--------------------------------------------------------------------------------------
// 10/11/2007 - Modified to work with IBFX mini accounts and dropped USDJPY references
// 10/11/2007 - Corrected local/global variable usage in init() and initialization of tik & t
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Green //gbpusd
#property indicator_color2 Red //chart limits
#property indicator_color3 White //eurusd
#property indicator_color4 Yellow //usdchf
extern int period=200;
extern bool IBFXMiniAcct=true;
double ExtMapBuffer1[],ExtMapBuffer2[],ExtMapBuffer3[],ExtMapBuffer4[];
int tik=0,t=0;
double bufGU[],MaxB,MinB=1000, bufEU[],bufUCH[];
double startpricegbpusd,startpriceeurusd,startpriceusdchf;
double avgvalue;
string eurusd="EURUSD",gbpusd="GBPUSD",usdchf="USDCHF";
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,"GBPUSD Tick");
SetIndexStyle(1,DRAW_NONE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,"Chart Limit");
SetIndexStyle(2,DRAW_SECTION);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexLabel(2,"EURUSD Tick");
SetIndexStyle(3,DRAW_SECTION);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexLabel(3,"USDCHF Tick");
if(IBFXMiniAcct)
{
eurusd="EURUSDm";
gbpusd="GBPUSDm";
usdchf="USDCHFm";
}
startpricegbpusd=MarketInfo(gbpusd,MODE_BID);
startpriceeurusd=MarketInfo(eurusd,MODE_BID);
startpriceusdchf=MarketInfo(usdchf,MODE_BID);
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int i,b;
double bidgbpusd=MarketInfo(gbpusd,MODE_BID);
double pointgbpusd=MarketInfo(gbpusd,MODE_POINT);
double bideurusd=MarketInfo(eurusd,MODE_BID);
double pointeurusd=MarketInfo(eurusd,MODE_POINT);
double bidusdchf=MarketInfo(usdchf,MODE_BID);
double pointusdchf=MarketInfo(usdchf,MODE_POINT);
t++;
b=period;
ArrayResize(bufGU,b);
ArrayResize(bufEU,b);
ArrayResize(bufUCH,b);
if(tik==0)
{
for(i=0;i<b;i++)
{
bufGU[i]=0;
startpricegbpusd=bidgbpusd;
bufEU[i]=0;
startpriceeurusd=bideurusd;
bufUCH[i]=0;
startpriceusdchf=bidusdchf;
}
ExtMapBuffer2[0]=+5;
ExtMapBuffer2[1]=-5;
tik=1;
}
MaxB=-1;MinB=1000;
for(i=b-1;i>0;i--)
{
bufGU[i]=bufGU[i-1];
if(MaxB<bufGU[i])MaxB=bufGU[i];
if(MinB>bufGU[i])MinB=bufGU[i];
bufEU[i]=bufEU[i-1];
if(MaxB<bufEU[i])MaxB=bufEU[i];
if(MinB>bufEU[i])MinB=bufEU[i];
bufUCH[i]=bufUCH[i-1];
if(MaxB<bufUCH[i])MaxB=bufUCH[i];
if(MinB>bufUCH[i])MinB=bufUCH[i];
}
bufGU[0]=(bidgbpusd-startpricegbpusd)/pointgbpusd;
bufEU[0]=(bideurusd-startpriceeurusd)/pointeurusd;
bufUCH[0]=(bidusdchf-startpriceusdchf)/pointusdchf* (-1);
for(i=0;i<b;i++)
{
ExtMapBuffer1[i]=bufGU[i];
ExtMapBuffer3[i]=bufEU[i];
ExtMapBuffer4[i]=bufUCH[i];
}
if(MathCeil(t/10)*10==t)
{
for(i=b;i<Bars;i++)
{
ExtMapBuffer1[i]=(bidgbpusd-startpricegbpusd)/pointgbpusd;
ExtMapBuffer3[i]=(bideurusd-startpriceeurusd)/pointeurusd;
ExtMapBuffer4[i]=(bidusdchf-startpriceusdchf)/pointusdchf* (-1);
avgvalue=(
((bidgbpusd-startpricegbpusd)/pointgbpusd)+
((bideurusd-startpriceeurusd)/pointeurusd)+
(((bidusdchf-startpriceusdchf)/pointusdchf)* (-1))
) /4;
}
ArrayInitialize(ExtMapBuffer2,avgvalue);
if(MaxB-avgvalue<5)ExtMapBuffer2[0]=avgvalue+5;
if( (avgvalue-MinB)<5)ExtMapBuffer2[1]=(avgvalue)-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
---