//+------------------------------------------------------------------+
//| SpreadCharts 2.mq4 |
//| Copyright © 2009, Skype: en.ua.en.ua |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Skype: en.ua.en.ua"
#property link ""
#property indicator_separate_window
#property indicator_buffers 2
extern int Timeframe = 1;
extern string Symbol_1 = "AUDUSD";
extern string Symbol_2 = "EURCHF";
double SpreadAsk[];
double SpreadBid[];
int init()
{
SetIndexBuffer(0,SpreadAsk);
SetIndexBuffer(1,SpreadBid);
SetIndexStyle(0,DRAW_SECTION,EMPTY,2,Red);
SetIndexStyle(1,DRAW_SECTION,EMPTY,2,Blue);
return(0);
}
int start()
{
int k;
double N = 0;
double Sum = 0;
for(k = 0; k < iBars(Symbol_1,Timeframe); k++)
{
int symb2Shift = iBarShift(Symbol_2,Timeframe,iTime(Symbol_1,Timeframe,k),true);
if(symb2Shift != -1)
{
double askSymb1 = iOpen(Symbol_1,Timeframe,k) + MarketInfo(Symbol_1,MODE_SPREAD)*MarketInfo(Symbol_1,MODE_POINT);
double bidSymb1 = iOpen(Symbol_1,Timeframe,k);
double askSymb2 = iOpen(Symbol_2,Timeframe,symb2Shift) + MarketInfo(Symbol_2,MODE_SPREAD)*MarketInfo(Symbol_2,MODE_POINT);
double bidSymb2 = iOpen(Symbol_2,Timeframe,symb2Shift);
if(bidSymb1!=0&&bidSymb2!=0)
{
SpreadAsk[k] = askSymb1 - bidSymb2;
SpreadBid[k] = bidSymb1 - askSymb2;
}
}
else
{
//SpreadAsk[k] = 0;
//SpreadBid[k] = 0;
}
}
string comment = "Spread ASK: " + GetCurrentSpread("ask") + " BID: " + GetCurrentSpread("bid");
Comment(comment);
return(0);
}
double GetCurrentSpread(string param)
{
if(param == "ask")
{
return(MarketInfo(Symbol_1,MODE_ASK) - MarketInfo(Symbol_2,MODE_BID));
}
else
{
return(MarketInfo(Symbol_1,MODE_BID) - MarketInfo(Symbol_2,MODE_ASK));
}
}
Comments