#property copyright "Mich99" #property link "mich99@o2.pl" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Blue #property indicator_color2 Lime #property indicator_color3 Gray //---- input parameters //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,ExtMapBuffer3); //------------------------------ IndicatorShortName("EURbasket-v-USDbasket-AO%"); SetIndexLabel(0,"eur"); SetIndexLabel(1,"usd"); SetIndexLabel(2,"eur-usd"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double w1 = 100; double w2 = 100; double w3 = 100; double w4 = 100; int counted_bars=IndicatorCounted(); int limit=Bars-counted_bars; for(int i=0; i<limit; i++) { double a1 = (iMA("EURUSD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURUSD",0,i)- iAO("EURUSD",0,i+2); double a2 = (iMA("EURCHF",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURCHF",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURCHF",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURCHF",0,i)-iAO("EURCHF",0,i+2); double a3 = (iMA("EURGBP",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURGBP",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURGBP",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURGBP",0,i)-iAO("EURGBP",0,i+2); double a4 = (iMA("EURJPY",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURJPY",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURJPY",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURJPY",0,i)-iAO("EURJPY",0,i+2); double b1 = (iMA("EURAUD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURAUD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURAUD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURAUD",0,i)-iAO("EURAUD",0,i+2); double b2 = (iMA("EURCAD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURCAD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURCAD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURCAD",0,i)-iAO("EURCAD",0,i+2); double b3 = (iMA("EURNZD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURNZD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURNZD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURNZD",0,i)- iAO("EURNZD",0,i+2); double b4 = (iMA("EURNOK",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURNOK",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURNOK",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("EURNOK",0,i)-iAO("EURNOK",0,i+2); double ua1 = -(iMA("EURUSD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("EURUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("EURUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//(iAO("EURUSD",0,i)-iAO("EURUSD",0,i+2)); double ua2 = (iMA("USDJPY",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("USDJPY",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("USDJPY",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("USDJPY",0,i)-iAO("USDJPY",0,i+2); double ua3 = -(iMA("GBPUSD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("GBPUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("GBPUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//(iAO("GBPUSD",0,i)-iAO("GBPUSD",0,i+2)); double ua4 = (iMA("USDCHF",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("USDCHF",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("USDCHF",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("USDCHF",0,i)- iAO("USDCHF",0,i+2); double ub1 = -(iMA("AUDUSD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("AUDUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("AUDUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//(iAO("AUDUSD",0,i)-iAO("AUDUSD",0,i+2)); double ub2 = (iMA("USDCAD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("USDCAD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("USDCAD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("USDCAD",0,i)-iAO("USDCAD",0,i+2); double ub3 = -(iMA("NZDUSD",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("NZDUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("NZDUSD",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//(iAO("NZDUSD",0,i)-iAO("NZDUSD",0,i+2)); double ub4 = (iMA("USDRUB",0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA("USDRUB",0,34,0,MODE_SMA,PRICE_MEDIAN,i) )/iMA("USDRUB",0,34,0,MODE_SMA,PRICE_MEDIAN,i)*100;//iAO("USDRUB",0,i)-iAO("USDRUB",0,i+2); double res = (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4)+(w1 * b1 + w2 * b2 + w3 * b3 + w4 * b4); double bres = (w1 * ua1 + w2 * ua2 + w3 * ua3 + w4 * ua4)+(w1 * ub1 + w2 * ub2 + w3 * ub3 + w4 * ub4); ExtMapBuffer1[i]=res; ExtMapBuffer2[i]=bres; ExtMapBuffer3[i]=res-bres; //if( ExtMapBuffer1[i]>ExtMapBuffer1[i+1]) ExtMapBuffer1[i]=res+bres; //if( ExtMapBuffer1[i]<ExtMapBuffer1[i+1]) ExtMapBuffer2[i]=res+bres; } //---- return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: