SpreadCharts_2

Author: Copyright � 2009, Skype: en.ua.en.ua
Price Data Components
Series array that contains open time of each barSeries array that contains open prices of each bar
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
SpreadCharts_2
//+------------------------------------------------------------------+
//|                                               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