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.

goody01

Convert MT4 Indicator into Tradestation Eld?

Recommended Posts

Hi,

 

I found 2 interesting and promissing indicators based on MT4 and would be happy to have them available for TS.

Anyone here "billangual" able to code MT4 and Easylanguage? Have MT4 code available and can post it.

 

Many thx in advance,

 

Goody

Share this post


Link to post
Share on other sites

Here is my version. Feel free to modify.

 

1. MA_WRP indicator

 

{ Mimic VininI_BB_MA_WPR.v1.mq4 }

 

inputs: WRP_Len(55), MA_Len(3), BB_Len(89), BB_Std(1);

 

Vars: WRP(0), WRPMid(0), WRPUP(0), WRPDN(0), sDev(0);

 

{WRP = (PercentR( WRP_Len )+50 )*2 ; WRP with scale > 100}

 

WRP = PercentR( WRP_Len );

WRPMid = Average( WRP, BB_Len );

SDev = StdDev( WRP, BB_Len );

 

WRPUP = WRPMid + BB_Std*sDev;

WRPDN = WRPMid - BB_Std*sDev;

 

 

Plot1(Average(WRP, MA_Len), "%R w/BB" ) ;

Plot2(WRPMid, "WRPMid" );

Plot3(WRPUP, "WRPUP" );

Plot4(WRPDN, "WRPDN" );

MA_WRP.ELD

Ma-WRP.thumb.jpg.06658c11407d1882ef8f067540cbad30.jpg

Edited by phim9hi3n

Share this post


Link to post
Share on other sites

Hi phim9hi3n,

 

great, many thanks for your help here!

Not sure what you think about it, but it seems to give a good help about where you are in a trend and if it maybe going to change. I had 2 screens attached in my first post.

There is some info available about the TDI on the Web to dig in a bit deeper, compassfx.com seems to be a good start.

 

So thx again and good luck,

 

Goody:)

Share this post


Link to post
Share on other sites
Hi,

 

I found 2 interesting and promissing indicators based on MT4 and would be happy to have them available for TS.

Anyone here "billangual" able to code MT4 and Easylanguage? Have MT4 code available and can post it.

 

Many thx in advance,

 

Goody

 

I found also interesting indicator and I think it will be useful for others traders . I will apreciate if somebody helps me "trunslate" this code into Easylanguage TS. Thanks in advance,

Alex.

CycleIdentifier.mq4

Share this post


Link to post
Share on other sites

I just want add picture of this indicator with parameters:

PriceActionFilter=1;

Length=3;

MajorCycleStrength=4;

UseCycleFilter=false;

UseFilterSMAorRSI=1;

FilterStrengthSMA=12;

FilterStrengthRSI=21;

It seems to be similar to Kelly indicator.

Thanks.

Alex.

indicator_cycleidentifier.gif.ccfc309a983de1ca0175455d1e98dfd6.gif

Share this post


Link to post
Share on other sites
:) Yes, I found some info about TDI which is helped me in writing the code.

 

2. TDI w VolBand indicator.

 

Enjoy and lucky on trading.

 

Great job on converting the TDI to tradestation!

 

Here's my contribution, the attached Wilders Smooth is the same as the "Price Channel" the orignal poster shows in the screenshot, and as the Synergy method on MT4. Plot Wilder's twice, 1 with Price = high, 1 with Price = low. Length is 5.

WILDERS SMOOTH MA.ELD

synergy.thumb.jpg.d5c75bc5f3316a081236a8faca29cc8b.jpg

Edited by jeffx
attach schreenshot

Share this post


Link to post
Share on other sites

any1 could help me to convert this please :)

 

its only my simple indicator to plot local time on chart

 

extern int corner=0;

extern int X=0;

extern int Y=0;

extern int Font_Size=10;

extern color Font_Color=Red;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- creates and sets Object Label

if(ObjectFind("LocalTime")<0) ObjectCreate("LocalTime", OBJ_LABEL, 0, 0, 0, 0);

ObjectSet("LocalTime", OBJPROP_CORNER, corner);

ObjectSet("LocalTime", OBJPROP_XDISTANCE, X+10);

ObjectSet("LocalTime", OBJPROP_YDISTANCE, Y+Font_Size);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//---- deletes Object Label

if(ObjectFind("LocalTime")>-1) ObjectDelete("LocalTime");

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//---- set and reset Object Label text to show current local time

ObjectSetText("LocalTime", TimeToStr(TimeLocal(),TIME_SECONDS), Font_Size, "Arial", Font_Color);

//----

return(0);

}

//+------------------------------------------------------------------+

Edited by furtrader

Share this post


Link to post
Share on other sites

//+----------------------------------------------- ---------------------------------------+
/ / | Hodrick - Prescott Filter.mq5 |
/ / | Copyright 2010 gpwr |
/ / | vlad1004@yahoo.com |
//+----------------------------------------------- ---------------------------------------+
# property copyright "gpwr"
# property version "1.00"
# property description "Hodrick - Prescott Filter"
# property indicator_chart_window
# property indicator_buffers 1
# property indicator_plots 1
# property indicator_label1 "filter"
# property indicator_type1 DRAW_LINE
# property indicator_color1 Red
# property indicator_style1 STYLE_SOLID
# property indicator_width1 1

//===================================== INPUTS ========== =================================
input int Per = 50; / / HP filter period
input int N = 500 / / # of prices to smooth

/ / Global variables
int PrevBars;
double Lambda;

/ / Indicator buffers
double hpf [];

/ / Custom indicator initialization function -------------------------------------------- - +
void OnInit ()
{
/ / Initialize global variables
  PrevBars = Bars (_Symbol, _Period) -1;
  Lambda = 0.0625/MathPow (MathSin (M_PI / Per), 4);

/ / Map indicator buffers
  ArraySetAsSeries (hpf, true);
  SetIndexBuffer (0 hpf, INDICATOR_DATA);
  IndicatorSetInteger (INDICATOR_DIGITS, _Digits);
  IndicatorSetString (INDICATOR_SHORTNAME "HPF ("+ string (Per )+")");
}

//====================================== MAIN ========= ===================================
int OnCalculate (const int bars,
               const int prev_calculated,
               const datetime & Time [],
               const double & Open [],
               const double & High [],
               const double & Low [],
               const double & Close [],
               const long & tick_volume [],
               const long & volume [],
               const int & spread [])
{
/ / Check for insufficient data and new bar
  if (bars <N)
  {
     Print ( "Error : not enough bars in history!");
     return (0);
  }
  if (PrevBars == bars) return (bars);
  PrevBars = bars;

/ / Initialize indicator buffer to EMPTY_VALUE
  ArrayInitialize (hpf, EMPTY_VALUE);

/ / Reverse indexing direction for Open
  ArraySetAsSeries (Open, true);

/ / Main cycle ---------------------------------------------- -----------------------------+
  for (int i = 0; i <N; i + +) hpf [i] = Open [i];
  HPF (N, Lambda, hpf);
  return (bars);
}
//==================================== FUNCTIONS =========== ==============================
/ / Hodrick - Prescott Filter -------------------------------------------- -------------------+
void HPF (int n, double lambda, double & x [])
{
  double a [], b [], c [], h1, h2, h3, h4, h5, hh1, hh2, hh3, hh5, hb, hc, z;
  ArrayResize (a, n);
  ArrayResize (b, n);
  ArrayResize (c, n);

  a [0] = 1.0 + lambda;
  b [0] =- 2.0 * lambda;
  c [0] = lambda;
  for (int i = 1; i <n - 2; i + +)
  {
     a [i] = 6.0 * lambda +1.0;
     b [i] =- 4.0 * lambda;
     c [i] = lambda;
  }
  a [1] = 5.0 * lambda +1;
  a [n - 1] = 1.0 + lambda;
  a [n - 2] = 5.0 * lambda +1.0;
  b [n - 2] =- 2.0 * lambda;
  b [n - 1] = 0.0;
  c [n - 2] = 0.0;
  c [n - 1] = 0.0;

  / / Forward
  for (int i = 0; i <n; i + +)
  {
     z = a [i] - h4 * h1 - hh5 * hh2;
     hb = b [i];
     hh1 = h1;
     h1 = (hb - h4 * h2) / z;
     b [i] = h1;
     hc = c [i];
     hh2 = h2;
     h2 = hc / z;
     c [i] = h2;
     a [i] = (x [i] - hh3 * hh5 - h3 * h4) / z;
     hh3 = h3;
     h3 = a [i];
     h4 = hb - h5 * hh1;
     hh5 = h5;
     h5 = hc;
  }

  / / Backward 
  h2 = 0;
  h1 = a [n - 1];
  x [n - 1] = h1;
  for (int i = n - 2; i> = 0; i -)
  {
     x [i] = a [i] - b [i] * h1 - c [i] * h2;
     h2 = h1;
     h1 = x [i];
  }
}

 

It's Hodrick-Prescott Filter coded in MT4. it's widely used in econometrics or bussiness forecasting. hope someone convert it to Tradestation.

i've tried by myself but i've stucked in the Forward iteration part. he used one variable named x in the forward interation and it's third parameter of the function itself. but i don't know how to handle it on Tradestation.

Edited by r4bb1t

Share this post


Link to post
Share on other sites
...

It's Hodrick-Prescott Filter coded in MT4. it's widely used in econometrics or bussiness forecasting. hope someone convert it to Tradestation.

i've tried by myself but i've stucked in the Forward iteration part. he used one variable named x in the forward interation and it's third parameter of the function itself. but i don't know how to handle it on Tradestation.

 

if you have tried, but are unwilling to share your "efforts",

what chances are someone would like to collaborate in this ?

Share this post


Link to post
Share on other sites
any1 could help me to convert this please :)

 

its only my simple indicator to plot local time on chart

 

Here is code that puts the clock on the chart. See the ELD file. I got it from the TradeStation, EasyLanguage Forum:

 

eKam Clock and Timer

 

Here is some really simple code that I create:

 

Once
Begin
Value1=Text_new(D,T,H,numtostr(T,2));
End;

Text_SetString(Value1, NumToStr(T,2));
Text_SetLocation(Value1, D, T, getappinfo(aihighestDispValue));

20100526131127BarCountdownTimer.ELD

Share this post


Link to post
Share on other sites
Here is code that puts the clock on the chart. See the ELD file. I got it from the TradeStation, EasyLanguage Forum:

 

eKam Clock and Timer

 

Here is some really simple code that I create:

 

Once
Begin
Value1=Text_new(D,T,H,numtostr(T,2));
End;

Text_SetString(Value1, NumToStr(T,2));
Text_SetLocation(Value1, D, T, getappinfo(aihighestDispValue));

 

 

this code only gives you the ending time of the bar.

 

you should use currenttime:

 

Text_SetString(Value1, NumToStr(CURRENTTIME,0));

 

 

MultiCharts user can use CURRENTTIME_s, which gives the seconds portion of the time.

 

 

ps. there is a function/keyword to format the time into hh:mm:ss

Share this post


Link to post
Share on other sites
this code only gives you the ending time of the bar.

 

you should use currenttime:

 

Text_SetString(Value1, NumToStr(CURRENTTIME,0));

 

 

MultiCharts user can use CURRENTTIME_s, which gives the seconds portion of the time.

 

 

ps. there is a function/keyword to format the time into hh:mm:ss

 

Okay. Thanks. I learned something new. See, it's worth sharing code even if it's not perfect. ;)

Share this post


Link to post
Share on other sites
if you have tried, but are unwilling to share your "efforts",

what chances are someone would like to collaborate in this ?

 

i understand what you meant and i'd like to share anything i have. but i really have nothing.

i meant was i just tried to write some pseudo code to know if it's possible by myself.

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.


×
×
  • Create New...

Important Information

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