//+------------------------------------------------------------------+ //| TSR_Ranges.mq4 | //| Copyright © 2006, Ogeima | //| ph_bresson@yahoo.com | //| made for FXiGoR for the TSR Trend Slope Retracement method | //| modified to the DYNAMIC Daily Range Breakout System | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Ogeima" #property link "ph_bresson@yahoo.com" #property indicator_chart_window //---- input parameters extern double Risk_to_Reward_ratio = 3.0; int nDigits; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" || Symbol()=="GOLD") nDigits = 2; else nDigits = 4; return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- int R1=0,Rweek=0, Rmonth=0,Ryear=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<=5;i++) Rweek = Rweek + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point; for(i=1;i<=20;i++) Rmonth = Rmonth + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point; for(i=1;i<=240;i++) Ryear = Ryear + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point; Rweek = Rweek/5; Rmonth = Rmonth/20; Ryear = Ryear/240; RAvg = (R1+Rweek+Rmonth+Ryear)/4; 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; SL_Short = Bid + StopLoss_Short*Point; Text = "Average 1/2 Day Range: " + RAvg/2 + "\n" + "Average Day Range: " + RAvg + "\nAverage DAILY Range During:\n" + "Previous Day: " + R1 + "\n" + "Previous Week: " + Rweek + "\n" + "Previous Month: " + Rmonth + "\n"+ "Previous Year: " + Ryear + "\n"; Text = Text + "Room Up: " + RoomUp + "\n" + "Room Down: " + RoomDown + "\n" ; Comment(Text); return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: