US Dollar Index - MT4 Custom Indicator
78
Forex traders can now install a USD Dollar Index Indicator on their Metatrader 4 platform! This simple indicator eliminates the need to reference another chart or platform.The code for this indicator is below as well as instructions on how to incorporate this into your MT4 platform.
Features:
Users have the option of using two simple moving averages as well to determine buy/sell points.
For those that need instructions:
1.Open up MetaEditor through the MT4 terminal
2.Click on "File" ---> New
3.Choose Customer Indicator
4. Click "Next"
5. Put in desired indicator name
6. Click "Next"
7. Click "Finish"
8. Delete the generic code
9.Copy the code below
10. Paste the code
11. Compile it to make sure it has not errors/warning
12. Should be zero errors/warning
13. Save
14. Restart MT4 terminal ---> You should now have your new indicator
under the custom indicator heading and able to attach it to any chart
//+------------------------------------------------------------------+
//| Dollar Index.mq4 |
//| Copyright © 2009, Andy Thompson |
//| mailto:andydoc1@googlemail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Andy Thompson"
#property link "mailto:andydoc1@googlemail.com"
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_color2 Yellow
#property indicator_width2 1
#property indicator_style2 1
#property indicator_color3 Lime
#property indicator_width3 1
#property indicator_style3 2
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
extern int short_term_SMA_period =20;
extern int long_term_SMA_period =40;
//int winind;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,"DXY");
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,short_term_SMA_period+"SMA");
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexLabel(2,long_term_SMA_period+"SMA");
IndicatorShortName("Dollar Index: DXY / "+short_term_SMA_period+"SMA / "+long_term_SMA_period+"SMA");
// winind = WindowFind("Dollar Index: DXY / "+short_term_SMA_period+"SMA / "+long_term_SMA_period+"SMA");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- the last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- main loop
for(int i=0; i<limit; i++)
{
ExtMapBuffer1[i]=50.14348112 * MathPow(iClose("EURUSD",0,i),-0.576) * MathPow(iClose("USDJPY",0,i),0.136) * MathPow(iClose("GBPUSD",0,i),-0.119) * MathPow(iClose("USDCAD",0,i),0.091) * MathPow(iClose("USDSEK",0,i),0.042) * MathPow(iClose("USDCHF",0,i),0.036);
}
for(i=0; i<limit; i++)
{
ExtMapBuffer2[i]=0;
ExtMapBuffer3[i]=0;
for(int z=0; z<long_term_SMA_period; z++)
{
if(z<short_term_SMA_period) ExtMapBuffer2[i]=ExtMapBuffer2[i]+ExtMapBuffer1[i+z];
ExtMapBuffer3[i]=ExtMapBuffer3[i]+ExtMapBuffer1[i+z];
}
ExtMapBuffer2[i] = ExtMapBuffer2[i]/short_term_SMA_period;
ExtMapBuffer3[i] = ExtMapBuffer3[i]/long_term_SMA_period;
}
//---- done
return(0);
}
//+------------------------------------------------------------------+
- Forex Introducing Brokers Online
Forex Introducing Brokers Online offers forex managed account services for private and institutional investors. Individual traders receive a cash rebate per trade or commission discount. Free trading signals provided.






