Visitors Now:
Total Visits:
Total Stories:
Profile image
By Traders Laboratory
Contributor profile | More stories
Story Views

Now:
Last Hour:
Last 24 Hours:
Total:

Sliding Range

Thursday, November 24, 2016 5:27
% of readers think this story is Fact. Add your two cents.

(Before It's News)

Hello,

Would anyone be kind enough the convert the mq4 formula for the
Sling Range into tradestation Code
Hoping that you can oblige
Thank you in advance
Derek

Code:

//+------------------------------------------------------------------+
//|                                              Rj_SlidingRange.mq4 |
//|                            Copyright © 2011,RJ Rjabkov Alexander |
//|                                                    rj-a@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011,RJ Rjabkov Alexander"
#property link      "rj-a@mail.ru"

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Aqua
#property indicator_color2 Red
#property indicator_color3 Aqua
#property indicator_color4 Red
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 2
#property indicator_width4 2
#property indicator_style1 2
#property indicator_style2 2

extern int CalcPeriodRange  = 5;

double UpperLimit[];
double LowerLimit[];
double AwlUpper[];
double AwlLower[];
double Current[];

int init() {
  IndicatorBuffers(5);
  SetIndexBuffer(0, UpperLimit);
  SetIndexBuffer(1, LowerLimit);
  SetIndexBuffer(2, AwlUpper);
  SetIndexBuffer(3, AwlLower);
  SetIndexBuffer(4, Current);
  SetIndexStyle(0, DRAW_LINE);
  SetIndexStyle(1, DRAW_LINE);
  SetIndexStyle(2, DRAW_LINE);
  SetIndexStyle(3, DRAW_LINE);
  return(0);
}

int deinit() {return(0);}

int start() {
  int i, cb;
  int counted_bars = IndicatorCounted();
  if (counted_bars < 0) return(-1);
  if (counted_bars > 0) counted_bars--;
  cb=Bars-counted_bars;

  while(cb>=0) {
    i=cb+CalcPeriodRange-1;
    double b1=0, b2=0;
    while(i>=cb) {
      b1 += High[iHighest(NULL, 0, MODE_HIGH, CalcPeriodRange, i)];
      b2 += Low[iLowest(NULL, 0, MODE_LOW, CalcPeriodRange, i)];
      i--;
    }
    UpperLimit[cb]=b1/CalcPeriodRange;
    LowerLimit[cb]=b2/CalcPeriodRange;
    Current[cb]=NormalizeDouble((UpperLimit[cb]+LowerLimit[cb])/2, 5);
    AwlUpper[cb]=EMPTY_VALUE;
    AwlLower[cb]=EMPTY_VALUE;
    if(Current[cb]>Current[cb+1]) {AwlUpper[cb]=Current[cb]; AwlUpper[cb+1]=Current[cb+1];}
    if(Current[cb]     if(Current[cb]==Current[cb+1] && AwlLower[cb+1]!=EMPTY_VALUE) {AwlLower[cb]=Current[cb];}
    if(Current[cb]==Current[cb+1] && AwlUpper[cb+1]!=EMPTY_VALUE) {AwlUpper[cb]=Current[cb];}
    cb--;
  }
  return(0);
}
//+------------------------------------------------------------------+


Report abuse

Comments

Your Comments
Question   Razz  Sad   Evil  Exclaim  Smile  Redface  Biggrin  Surprised  Eek   Confused   Cool  LOL   Mad   Twisted  Rolleyes   Wink  Idea  Arrow  Neutral  Cry   Mr. Green

Top Stories
Recent Stories

Register

Newsletter

Email this story
Email this story

If you really want to ban this commenter, please write down the reason:

If you really want to disable all recommended stories, click on OK button. After that, you will be redirect to your options page.