average daily weekly monthly range calculator

34
Average Daily Range - Custom MT4 Indicator This helpful indicator will show you the average daily range in pips for a currency pair and much more! This is similar to the Weekly and Monthly Range calculator. The information provided in this indicator can help in evaluating what position to place and where to put your stop loss at for maximum effectiveness. Features Previous 1 day range (the number of previous days can be changed in settings) Previous 5 day range Previous 10 day range Previous 20 day range Room Up - How many pips the market could move up based on daily trading range and current market price

Upload: tonmdn

Post on 28-Dec-2015

49 views

Category:

Documents


0 download

DESCRIPTION

Average Daily Weekly Monthly Range Calculator

TRANSCRIPT

Page 1: Average Daily Weekly Monthly Range Calculator

Average Daily Range - Custom MT4 Indicator

This helpful indicator will show you the average daily range in pips for a currency pair and much more! This is similar to the Weekly and Monthly Range calculator.  The information provided in this indicator can help in evaluating what position to place and where to put your stop loss at for maximum effectiveness.

Features

Previous 1 day range (the number of previous days can be changed in settings) Previous 5 day range

Previous 10 day range

Previous 20 day range

Room Up - How many pips the market could move up based on daily trading range and current market price

Room Down - how many pips the market could move down based on daily trading range and current market price

Daily High - the high price for the day

Daily Low - the low price for the day

Page 2: Average Daily Weekly Monthly Range Calculator

And it has a maximum stop loss level suggestion based on direction of price and what position placed.

To incorporate this indicator into your trading platform, I have provided the code below:

For those that need instructions:1.Open up MetaEditor through the MT4 terminal2.Click on "File" ---> New3.Choose Customer Indicator4. Click "Next"5. Put in desired indicator name6. Click "Next"7. Check box that says "Indicator in Seperate Window"8. Click "Finish"9. Delete the generic code 10.Copy the code below11. Paste the code12. Compile it to make sure it has not errors/warning 13. Should be zero errors/warning 14. Save15. Restart MT4 terminal ---> You should now have your new indicator under the custom indicator heading and able to attach it to any chart.

Code

#property indicator_separate_window//---- input parametersextern double Risk_to_Reward_ratio = 3.0;extern int First_av = 5;extern int Second_av = 10;extern int Third_av = 20;int nDigits;//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init(){IndicatorShortName("TSR");if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" || Symbol()=="CHFJPY" || Symbol()=="AUDJPY") nDigits = 2;if(Symbol()=="GBPUSD" || Symbol()=="EURUSD" || Symbol()=="NZDUSD" || Symbol()=="USDCHF" ||Symbol()=="USDCAD" || Symbol()=="AUDUSD" || Symbol()=="AUDCAD" || Symbol()=="EURCHF" || Symbol()=="EURGBP"|| Symbol()=="EURCAD" || Symbol()=="EURAUD" ||Symbol()=="AUDNZD"|| Symbol()=="GBPCHF" )nDigits = 4;

Page 3: Average Daily Weekly Monthly Range Calculator

return(0);}//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit(){//----// Comment(""); //----return(0);}//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start(){//----int R1=0,R5=0,R10=0,R20=0,RAvg=0;int RoomUp=0,RoomDown=0,StopLoss_Long=0,StopLoss_Short=0;double SL_Long=0,SL_Short=0;double low0=0,high0=0;string Text="";int i=0;

R1 = (iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/Point;for(i=1;i<=First_av;i++)R5 = R5 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point;for(i=1;i<=Second_av;i++)R10 = R10 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point;for(i=1;i<=Third_av;i++)R20 = R20 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point;

R5 = R5/First_av;R10 = R10/Second_av;R20 = R20/Third_av;RAvg = (R1+R5+R10+R20)/4; //RAvg = (R5+R10+R20)/3;new setting

low0 = iLow(NULL,PERIOD_D1,0);high0 = iHigh(NULL,PERIOD_D1,0);RoomUp = RAvg - (Bid - low0)/Point;RoomDown = RAvg - (high0 - Bid)/Point;StopLoss_Long = RoomUp/Risk_to_Reward_ratio;SL_Long = Bid - StopLoss_Long*Point;StopLoss_Short = RoomDown/Risk_to_Reward_ratio;

Page 4: Average Daily Weekly Monthly Range Calculator

SL_Short = Bid + StopLoss_Short*Point;

Text = "Average Day Range: " + RAvg + "\n" + "Prev 01 Day Range: " + R1 + "\n" + "Prev 05 Days Range: " + R5 + "\n" + "Prev 10 Days Range: " + R10 + "\n" +"Prev 20 Days Range: " + R20 + "\n";Text = Text +"Room Up: " + RoomUp + "\n" +"Room Down: " + RoomDown + "\n" +"Maximum StopLosses :" + "\n" +"Long: " + StopLoss_Long + " Pips at " + DoubleToStr(SL_Long,nDigits) + "\n" +"Short: " + StopLoss_Short + " Pips at " + DoubleToStr(SL_Short,nDigits) + "\n" ;

//Comment(Text);

string P=Period();

ObjectCreate("TSR", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR",StringSubstr(Symbol(),0),12, "Arial Bold", CadetBlue);ObjectSet("TSR", OBJPROP_CORNER, 0);ObjectSet("TSR", OBJPROP_XDISTANCE, 25);ObjectSet("TSR", OBJPROP_YDISTANCE, 2);ObjectCreate("TSR1", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR1",StringSubstr(P,0),12, "Arial Bold", CadetBlue);ObjectSet("TSR1", OBJPROP_CORNER, 0);ObjectSet("TSR1", OBJPROP_XDISTANCE, 100);ObjectSet("TSR1", OBJPROP_YDISTANCE, 2);

ObjectCreate("TSR2", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR2","Average Daily Range:", 10, "Arial Bold", CadetBlue);ObjectSet("TSR2", OBJPROP_CORNER, 0);ObjectSet("TSR2", OBJPROP_XDISTANCE, 150);ObjectSet("TSR2", OBJPROP_YDISTANCE, 2);ObjectCreate("TSR3", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR3",DoubleToStr(RAvg ,0),12, "Arial Bold", Orange);ObjectSet("TSR3", OBJPROP_CORNER, 0);ObjectSet("TSR3", OBJPROP_XDISTANCE, 300);ObjectSet("TSR3", OBJPROP_YDISTANCE, 2);

ObjectCreate("TSR4", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR4","Prev 1 Day Range:", 10, "Arial ", LightSteelBlue);ObjectSet("TSR4", OBJPROP_CORNER, 0);ObjectSet("TSR4", OBJPROP_XDISTANCE, 25);

Page 5: Average Daily Weekly Monthly Range Calculator

ObjectSet("TSR4", OBJPROP_YDISTANCE, 20);ObjectCreate("TSR5", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR5",DoubleToStr(R1,0),12, "Arial Bold", Orange);ObjectSet("TSR5", OBJPROP_CORNER, 0);ObjectSet("TSR5", OBJPROP_XDISTANCE, 170);ObjectSet("TSR5", OBJPROP_YDISTANCE, 20);

ObjectCreate("TSR6", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR6","Prev "+First_av+" Days Range:", 10, "Arial ", LightSteelBlue);ObjectSet("TSR6", OBJPROP_CORNER, 0);ObjectSet("TSR6", OBJPROP_XDISTANCE, 25);ObjectSet("TSR6", OBJPROP_YDISTANCE, 35);ObjectCreate("TSR7", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR7",DoubleToStr(R5,0),12, "Arial Bold", Orange);ObjectSet("TSR7", OBJPROP_CORNER, 0);ObjectSet("TSR7", OBJPROP_XDISTANCE, 170);ObjectSet("TSR7", OBJPROP_YDISTANCE, 35);

ObjectCreate("TSR8", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR8","Prev "+Second_av+" Days Range:", 10, "Arial ", LightSteelBlue);ObjectSet("TSR8", OBJPROP_CORNER, 0);ObjectSet("TSR8", OBJPROP_XDISTANCE, 220);ObjectSet("TSR8", OBJPROP_YDISTANCE, 20);ObjectCreate("TSR9", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR9",DoubleToStr(R10,0),12, "Arial Bold", Orange);ObjectSet("TSR9", OBJPROP_CORNER, 0);ObjectSet("TSR9", OBJPROP_XDISTANCE, 365);ObjectSet("TSR9", OBJPROP_YDISTANCE, 20);

ObjectCreate("TSR10", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR10","Prev "+Third_av+" Days Range:", 10, "Arial ", LightSteelBlue);ObjectSet("TSR10", OBJPROP_CORNER, 0);ObjectSet("TSR10", OBJPROP_XDISTANCE, 220);ObjectSet("TSR10", OBJPROP_YDISTANCE, 35);ObjectCreate("TSR11", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR11",DoubleToStr(R20,0),12, "Arial Bold", Orange);ObjectSet("TSR11", OBJPROP_CORNER, 0);ObjectSet("TSR11", OBJPROP_XDISTANCE, 365);ObjectSet("TSR11", OBJPROP_YDISTANCE, 35);

ObjectCreate("TSR12", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR12","Room UP:", 10, "Arial ", LightSteelBlue);ObjectSet("TSR12", OBJPROP_CORNER, 0);ObjectSet("TSR12", OBJPROP_XDISTANCE, 420);ObjectSet("TSR12", OBJPROP_YDISTANCE, 20);ObjectCreate("TSR13", OBJ_LABEL, WindowFind("TSR"), 0, 0);

Page 6: Average Daily Weekly Monthly Range Calculator

ObjectSetText("TSR13",DoubleToStr(RoomUp,0),12, "Arial Bold", Orange);ObjectSet("TSR13", OBJPROP_CORNER, 0);ObjectSet("TSR13", OBJPROP_XDISTANCE, 490);ObjectSet("TSR13", OBJPROP_YDISTANCE, 20);

ObjectCreate("TSR14", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR14","Room DN:", 10, "Arial ", LightSteelBlue);ObjectSet("TSR14", OBJPROP_CORNER, 0);ObjectSet("TSR14", OBJPROP_XDISTANCE, 420);ObjectSet("TSR14", OBJPROP_YDISTANCE, 35);ObjectCreate("TSR15", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR15",DoubleToStr(RoomDown,0),12, "Arial Bold", Orange);ObjectSet("TSR15", OBJPROP_CORNER, 0);ObjectSet("TSR15", OBJPROP_XDISTANCE, 490);ObjectSet("TSR15", OBJPROP_YDISTANCE, 35);

ObjectCreate("TSR16", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR16","Maximum StopLosses;",10, "Arial Bold", CadetBlue);ObjectSet("TSR16", OBJPROP_CORNER, 0);ObjectSet("TSR16", OBJPROP_XDISTANCE, 560);ObjectSet("TSR16", OBJPROP_YDISTANCE, 2);

ObjectCreate("TSR17", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR17","Long: Pips at", 10, "Arial ", LightSteelBlue);ObjectSet("TSR17", OBJPROP_CORNER, 0);ObjectSet("TSR17", OBJPROP_XDISTANCE, 560);ObjectSet("TSR17", OBJPROP_YDISTANCE, 20);ObjectCreate("TSR18", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR18",DoubleToStr(StopLoss_Long,0),14, "Arial Bold", LimeGreen);ObjectSet("TSR18", OBJPROP_CORNER, 0);ObjectSet("TSR18", OBJPROP_XDISTANCE, 600);ObjectSet("TSR18", OBJPROP_YDISTANCE, 17);

ObjectCreate("TSR19", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR19","Short: Pips at", 10, "Arial ", LightSteelBlue);ObjectSet("TSR19", OBJPROP_CORNER, 0);ObjectSet("TSR19", OBJPROP_XDISTANCE, 560);ObjectSet("TSR19", OBJPROP_YDISTANCE, 35);ObjectCreate("TSR20", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR20",DoubleToStr(StopLoss_Short,0),14, "Arial Bold", Red);ObjectSet("TSR20", OBJPROP_CORNER, 0);ObjectSet("TSR20", OBJPROP_XDISTANCE, 600);ObjectSet("TSR20", OBJPROP_YDISTANCE, 32);

ObjectCreate("TSR21", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR21",DoubleToStr(SL_Long,nDigits),12, "Arial Bold", LimeGreen);

Page 7: Average Daily Weekly Monthly Range Calculator

ObjectSet("TSR21", OBJPROP_CORNER, 0);ObjectSet("TSR21", OBJPROP_XDISTANCE, 690);ObjectSet("TSR21", OBJPROP_YDISTANCE, 20);ObjectCreate("TSR22", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR22",DoubleToStr(SL_Short,nDigits),12, "Arial Bold",Red);ObjectSet("TSR22", OBJPROP_CORNER, 0);ObjectSet("TSR22", OBJPROP_XDISTANCE, 690);ObjectSet("TSR22", OBJPROP_YDISTANCE, 35);

ObjectCreate("TSR23", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR23","Risk to Reward Ratio:", 10, "Arial Bold", CadetBlue);ObjectSet("TSR23", OBJPROP_CORNER, 0);ObjectSet("TSR23", OBJPROP_XDISTANCE, 350);ObjectSet("TSR23", OBJPROP_YDISTANCE, 2);ObjectCreate("TSR24", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("TSR24",DoubleToStr( Risk_to_Reward_ratio ,0),12, "Arial Bold", Orange);ObjectSet("TSR24", OBJPROP_CORNER, 0);ObjectSet("TSR24", OBJPROP_XDISTANCE, 500);ObjectSet("TSR24", OBJPROP_YDISTANCE, 2);

double HIDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0);double LOWDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0); //double YEST_HIDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,1);//double YEST_LOWDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,1);

ObjectCreate("high", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("high",DoubleToStr(HIDaily,Digits), 12, "Arial Bold", Orange);ObjectSet("high", OBJPROP_CORNER, 0);ObjectSet("high", OBJPROP_XDISTANCE, 890);ObjectSet("high", OBJPROP_YDISTANCE, 20);

ObjectCreate("high2", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("high2","DailyHigh", 9, "Arial Bold", CadetBlue);ObjectSet("high2", OBJPROP_CORNER, 0);ObjectSet("high2", OBJPROP_XDISTANCE, 890);ObjectSet("high2", OBJPROP_YDISTANCE, 2);

ObjectCreate("low", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("low",DoubleToStr(LOWDaily,Digits), 12, "Arial Bold", Orange);ObjectSet("low", OBJPROP_CORNER, 0);ObjectSet("low", OBJPROP_XDISTANCE, 830);ObjectSet("low", OBJPROP_YDISTANCE, 20);

ObjectCreate("low2", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("low2","DailyLow", 9, "Arial Bold", CadetBlue);

Page 8: Average Daily Weekly Monthly Range Calculator

ObjectSet("low2", OBJPROP_CORNER, 0);ObjectSet("low2", OBJPROP_XDISTANCE, 830);ObjectSet("low2", OBJPROP_YDISTANCE, 2);

double CURR = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);

ObjectCreate("high3", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("high3",DoubleToStr(CURR,Digits), 12, "Arial Bold", Coral);ObjectSet("high3", OBJPROP_CORNER, 0);ObjectSet("high3", OBJPROP_XDISTANCE, 890);ObjectSet("high3", OBJPROP_YDISTANCE,35 );

ObjectCreate("high4", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("high4",DoubleToStr(CURR,Digits), 12, "Arial Bold", Coral);ObjectSet("high4", OBJPROP_CORNER, 0);ObjectSet("high4", OBJPROP_XDISTANCE, 830);ObjectSet("high4", OBJPROP_YDISTANCE,35 );

ObjectCreate("low4", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("low4","Curr/Day", 9, "Arial ", LightSteelBlue);ObjectSet("low4", OBJPROP_CORNER, 0);ObjectSet("low4", OBJPROP_XDISTANCE, 770);ObjectSet("low4", OBJPROP_YDISTANCE, 20);ObjectCreate("low5", OBJ_LABEL, WindowFind("TSR"), 0, 0);ObjectSetText("low5","Price", 9, "Arial ", LightSteelBlue);ObjectSet("low5", OBJPROP_CORNER, 0);ObjectSet("low5", OBJPROP_XDISTANCE, 790);ObjectSet("low5", OBJPROP_YDISTANCE, 37);

return(0);}//+------------------------------------------------------------------+

http://forexcashback.hubpages.com/hub/Average-Daily-Range-Indictor

Page 9: Average Daily Weekly Monthly Range Calculator

Average Weekly Range Calculator - Custom MT4 Indicator

This helpful indicator will show you the average weekly range in pips for a currency pair and is similar to the Daily and Monthly range indicators. The information provided in this indicator can help you in evaluating what position to place and where to put your stop loss at for maximum effectiveness.

Features

Room Up - How many pips the market could move up based on weekly trading range and current market price

Room Down - how many pips the market could move down based on weekly trading range and current market price

Weekly High - the high price for the week

Weekly Low - the low price for the week

And it has a maximum stop loss level suggestion based on direction of price and what position placed.

To incorporate this indicator into your trading platform, I have provided the code below:

Page 10: Average Daily Weekly Monthly Range Calculator

For those that need instructions:1.Open up MetaEditor through the MT4 terminal2.Click on "File" ---> New3.Choose Customer Indicator4. Click "Next"5. Put in desired indicator name6. Click "Next"7. Check box that says "Indicator in Seperate Window"8. Click "Finish"9. Delete the generic code 10.Copy the code below11. Paste the code12. Compile it to make sure it has not errors/warning 13. Should be zero errors/warning 14. Save15. Restart MT4 terminal ---> You should now have your new indicator under the custom indicator heading and able to attach it to any chart.

Code:

#property indicator_separate_window//---- input parametersextern double Risk_to_Reward_ratio = 3.0;extern int First_AV = 5;extern int Second_AV = 10;extern int Third_AV = 20;int nDigits;//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init(){IndicatorShortName("TSR_Weekly");if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" || Symbol()=="CHFJPY" || Symbol()=="AUDJPY") nDigits = 2;if(Symbol()=="GBPUSD" || Symbol()=="EURUSD" || Symbol()=="NZDUSD" || Symbol()=="USDCHF" ||Symbol()=="USDCAD" || Symbol()=="AUDUSD" || Symbol()=="AUDCAD" || Symbol()=="EURCHF" || Symbol()=="EURGBP"|| Symbol()=="EURCAD" || Symbol()=="EURAUD" ||Symbol()=="AUDNZD"|| Symbol()=="GBPCHF" )nDigits = 4;

return(0);}//+------------------------------------------------------------------+//| Custom indicator deinitialization function |

Page 11: Average Daily Weekly Monthly Range Calculator

//+------------------------------------------------------------------+int deinit(){//----// Comment(""); //----return(0);}//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start(){//----int R1=0,R5=0,R10=0,R20=0,RAvg=0;int RoomUp=0,RoomDown=0,StopLoss_Long=0,StopLoss_Short=0;double SL_Long=0,SL_Short=0;double low0=0,high0=0;string Text="";int i=0;

R1 = (iHigh(NULL,PERIOD_W1,1)-iLow(NULL,PERIOD_W1,1))/Point;for(i=1;i<=First_AV;i++)R5 = R5 + (iHigh(NULL,PERIOD_W1,i)-iLow(NULL,PERIOD_W1,i))/Point;for(i=1;i<=Second_AV;i++)R10 = R10 + (iHigh(NULL,PERIOD_W1,i)-iLow(NULL,PERIOD_W1,i))/Point;for(i=1;i<=Third_AV;i++)R20 = R20 + (iHigh(NULL,PERIOD_W1,i)-iLow(NULL,PERIOD_W1,i))/Point;

R5 = R5/First_AV;R10 = R10/Second_AV;R20 = R20/Third_AV;RAvg = (R1+R5+R10+R20)/4; //RAvg = (R5+R10+R20)/3;new setting

low0 = iLow(NULL,PERIOD_W1,0);high0 = iHigh(NULL,PERIOD_W1,0);RoomUp = RAvg - (Bid - low0)/Point;RoomDown = RAvg - (high0 - Bid)/Point;StopLoss_Long = RoomUp/Risk_to_Reward_ratio;SL_Long = Bid - StopLoss_Long*Point;StopLoss_Short = RoomDown/Risk_to_Reward_ratio;SL_Short = Bid + StopLoss_Short*Point;

Text = "Average Weeks Range: " + RAvg + "\n" + "Prev 01 Weeks Range: " + R1 + "\n" +

Page 12: Average Daily Weekly Monthly Range Calculator

"Prev 05 Weeks Range: " + R5 + "\n" + "Prev 10 Weeks Range: " + R10 + "\n" +"Prev 20 Weeks Range: " + R20 + "\n";Text = Text +"Room Up: " + RoomUp + "\n" +"Room Down: " + RoomDown + "\n" +"Maximum StopLosses :" + "\n" +"Long: " + StopLoss_Long + " Pips at " + DoubleToStr(SL_Long,nDigits) + "\n" +"Short: " + StopLoss_Short + " Pips at " + DoubleToStr(SL_Short,nDigits) + "\n" ;

//Comment(Text);

string P=Period();

ObjectCreate("WTSR", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR",StringSubstr(Symbol(),0),12, "Arial Bold", CadetBlue);ObjectSet("WTSR", OBJPROP_CORNER, 0);ObjectSet("WTSR", OBJPROP_XDISTANCE, 25);ObjectSet("WTSR", OBJPROP_YDISTANCE, 2);ObjectCreate("WTSR1", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR1",StringSubstr(P,0),12, "Arial Bold", CadetBlue);ObjectSet("WTSR1", OBJPROP_CORNER, 0);ObjectSet("WTSR1", OBJPROP_XDISTANCE, 100);ObjectSet("WTSR1", OBJPROP_YDISTANCE, 2);

ObjectCreate("WTSR2", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR2","Average Weekly Range:", 10, "Arial Bold", CadetBlue);ObjectSet("WTSR2", OBJPROP_CORNER, 0);ObjectSet("WTSR2", OBJPROP_XDISTANCE, 150);ObjectSet("WTSR2", OBJPROP_YDISTANCE, 2);ObjectCreate("WTSR3", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR3",DoubleToStr(RAvg ,0),12, "Arial Bold", Orange);ObjectSet("WTSR3", OBJPROP_CORNER, 0);ObjectSet("WTSR3", OBJPROP_XDISTANCE, 310);ObjectSet("WTSR3", OBJPROP_YDISTANCE, 2);

ObjectCreate("WTSR4", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR4","Prev 1 Week Range:", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR4", OBJPROP_CORNER, 0);ObjectSet("WTSR4", OBJPROP_XDISTANCE, 25);ObjectSet("WTSR4", OBJPROP_YDISTANCE, 20);ObjectCreate("WTSR5", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR5",DoubleToStr(R1,0),12, "Arial Bold", Orange);ObjectSet("WTSR5", OBJPROP_CORNER, 0);ObjectSet("WTSR5", OBJPROP_XDISTANCE, 170);

Page 13: Average Daily Weekly Monthly Range Calculator

ObjectSet("WTSR5", OBJPROP_YDISTANCE, 20);

ObjectCreate("WTSR6", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR6","Prev "+First_AV+" Weeks Range:", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR6", OBJPROP_CORNER, 0);ObjectSet("WTSR6", OBJPROP_XDISTANCE, 25);ObjectSet("WTSR6", OBJPROP_YDISTANCE, 35);ObjectCreate("WTSR7", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR7",DoubleToStr(R5,0),12, "Arial Bold", Orange);ObjectSet("WTSR7", OBJPROP_CORNER, 0);ObjectSet("WTSR7", OBJPROP_XDISTANCE, 170);ObjectSet("WTSR7", OBJPROP_YDISTANCE, 35);

ObjectCreate("WTSR8", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR8","Prev "+Second_AV+" Weeks Range:", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR8", OBJPROP_CORNER, 0);ObjectSet("WTSR8", OBJPROP_XDISTANCE, 220);ObjectSet("WTSR8", OBJPROP_YDISTANCE, 20);ObjectCreate("WTSR9", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR9",DoubleToStr(R10,0),12, "Arial Bold", Orange);ObjectSet("WTSR9", OBJPROP_CORNER, 0);ObjectSet("WTSR9", OBJPROP_XDISTANCE, 370);ObjectSet("WTSR9", OBJPROP_YDISTANCE, 20);

ObjectCreate("WTSR10", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR10","Prev "+Third_AV+" Weeks Range:", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR10", OBJPROP_CORNER, 0);ObjectSet("WTSR10", OBJPROP_XDISTANCE, 220);ObjectSet("WTSR10", OBJPROP_YDISTANCE, 35);ObjectCreate("WTSR11", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR11",DoubleToStr(R20,0),12, "Arial Bold", Orange);ObjectSet("WTSR11", OBJPROP_CORNER, 0);ObjectSet("WTSR11", OBJPROP_XDISTANCE, 370);ObjectSet("WTSR11", OBJPROP_YDISTANCE, 35);

ObjectCreate("WTSR12", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR12","Room UP:", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR12", OBJPROP_CORNER, 0);ObjectSet("WTSR12", OBJPROP_XDISTANCE, 420);ObjectSet("WTSR12", OBJPROP_YDISTANCE, 20);ObjectCreate("WTSR13", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR13",DoubleToStr(RoomUp,0),12, "Arial Bold", Orange);ObjectSet("WTSR13", OBJPROP_CORNER, 0);ObjectSet("WTSR13", OBJPROP_XDISTANCE, 490);ObjectSet("WTSR13", OBJPROP_YDISTANCE, 20);

Page 14: Average Daily Weekly Monthly Range Calculator

ObjectCreate("WTSR14", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR14","Room DN:", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR14", OBJPROP_CORNER, 0);ObjectSet("WTSR14", OBJPROP_XDISTANCE, 420);ObjectSet("WTSR14", OBJPROP_YDISTANCE, 35);ObjectCreate("WTSR15", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR15",DoubleToStr(RoomDown,0),12, "Arial Bold", Orange);ObjectSet("WTSR15", OBJPROP_CORNER, 0);ObjectSet("WTSR15", OBJPROP_XDISTANCE, 490);ObjectSet("WTSR15", OBJPROP_YDISTANCE, 35);

ObjectCreate("WTSR16", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR16","Maximum StopLosses;",10, "Arial Bold", CadetBlue);ObjectSet("WTSR16", OBJPROP_CORNER, 0);ObjectSet("WTSR16", OBJPROP_XDISTANCE, 560);ObjectSet("WTSR16", OBJPROP_YDISTANCE, 2);

ObjectCreate("WTSR17", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR17","Long: Pips at", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR17", OBJPROP_CORNER, 0);ObjectSet("WTSR17", OBJPROP_XDISTANCE, 560);ObjectSet("WTSR17", OBJPROP_YDISTANCE, 20);ObjectCreate("WTSR18", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR18",DoubleToStr(StopLoss_Long,0),14, "Arial Bold", LimeGreen);ObjectSet("WTSR18", OBJPROP_CORNER, 0);ObjectSet("WTSR18", OBJPROP_XDISTANCE, 600);ObjectSet("WTSR18", OBJPROP_YDISTANCE, 17);

ObjectCreate("WTSR19", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR19","Short: Pips at", 10, "Arial ", LightSteelBlue);ObjectSet("WTSR19", OBJPROP_CORNER, 0);ObjectSet("WTSR19", OBJPROP_XDISTANCE, 560);ObjectSet("WTSR19", OBJPROP_YDISTANCE, 35);ObjectCreate("WTSR20", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR20",DoubleToStr(StopLoss_Short,0),14, "Arial Bold", Red);ObjectSet("WTSR20", OBJPROP_CORNER, 0);ObjectSet("WTSR20", OBJPROP_XDISTANCE, 600);ObjectSet("WTSR20", OBJPROP_YDISTANCE, 32);

ObjectCreate("WTSR21", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR21",DoubleToStr(SL_Long,nDigits),12, "Arial Bold", LimeGreen);ObjectSet("WTSR21", OBJPROP_CORNER, 0);ObjectSet("WTSR21", OBJPROP_XDISTANCE, 690);ObjectSet("WTSR21", OBJPROP_YDISTANCE, 20);ObjectCreate("WTSR22", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR22",DoubleToStr(SL_Short,nDigits),12, "Arial Bold",Red);

Page 15: Average Daily Weekly Monthly Range Calculator

ObjectSet("WTSR22", OBJPROP_CORNER, 0);ObjectSet("WTSR22", OBJPROP_XDISTANCE, 690);ObjectSet("WTSR22", OBJPROP_YDISTANCE, 35);

ObjectCreate("WTSR23", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR23","Risk to Reward Ratio:", 10, "Arial Bold", CadetBlue);ObjectSet("WTSR23", OBJPROP_CORNER, 0);ObjectSet("WTSR23", OBJPROP_XDISTANCE, 350);ObjectSet("WTSR23", OBJPROP_YDISTANCE, 2);ObjectCreate("WTSR24", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("WTSR24",DoubleToStr( Risk_to_Reward_ratio ,0),12, "Arial Bold", Orange);ObjectSet("WTSR24", OBJPROP_CORNER, 0);ObjectSet("WTSR24", OBJPROP_XDISTANCE, 500);ObjectSet("WTSR24", OBJPROP_YDISTANCE, 2);

double HIWeekly = iMA(Symbol(),PERIOD_W1,1,0,MODE_HIGH,PRICE_HIGH,0);double LOWWeekly = iMA(Symbol(),PERIOD_W1,1,0,MODE_LOW,PRICE_LOW,0); //double YEST_HIDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,1);//double YEST_LOWDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,1);

ObjectCreate("Whigh", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Whigh",DoubleToStr(HIWeekly,Digits), 12, "Arial Bold", Orange);ObjectSet("Whigh", OBJPROP_CORNER, 0);ObjectSet("Whigh", OBJPROP_XDISTANCE, 890);ObjectSet("Whigh", OBJPROP_YDISTANCE, 20);

ObjectCreate("Whigh2", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Whigh2","WeeklyHigh", 9, "Arial Bold", CadetBlue);ObjectSet("Whigh2", OBJPROP_CORNER, 0);ObjectSet("Whigh2", OBJPROP_XDISTANCE, 890);ObjectSet("Whigh2", OBJPROP_YDISTANCE, 2);

ObjectCreate("Wlow", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Wlow",DoubleToStr(LOWWeekly,Digits), 12, "Arial Bold", Orange);ObjectSet("Wlow", OBJPROP_CORNER, 0);ObjectSet("Wlow", OBJPROP_XDISTANCE, 830);ObjectSet("Wlow", OBJPROP_YDISTANCE, 20);

ObjectCreate("Wlow2", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Wlow2","WeeklyLow", 9, "Arial Bold", CadetBlue);ObjectSet("Wlow2", OBJPROP_CORNER, 0);ObjectSet("Wlow2", OBJPROP_XDISTANCE, 810);ObjectSet("Wlow2", OBJPROP_YDISTANCE, 2);

double CURR = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);

Page 16: Average Daily Weekly Monthly Range Calculator

ObjectCreate("Whigh3", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Whigh3",DoubleToStr(CURR,Digits), 12, "Arial Bold", Coral);ObjectSet("Whigh3", OBJPROP_CORNER, 0);ObjectSet("Whigh3", OBJPROP_XDISTANCE, 890);ObjectSet("Whigh3", OBJPROP_YDISTANCE,35 );

ObjectCreate("Whigh4", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Whigh4",DoubleToStr(CURR,Digits), 12, "Arial Bold", Coral);ObjectSet("Whigh4", OBJPROP_CORNER, 0);ObjectSet("Whigh4", OBJPROP_XDISTANCE, 830);ObjectSet("Whigh4", OBJPROP_YDISTANCE,35 );

ObjectCreate("Wlow4", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Wlow4","Curr/Week", 9, "Arial ", LightSteelBlue);ObjectSet("Wlow4", OBJPROP_CORNER, 0);ObjectSet("Wlow4", OBJPROP_XDISTANCE, 760);ObjectSet("Wlow4", OBJPROP_YDISTANCE, 20);ObjectCreate("Wlow5", OBJ_LABEL, WindowFind("TSR_Weekly"), 0, 0);ObjectSetText("Wlow5","Price", 9, "Arial ", LightSteelBlue);ObjectSet("Wlow5", OBJPROP_CORNER, 0);ObjectSet("Wlow5", OBJPROP_XDISTANCE, 790);ObjectSet("Wlow5", OBJPROP_YDISTANCE, 37);

return(0);}//+------------------------------------------------------------------+

http://forexcashback.hubpages.com/hub/Average-Weekly-Range-Calculator-Custome-MT4-Indicator

Page 17: Average Daily Weekly Monthly Range Calculator

Average Monthly Range Calculator - MT4 Custom Indicator

This helpful indicator will show you the average monthly range in pips for a currency pair and is similar to the Daily and Weekly range indicators. The information provided in this indicator can help you in evaluating what position to place and where to put your stop loss at for maximum effectiveness.

Features

Room Up - How many pips the market could move up based on monthly trading range and current market price

Room Down - how many pips the market could move down based on monthly trading range and current market price

Monthly High - the high price for the month

Monthly Low - the low price for the month

And it has a maximum stop loss level suggestion based on direction of price and what position placed.

To incorporate this indicator into your trading platform, I have provided the code below:

Page 18: Average Daily Weekly Monthly Range Calculator

For those that need instructions:1.Open up MetaEditor through the MT4 terminal2.Click on "File" ---> New3.Choose Customer Indicator4. Click "Next"5. Put in desired indicator name6. Click "Next"7. Check box that says "Indicator in Seperate Window"8. Click "Finish"9. Delete the generic code 10.Copy the code below11. Paste the code12. Compile it to make sure it has not errors/warning 13. Should be zero errors/warning 14. Save15. Restart MT4 terminal ---> You should now have your new indicator under the custom indicator heading and able to attach it to any chart.

Code:

#property indicator_separate_window//---- input parametersextern double Risk_to_Reward_ratio = 3.0;extern int First_Av = 5;extern int Second_Av = 10;extern int Third_Av = 20;

int nDigits;//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init(){IndicatorShortName("TSR_Monthly");if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" || Symbol()=="CHFJPY" || Symbol()=="AUDJPY") nDigits = 2;if(Symbol()=="GBPUSD" || Symbol()=="EURUSD" || Symbol()=="NZDUSD" || Symbol()=="USDCHF" ||Symbol()=="USDCAD" || Symbol()=="AUDUSD" || Symbol()=="AUDCAD" || Symbol()=="EURCHF" || Symbol()=="EURGBP"|| Symbol()=="EURCAD" || Symbol()=="EURAUD" ||Symbol()=="AUDNZD"|| Symbol()=="GBPCHF" )nDigits = 4;

return(0);

Page 19: Average Daily Weekly Monthly Range Calculator

}//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit(){//----// Comment(""); //----return(0);}//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start(){//----int R1=0,R5=0,R10=0,R20=0,RAvg=0;int RoomUp=0,RoomDown=0,StopLoss_Long=0,StopLoss_Short=0;double SL_Long=0,SL_Short=0;double low0=0,high0=0;string Text="";int i=0;

R1 = (iHigh(NULL,PERIOD_MN1,1)-iLow(NULL,PERIOD_MN1,1))/Point;for(i=1;i<=First_Av;i++)R5 = R5 + (iHigh(NULL,PERIOD_MN1,i)-iLow(NULL,PERIOD_MN1,i))/Point;for(i=1;i<=Second_Av;i++)R10 = R10 + (iHigh(NULL,PERIOD_MN1,i)-iLow(NULL,PERIOD_MN1,i))/Point;for(i=1;i<=Third_Av;i++)R20 = R20 + (iHigh(NULL,PERIOD_MN1,i)-iLow(NULL,PERIOD_MN1,i))/Point;

R5 = R5/First_Av;R10 = R10/Second_Av;R20 = R20/Third_Av;RAvg = (R1+R5+R10+R20)/4; //RAvg = (R5+R10+R20)/3;new setting

low0 = iLow(NULL,PERIOD_MN1,0);high0 = iHigh(NULL,PERIOD_MN1,0);RoomUp = RAvg - (Bid - low0)/Point;RoomDown = RAvg - (high0 - Bid)/Point;StopLoss_Long = RoomUp/Risk_to_Reward_ratio;SL_Long = Bid - StopLoss_Long*Point;StopLoss_Short = RoomDown/Risk_to_Reward_ratio;SL_Short = Bid + StopLoss_Short*Point;

Page 20: Average Daily Weekly Monthly Range Calculator

Text = "Average Months Range: " + RAvg + "\n" + "Prev 01 Months Range: " + R1 + "\n" + "Prev 05 Months Range: " + R5 + "\n" + "Prev 10 Months Range: " + R10 + "\n" +"Prev 20 Months Range: " + R20 + "\n";Text = Text +"Room Up: " + RoomUp + "\n" +"Room Down: " + RoomDown + "\n" +"Maximum StopLosses :" + "\n" +"Long: " + StopLoss_Long + " Pips at " + DoubleToStr(SL_Long,nDigits) + "\n" +"Short: " + StopLoss_Short + " Pips at " + DoubleToStr(SL_Short,nDigits) + "\n" ;

//Comment(Text);

string P=Period();

ObjectCreate("MTSR", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR",StringSubstr(Symbol(),0),12, "Arial Bold", CadetBlue);ObjectSet("MTSR", OBJPROP_CORNER, 0);ObjectSet("MTSR", OBJPROP_XDISTANCE, 25);ObjectSet("MTSR", OBJPROP_YDISTANCE, 2);ObjectCreate("MTSR1", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR1",StringSubstr(P,0),12, "Arial Bold", CadetBlue);ObjectSet("MTSR1", OBJPROP_CORNER, 0);ObjectSet("MTSR1", OBJPROP_XDISTANCE, 100);ObjectSet("MTSR1", OBJPROP_YDISTANCE, 2);

ObjectCreate("MTSR2", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR2","Average Monthly Range:", 10, "Arial Bold", CadetBlue);ObjectSet("MTSR2", OBJPROP_CORNER, 0);ObjectSet("MTSR2", OBJPROP_XDISTANCE, 150);ObjectSet("MTSR2", OBJPROP_YDISTANCE, 2);ObjectCreate("MTSR3", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR3",DoubleToStr(RAvg ,0),12, "Arial Bold", Orange);ObjectSet("MTSR3", OBJPROP_CORNER, 0);ObjectSet("MTSR3", OBJPROP_XDISTANCE, 310);ObjectSet("MTSR3", OBJPROP_YDISTANCE, 2);

ObjectCreate("MTSR4", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR4","Prev 1 Month Range:", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR4", OBJPROP_CORNER, 0);ObjectSet("MTSR4", OBJPROP_XDISTANCE, 25);ObjectSet("MTSR4", OBJPROP_YDISTANCE, 20);ObjectCreate("MTSR5", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);

Page 21: Average Daily Weekly Monthly Range Calculator

ObjectSetText("MTSR5",DoubleToStr(R1,0),12, "Arial Bold", Orange);ObjectSet("MTSR5", OBJPROP_CORNER, 0);ObjectSet("MTSR5", OBJPROP_XDISTANCE, 170);ObjectSet("MTSR5", OBJPROP_YDISTANCE, 20);

ObjectCreate("MTSR6", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR6","Prev "+First_Av+" Months Range:", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR6", OBJPROP_CORNER, 0);ObjectSet("MTSR6", OBJPROP_XDISTANCE, 25);ObjectSet("MTSR6", OBJPROP_YDISTANCE, 35);ObjectCreate("MTSR7", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR7",DoubleToStr(R5,0),12, "Arial Bold", Orange);ObjectSet("MTSR7", OBJPROP_CORNER, 0);ObjectSet("MTSR7", OBJPROP_XDISTANCE, 170);ObjectSet("MTSR7", OBJPROP_YDISTANCE, 35);

ObjectCreate("MTSR8", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR8","Prev "+Second_Av+" Months Range:", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR8", OBJPROP_CORNER, 0);ObjectSet("MTSR8", OBJPROP_XDISTANCE, 220);ObjectSet("MTSR8", OBJPROP_YDISTANCE, 20);ObjectCreate("MTSR9", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR9",DoubleToStr(R10,0),12, "Arial Bold", Orange);ObjectSet("MTSR9", OBJPROP_CORNER, 0);ObjectSet("MTSR9", OBJPROP_XDISTANCE, 370);ObjectSet("MTSR9", OBJPROP_YDISTANCE, 20);

ObjectCreate("MTSR10", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR10","Prev "+Third_Av+" Months Range:", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR10", OBJPROP_CORNER, 0);ObjectSet("MTSR10", OBJPROP_XDISTANCE, 220);ObjectSet("MTSR10", OBJPROP_YDISTANCE, 35);ObjectCreate("mMTSR11", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("mMTSR11",DoubleToStr(R20,0),12, "Arial Bold", Orange);ObjectSet("mMTSR11", OBJPROP_CORNER, 0);ObjectSet("mMTSR11", OBJPROP_XDISTANCE, 370);ObjectSet("mMTSR11", OBJPROP_YDISTANCE, 35);

ObjectCreate("MTSR12", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR12","Room UP:", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR12", OBJPROP_CORNER, 0);ObjectSet("MTSR12", OBJPROP_XDISTANCE, 420);ObjectSet("MTSR12", OBJPROP_YDISTANCE, 20);ObjectCreate("mMTSR13", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("mMTSR13",DoubleToStr(RoomUp,0),12, "Arial Bold", Orange);ObjectSet("mMTSR13", OBJPROP_CORNER, 0);

Page 22: Average Daily Weekly Monthly Range Calculator

ObjectSet("mMTSR13", OBJPROP_XDISTANCE, 490);ObjectSet("mMTSR13", OBJPROP_YDISTANCE, 20);

ObjectCreate("MTSR14", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR14","Room DN:", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR14", OBJPROP_CORNER, 0);ObjectSet("MTSR14", OBJPROP_XDISTANCE, 420);ObjectSet("MTSR14", OBJPROP_YDISTANCE, 35);ObjectCreate("MTSR15", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR15",DoubleToStr(RoomDown,0),12, "Arial Bold", Orange);ObjectSet("MTSR15", OBJPROP_CORNER, 0);ObjectSet("MTSR15", OBJPROP_XDISTANCE, 490);ObjectSet("MTSR15", OBJPROP_YDISTANCE, 35);

ObjectCreate("MTSR16", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR16","Maximum StopLosses;",10, "Arial Bold", CadetBlue);ObjectSet("MTSR16", OBJPROP_CORNER, 0);ObjectSet("MTSR16", OBJPROP_XDISTANCE, 560);ObjectSet("MTSR16", OBJPROP_YDISTANCE, 2);

ObjectCreate("MTSR17", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR17","Long: Pips at", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR17", OBJPROP_CORNER, 0);ObjectSet("MTSR17", OBJPROP_XDISTANCE, 560);ObjectSet("MTSR17", OBJPROP_YDISTANCE, 20);ObjectCreate("mMTSR18", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("mMTSR18",DoubleToStr(StopLoss_Long,0),14, "Arial Bold", LimeGreen);ObjectSet("mMTSR18", OBJPROP_CORNER, 0);ObjectSet("mMTSR18", OBJPROP_XDISTANCE, 600);ObjectSet("mMTSR18", OBJPROP_YDISTANCE, 17);

ObjectCreate("MTSR19", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR19","Short: Pips at", 10, "Arial ", LightSteelBlue);ObjectSet("MTSR19", OBJPROP_CORNER, 0);ObjectSet("MTSR19", OBJPROP_XDISTANCE, 560);ObjectSet("MTSR19", OBJPROP_YDISTANCE, 35);ObjectCreate("MTSR20", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR20",DoubleToStr(StopLoss_Short,0),14, "Arial Bold", Red);ObjectSet("MTSR20", OBJPROP_CORNER, 0);ObjectSet("MTSR20", OBJPROP_XDISTANCE, 600);ObjectSet("MTSR20", OBJPROP_YDISTANCE, 32);

ObjectCreate("MTSR21", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR21",DoubleToStr(SL_Long,nDigits),12, "Arial Bold", LimeGreen);ObjectSet("MTSR21", OBJPROP_CORNER, 0);ObjectSet("MTSR21", OBJPROP_XDISTANCE, 690);

Page 23: Average Daily Weekly Monthly Range Calculator

ObjectSet("MTSR21", OBJPROP_YDISTANCE, 20);ObjectCreate("MTSR22", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR22",DoubleToStr(SL_Short,nDigits),12, "Arial Bold",Red);ObjectSet("MTSR22", OBJPROP_CORNER, 0);ObjectSet("MTSR22", OBJPROP_XDISTANCE, 690);ObjectSet("MTSR22", OBJPROP_YDISTANCE, 35);

ObjectCreate("MTSR23", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR23","Risk to Reward Ratio:", 10, "Arial Bold", CadetBlue);ObjectSet("MTSR23", OBJPROP_CORNER, 0);ObjectSet("MTSR23", OBJPROP_XDISTANCE, 350);ObjectSet("MTSR23", OBJPROP_YDISTANCE, 2);ObjectCreate("MTSR24", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("MTSR24",DoubleToStr( Risk_to_Reward_ratio ,0),12, "Arial Bold", Orange);ObjectSet("MTSR24", OBJPROP_CORNER, 0);ObjectSet("MTSR24", OBJPROP_XDISTANCE, 500);ObjectSet("MTSR24", OBJPROP_YDISTANCE, 2);

double HIMonthly = iMA(Symbol(),PERIOD_MN1,1,0,MODE_HIGH,PRICE_HIGH,0);double LOWMonthly = iMA(Symbol(),PERIOD_MN1,1,0,MODE_LOW,PRICE_LOW,0); //double YEST_HIDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,1);//double YEST_LOWDaily = iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,1);

ObjectCreate("Mhigh", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mhigh",DoubleToStr(HIMonthly,Digits), 12, "Arial Bold", Orange);ObjectSet("Mhigh", OBJPROP_CORNER, 0);ObjectSet("Mhigh", OBJPROP_XDISTANCE, 890);ObjectSet("Mhigh", OBJPROP_YDISTANCE, 20);

ObjectCreate("Mhigh2", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mhigh2","MonthlyHigh", 9, "Arial Bold", CadetBlue);ObjectSet("Mhigh2", OBJPROP_CORNER, 0);ObjectSet("Mhigh2", OBJPROP_XDISTANCE, 890);ObjectSet("Mhigh2", OBJPROP_YDISTANCE, 2);

ObjectCreate("Mlow", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mlow",DoubleToStr(LOWMonthly,Digits), 12, "Arial Bold", Orange);ObjectSet("Mlow", OBJPROP_CORNER, 0);ObjectSet("Mlow", OBJPROP_XDISTANCE, 830);ObjectSet("Mlow", OBJPROP_YDISTANCE, 20);

ObjectCreate("mMlow2", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("mMlow2","MonthlyLow", 9, "Arial Bold", CadetBlue);ObjectSet("mMlow2", OBJPROP_CORNER, 0);ObjectSet("mMlow2", OBJPROP_XDISTANCE, 810);

Page 24: Average Daily Weekly Monthly Range Calculator

ObjectSet("mMlow2", OBJPROP_YDISTANCE, 2);

double CURR = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);

ObjectCreate("Mhigh3", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mhigh3",DoubleToStr(CURR,Digits), 12, "Arial Bold", Coral);ObjectSet("Whigh3", OBJPROP_CORNER, 0);ObjectSet("Mhigh3", OBJPROP_XDISTANCE, 890);ObjectSet("Mhigh3", OBJPROP_YDISTANCE,35 );

ObjectCreate("Mhigh4", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mhigh4",DoubleToStr(CURR,Digits), 12, "Arial Bold", Coral);ObjectSet("Mhigh4", OBJPROP_CORNER, 0);ObjectSet("Mhigh4", OBJPROP_XDISTANCE, 830);ObjectSet("Mhigh4", OBJPROP_YDISTANCE,35 );

ObjectCreate("Mlow4", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mlow4","Curr/Month", 9, "Arial ", LightSteelBlue);ObjectSet("Mlow4", OBJPROP_CORNER, 0);ObjectSet("Mlow4", OBJPROP_XDISTANCE, 760);ObjectSet("Mlow4", OBJPROP_YDISTANCE, 20);ObjectCreate("Mlow5", OBJ_LABEL, WindowFind("TSR_Monthly"), 0, 0);ObjectSetText("Mlow5","Price", 9, "Arial ", LightSteelBlue);ObjectSet("Mlow5", OBJPROP_CORNER, 0);ObjectSet("Mlow5", OBJPROP_XDISTANCE, 790);ObjectSet("Mlow5", OBJPROP_YDISTANCE, 37);

return(0);}//+------------------------------------------------------------------+

http://forexcashback.hubpages.com/hub/Average-Monthly-Range-Calculator-MT4-Custom-Indicator