Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

derek2209

Convert MT4 Indicator into Tradestation

Recommended Posts

Hi,

 

Could you please help me to convert the Turbo_JRSX.mq4 code below into

Tradestation Easylanguage.

 

Thank you in advance

 

Derek

 

---------------------------------------------------------------------------

 

http://www.mql5.com/en/code/viewcode/7900/44457/Turbo_JRSX.mq4

 



//+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 1999-2007, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "strategybuilderfx.com - modified by bluto to use typical price (HLC/3)"
#property link "finger"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Magenta
#property indicator_level1 70
#property indicator_level2 30
#property indicator_level3 50
#property indicator_maximum 100
#property indicator_minimum 0
//---- input parameters
extern int Len=14; //---- buffers
double rsx[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 int init() 
 {
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,rsx);
  IndicatorShortName("Turbo_JRSX");
  return(0);
 }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
 {
  return(0);
 }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
 {
  double f88, f90;
  double f0, v4, v8, vC, v10, v14, v18, v20;
  double f8, f10, f18, f20, f28, f30, f38, f48, v1C;
  double f50, f58, f60, f68, f70, f78, f80, f40;
  //int counted_bars = IndicatorCounted(),limit,shift;
  //if (counted_bars<0) return(-1);
  //if (counted_bars>0) counted_bars--;
  double limit=Bars-(Len)-1;
  //if(counted_bars>Len) limit=Bars-counted_bars-1;
    for(int shift=limit;shift>=0;shift--) 
    {
       if (f90==0.0) 
       {
        f90=1.0;
        f0=0.0;
        if (Len-1>=5) f88=Len-1.0; else f88=5.0;
        //      f8 = 100.0*(Close[shift]);
        // 
        //      Modified for median price
        //
        f8=100.0*((High[shift]+Low[shift]+Close[shift])/3);
        f18=3.0/(Len + 2.0);
        f20=1.0 - f18;
        }
         else
        {
        if (f88<=f90) f90=f88 + 1; else f90=f90 + 1;
        f10=f8;
        //      f8 = 100*Close[shift];
        f8=100.0*((High[shift]+Low[shift]+Close[shift])/3);
        v8=f8 - f10;
        f28=f20 * f28 + f18 * v8;
        f30=f18 * f28 + f20 * f30;
        vC=f28 * 1.5 - f30 * 0.5;
        f38=f20 * f38 + f18 * vC;
        f40=f18 * f38 + f20 * f40;
        v10=f38 * 1.5 - f40 * 0.5;
        f48=f20 * f48 + f18 * v10;
        f50=f18 * f48 + f20 * f50;
        v14=f48 * 1.5 - f50 * 0.5;
        f58=f20 * f58 + f18 * MathAbs(v8);
        f60=f18 * f58 + f20 * f60;
        v18=f58 * 1.5 - f60 * 0.5;
        f68=f20 * f68 + f18 * v18;
        f70=f18 * f68 + f20 * f70;
        v1C=f68 * 1.5 - f70 * 0.5;
        f78=f20 * f78 + f18 * v1C;
        f80=f18 * f78 + f20 * f80;
        v20=f78 * 1.5 - f80 * 0.5;
//----
        if ((f88>=f90) && (f8!=f10)) f0=1.0;
        if ((f88==f90) && (f0==0.0)) f90=0.0;
       }
       if ((f88 < f90) && (v20 > 0.0000000001)) 
       {
        v4=(v14/v20 + 1.0) * 50.0;
        if (v4 > 100.0) v4=100.0;
        if (v4 < 0.0) v4=0.0;
        }
         else 
        {
        v4=50.0;
       }
     rsx[shift]=v4;
    }
//----
  return(0);
 }
//+------------------------------------------------------------------+

Share this post


Link to post
Share on other sites

Close Not tested or compiled!, needs some cleaning up work! Compare MQ4 numbers and match them to Tradestation then repost corrected code if need be!

Using elsystem;
inputs:
	int Len(14);

variables:
	double rsx(0),
	double f90(0),
	double f0(0),
	double f88(0),
	double f8(0),
	double f18(0),
	double f20(0),
	double f10(0),
	double v8(0),
	double f28(0),
	double f30(0),
	double vC(0),
	double f38(0),
	double f40(0),
	double v10(0),
	double f48(0),
	double f50(0),
	double v14(0),
	double f58(0),
	double f60(0),
	double v18(0),
	double f68(0),
	double f70(0),
	double v1C(0),
	double f78(0),
	double f80(0),
	double v20(0),
	double v4(0);

IF f90 = 0.0 THEN BEGIN
    f90 = 1.0;
    f0 = 0.0;
    IF Len - 1 >= 5 THEN f88 = Len - 1.0
    ELSE f88 = 5.0;
    f8 = 100.0 * ((High + Low + Close) / 3);
    f18 = 3.0 / (Len + 2.0){WARNING:Possible division by zero};
    f20 = 1.0 - f18;
END
ELSE BEGIN
    IF f88 <= f90 THEN f90 = f88 + 1
    ELSE f90 = f90 + 1;
    f10 = f8;
    f8 = 100.0 * ((High + Low + Close) / 3);
    v8 = f8 - f10;
    f28 = f20 * f28 + f18 * v8;
    f30 = f18 * f28 + f20 * f30;
    vC = f28 * 1.5 - f30 * 0.5;
    f38 = f20 * f38 + f18 * vC;
    f40 = f18 * f38 + f20 * f40;
    v10 = f38 * 1.5 - f40 * 0.5;
    f48 = f20 * f48 + f18 * v10;
    f50 = f18 * f48 + f20 * f50;
    v14 = f48 * 1.5 - f50 * 0.5;
    f58 = f20 * f58 + f18 * AbsValue(v8);
    f60 = f18 * f58 + f20 * f60;
    v18 = f58 * 1.5 - f60 * 0.5;
    f68 = f20 * f68 + f18 * v18;
    f70 = f18 * f68 + f20 * f70;
    v1C = f68 * 1.5 - f70 * 0.5;
    f78 = f20 * f78 + f18 * v1C;
    f80 = f18 * f78 + f20 * f80;
    v20 = f78 * 1.5 - f80 * 0.5;
    IF (f88 >= f90) AND (f8 <> f10) THEN f0 = 1.0;
    IF (f88 = f90) AND (f0 = 0.0) THEN f90 = 0.0;
END;
IF (f88 < f90) AND (v20 > 0_0000000001) THEN BEGIN
    v4 = (v14 / v20{WARNING:Possible division by zero} + 1.0) * 50.0;
    IF v4 > 100.0 THEN v4 = 100.0;
    IF v4 < 0.0 THEN v4 = 0.0;
END
ELSE v4 = 50.0;
rsx = v4;

Plot1(rsx,"rsx");

Plot2(70,"level1");
Plot3(30,"level2");
Plot4(50,"level3");

 

On 7/13/2014 at 10:22 AM, derek2209 said:

Hi,

 

I have attached an Image of the Turbo_JRSX

I hope this will help

 

Best regards,

Derek

 

150029d1404068860t

 

On 7/13/2014 at 10:22 AM, derek2209 said:

Hi,

 

I have attached an Image of the Turbo_JRSX

I hope this will help

 

Best regards,

Derek

 

150029d1404068860t

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • Descartes     it appears all the lab rats have been killed in here.  can't you just order some more?
    • what % of lab rats can handle this https://off-guardian.org/2020/05/19/10-steps-to-turn-a-pandemic-into-the-brave-new-normal/ ?
    • There is no point asking this question as we know women have now entered most of the fields of business. You might remember this ball busting study which found that women make better investors than men, because they are more risk-averse. 
    • The stock market going up is not a reflection of a healthy economy as created by rationally minded entrepreneurs and investors; it’s going up because the people who have the ability to make it go up also happen to be the ones who’ll benefit from it the most.
    • Landora This thread illustrates a couple of things that humblepieasant hopefully/probably learned 1 day/short term trading is for the few, not the many.  Finding systems that optimize win rate with risks is formidable.  Finding such systems that are also self compatible is exceedingly rare. 2 posting is expensive.  ie It really doesn’t pay short term or long term to give if you don’t got... 3 the need for the kind of “accountability”hp mentioned above is - in a word - transitional.  ie Accountability needs to be turned and referenced inward instead of spread outward... 4 hp would have been much better off trading “a small "live" account through the end of January, then a small "practice account" account beginning February, ... then back live. ... 1 Don’t just look for an edge.  Look for an edge that is also true to your nature.  If an edge is not true to your nature, you will still never be able to make it work consistently. 2 Post what you are learning and see. 3 Post what you are trading and see. 4 See.  ... maybe decades later... All the best zdo
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.