/* I like to moving, moving v1.21s (1.0 + smoothing (+level) + shifting) by ALeX */ #property indicator_separate_window #property indicator_buffers 7 #property indicator_color1 Green #property indicator_color2 Blue #property indicator_color3 Red #property indicator_color4 Black #property indicator_color5 RosyBrown #property indicator_color6 Orange #property indicator_color7 BlueViolet extern int candles = 100; extern int shift = 0; extern int smooth_level = 1; double bufIUSD[]; double bufIEUR[]; double bufIGBP[]; double bufICHF[]; double bufIJPY[]; double bufIAUD[]; double bufICAD[]; //string names[7] = {"USD", "EUR", "GBP", "CHF", "JPY", "AUD", "CAD"}; int init() { SetIndexBuffer (0, bufIUSD); SetIndexBuffer (1, bufIEUR); SetIndexBuffer (2, bufIGBP); SetIndexBuffer (3, bufICHF); SetIndexBuffer (4, bufIJPY); SetIndexBuffer (5, bufIAUD); SetIndexBuffer (6, bufICAD); SetIndexLabel (0, "USD"); SetIndexLabel (1, "EUR"); SetIndexLabel (2, "GBP"); SetIndexLabel (3, "CHF"); SetIndexLabel (4, "JPY"); SetIndexLabel (5, "AUD"); SetIndexLabel (6, "CAD"); SetIndexStyle (0, DRAW_LINE, EMPTY, 2); SetIndexStyle (1, DRAW_LINE, EMPTY, 2); SetIndexStyle (2, DRAW_LINE, EMPTY, 2); SetIndexStyle (3, DRAW_LINE, EMPTY, 2); SetIndexStyle (4, DRAW_LINE); SetIndexStyle (5, DRAW_LINE); SetIndexStyle (6, DRAW_LINE); return (0); } int start() { int i, j; int to; double USD, maxUSD=0.0, maxEUR=0.0, maxGBP=0.0, maxCHF=0.0, maxJPY=0.0, maxAUD=0.0, maxCAD=0.0; to = candles+shift; if (to > Bars-10) to = Bars-10; for (i = shift; i < to; i++) { USD = MathPow (iClose("USDCHF",0,i)*iClose("USDJPY",0,i)*iClose("USDCAD",0,i)/iClose("EURUSD",0,i)/iClose("GBPUSD",0,i)/iClose("AUDUSD",0,i), 1.0/7.0); maxUSD = MathMax (maxUSD, USD); maxEUR = MathMax (maxEUR, USD*iClose("EURUSD",0,i)); maxGBP = MathMax (maxGBP, USD*iClose("GBPUSD",0,i)); maxCHF = MathMax (maxCHF, USD/iClose("USDCHF",0,i)); maxJPY = MathMax (maxJPY, USD/iClose("USDJPY",0,i)); maxAUD = MathMax (maxAUD, USD*iClose("AUDUSD",0,i)); maxCAD = MathMax (maxCAD, USD/iClose("USDCAD",0,i)); } for (i = shift; i < to; i++) { USD = MathPow (iClose("USDCHF",0,i)*iClose("USDJPY",0,i)*iClose("USDCAD",0,i)/iClose("EURUSD",0,i)/iClose("GBPUSD",0,i)/iClose("AUDUSD",0,i), 1.0/7.0); bufIUSD[i] = 100*USD/maxUSD; bufIEUR[i] = 100*USD*iClose("EURUSD",0,i)/maxEUR; bufIGBP[i] = 100*USD*iClose("GBPUSD",0,i)/maxGBP; bufICHF[i] = 100*USD/iClose("USDCHF",0,i)/maxCHF; bufIJPY[i] = 100*USD/iClose("USDJPY",0,i)/maxJPY; bufIAUD[i] = 100*USD*iClose("AUDUSD",0,i)/maxAUD; bufICAD[i] = 100*USD/iClose("USDCAD",0,i)/maxCAD; } // smoothing for (j = 0; j < smooth_level; j++) { for (i = shift+1; i < to-1; i++) { bufIUSD[i] = (bufIUSD[i]+bufIUSD[i+1]+bufIUSD[i-1]) / 3.0; bufIEUR[i] = (bufIEUR[i]+bufIEUR[i+1]+bufIEUR[i-1]) / 3.0; bufIGBP[i] = (bufIGBP[i]+bufIGBP[i+1]+bufIGBP[i-1]) / 3.0; bufICHF[i] = (bufICHF[i]+bufICHF[i+1]+bufICHF[i-1]) / 3.0; bufIJPY[i] = (bufIJPY[i]+bufIJPY[i+1]+bufIJPY[i-1]) / 3.0; bufIAUD[i] = (bufIAUD[i]+bufIAUD[i+1]+bufIAUD[i-1]) / 3.0; bufICAD[i] = (bufICAD[i]+bufICAD[i+1]+bufICAD[i-1]) / 3.0; } } return (0); }
Sample
Analysis
Market Information Used:
Series array that contains close prices for each bar
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: