Converting code - futures io
futures io futures trading



Converting code


Discussion in EasyLanguage Programming

Updated by Big Mike
    1. trending_up 3,986 views
    2. thumb_up 0 thanks given
    3. group 2 followers
    1. forum 3 replies
    2. attach_file 0 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 100,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

Converting code

(login for full post details)
  #1 (permalink)
Dallas, Texas
 
 
Posts: 1 since Dec 2011
Thanks: 0 given, 0 received

How does a novice in easylanguage coding go about getting a metatrader code converted to easylanguage? 10 easylanguage service won't even return my emails. Does anybody help in this regards or point me in the right direction I would really appreciate it.

I've got the easylanguage code for the sinewave indicator and I wanted the support and resistance lines to match to show on the price chart.

Here's the support resistance lines of code in metatrader so you might see if its difficult. It is to me. : )


//| Sinewave with Support & Resitance.mq4
//| Algorithm taken from book
//| "Cybernetics Analysis for Stock and Futures"
//| by John F. Ehlers

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Yellow

#property indicator_minimum -1
#property indicator_maximum 1
#property indicator_level1 0

double Sine[];
double LeadSine[];
double Cycle[];
double Smooth[];

double Resistance[];
double Support[];
double trend[];

extern double Alpha = 0.07;
extern bool DrawPriceTrendLines = true;
int buffers = 0;
int drawBegin = 0;

double tempReal, rad2Deg, deg2Rad, label;
int ilow, ihigh;
datetime sTime, rTime;



int init() {
drawBegin = 8;
initBuffer(Sine, "Sine", DRAW_LINE);
initBuffer(LeadSine, "Lead", DRAW_LINE);
initBuffer(Cycle);
initBuffer(Smooth);
initBuffer(Resistance); // "ResisT",DRAW_ARROW, STYLE_DASHDOT,1);
initBuffer(Support);
initBuffer(trend);

IndicatorBuffers(buffers);
IndicatorShortName("Sinewave with S&R[" + DoubleToStr(Alpha, 2) + "]");
tempReal = MathArctan(1.0);
rad2Deg = 45.0 / tempReal;
deg2Rad = 1.0 / rad2Deg;
return (0);
}


int deinit()
{
for(int i = ObjectsTotal() - 1; i >= 0; i--)
{
string label = ObjectName(i);
if(StringSubstr(label, 0, 18) != "Support Resistance")
continue;
ObjectDelete(label);
}
return(0);
}


int start() {
if (Bars <= drawBegin) return (0);
int countedBars = IndicatorCounted(), currents;
if (countedBars < 0) return (-1);
if (countedBars > 0) countedBars--;
int s, limit = Bars - countedBars - 1, Flagup,Flagdn;
currents=s;
for (s = limit; s >= 0; s--) {
Smooth[s] = (P(s) + 2.0 * P(s + 1) + 2.0 * P(s + 2) + P(s + 3)) / 6.0;
Cycle[s] = (1.0 - 0.5 * Alpha) * (1.0 - 0.5 * Alpha) * (Smooth[s] - 2.0 * Smooth[s + 1] + Smooth[s + 2])
+ 2.0 * (1.0 - Alpha) * Cycle[s + 1]
- (1.0 - Alpha) * (1.0 - Alpha) * Cycle[s + 2];
double period = iCustom(0, 0, "CyclePeriod", Alpha, 0, s);
int DCPeriod = MathFloor(period);
double RealPart = 0.0;
double ImagPart = 0.0;
for (int count = 0; count < DCPeriod; count++) {
RealPart += MathSin(deg2Rad * 360.0 * count / DCPeriod) * Cycle[s + count];
ImagPart += MathCos(deg2Rad * 360.0 * count / DCPeriod) * Cycle[s + count];
}
double DCPhase;
if (MathAbs(ImagPart) > 0.0000001) {
DCPhase = rad2Deg * MathArctan(RealPart / ImagPart);
} else if (MathAbs(ImagPart) <= 0.0000001) {
if (RealPart >= 0.0) {
DCPhase = 90.0;
} else {
DCPhase = -90.0;
}
}
DCPhase += 90.0;
if (ImagPart < 0) {
DCPhase += 180.0;
}
if (DCPhase > 315.0) {
DCPhase -= 360.0;
}
Sine[s] = MathSin(DCPhase * deg2Rad);
LeadSine[s] = MathSin((DCPhase + 45.0) * deg2Rad);
if (DCPhase == 180 && LeadSine[s + 1] > 0) {
LeadSine[s] = MathSin(45 * deg2Rad);
}
if (DCPhase == 0 && LeadSine[s + 1] < 0) {
LeadSine[s] = MathSin(225 * deg2Rad);
}


//Attemp to draw a resistance suport line at cross over

if (DrawPriceTrendLines == true)
{
trend[s] = trend[s+1];
if (LeadSine[s] > Sine[s] && LeadSine[s+1] < Sine[s+1]) trend[s] = 1;
if (LeadSine[s] < Sine[s] && LeadSine[s+1] > Sine[s+1]) trend[s] =-1;

if(trend[s]>0)
{
Support[s] = Support[s+1];
if (trend[s] != trend[s+1])
{
Support[s] = Low[s];
sTime = Time[s];
}
DrawPriceTrendLines(sTime, Time[s], Support[s], Support[s], Green, STYLE_SOLID);
}

if(trend[s]<0)
{
Resistance[s] = Resistance[s+1];
if (trend[s] != trend[s+1])
{
Resistance[s] = High[s];
rTime = Time[s];
}
DrawPriceTrendLines(rTime, Time[s],Resistance[s], Resistance[s], Red,STYLE_DOT);
}
}


}



return (0);
}

double P(int index) {
return ((High[index] + Low[index]) / 2.0);
}

void initBuffer(double array[], string label = "", int type = DRAW_NONE, int arrow = 0, int style = EMPTY, int width = EMPTY, color clr = CLR_NONE) {
SetIndexBuffer(buffers, array);
SetIndexLabel(buffers, label);
SetIndexEmptyValue(buffers, EMPTY_VALUE);
SetIndexDrawBegin(buffers, drawBegin);
SetIndexShift(buffers, 0);
SetIndexStyle(buffers, type, style, width);
SetIndexArrow(buffers, arrow);
buffers++;
}


void DrawPriceTrendLines(datetime x1, datetime x2, double y1,
double y2, color lineColor, double style)
{
string label = "Support Resistance" + DoubleToStr(x1, 0);
ObjectDelete(label);
ObjectCreate(label, OBJ_TREND, 0, x1, y1, x2, y2, 0, 0);
ObjectSet(label, OBJPROP_RAY, 0);
ObjectSet(label, OBJPROP_COLOR, lineColor);
ObjectSet(label, OBJPROP_STYLE, style);
ObjectSet(label, OBJPROP_WIDTH, 3);
}

Reply With Quote

Can you help answer these questions
from other members on futures io?
Where is the link to download GomiRecorder?
NinjaTrader
Looking freelancer for MT4 Indicator
Platforms and Indicators
Horizontal Line Indicator
Platforms and Indicators
Help tracking down catalysts for the ES
Traders Hideout
EQIX - Digital REITs - any experiences?
Stocks and ETFs
 
 
(login for full post details)
  #2 (permalink)
Tulsa, OK
 
Experience: Advanced
Platform: Tradestation, TOS, Python
Broker: IQFeed, Tradestation, TOS
Trading: ES, SPY, Options
 
ericbrown's Avatar
 
Posts: 201 since Jan 2011
Thanks: 339 given, 250 received

Looks pretty simple to convert for someone with experience in EL.

You may trying dropping into the Create your EasyLanaugage Indicator for Free post ( ) and see if someone can help there.

do you have a URL for the code above? looks interesting and might be something i look into coding myself to learn EL (I'm a newb in the language).

Follow me on Twitter Visit my Facebook Reply With Quote
 
(login for full post details)
  #3 (permalink)
Tulsa, OK
 
Experience: Advanced
Platform: Tradestation, TOS, Python
Broker: IQFeed, Tradestation, TOS
Trading: ES, SPY, Options
 
ericbrown's Avatar
 
Posts: 201 since Jan 2011
Thanks: 339 given, 250 received


sorry...I just realized the EL post I put in the above reply is for elite members only.

Follow me on Twitter Visit my Facebook Reply With Quote
 
(login for full post details)
  #4 (permalink)
Site Administrator
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,051 since Jun 2009
Thanks: 31,658 given, 94,926 received

 
Thread Moved


Moved to EasyLanguage Programming



When creating a new thread, note which subforum you are in. Here is a short list of suggestions:

- Topic: Anything to do with an Elite indicator -> Subforum: The Elite Circle
- Topic: Looking for an existing indicator, or how-to use an indicator -> Subforum: (the platform)
- Topic: Programmer needing help with non-Elite indicator -> Subforum: (the platform) - Programming
- Topic: Want an indicator created/modified -> Reply to "Want indicator created free" in Elite Circle
- Topic: Vendors (trading rooms, commercial indicators) -> Subforum: Vendors/Product Reviews
- Topic: Discussion of Forex or Currency trading -> Subforum: Forex and Currency Trading
- Topic: Journals of your trading -> Subforum: Trading Journals or Elite Trading Journals
- Topic: General trading related discussions -> Subforum: Traders Hideout
- Topic: Discussion of a trading method -> Subforum: Traders Hideout
- Topic: Automated Trading -> Subforum: Elite Automated Trading

Last, any Elite Member may create more or less any of these topics in The Elite Circle at your own discretion (your support is appreciated).

This is just a short general list and doesn't cover everything. If you are unsure where to create your new thread, just create it in Traders Hideout and a moderator will move it if necessary.

-- Big Mike Trading


We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my Facebook Visit my futures io Trade Journal Reply With Quote


futures io Trading Community Platforms and Indicators EasyLanguage Programming > Converting code


December 22, 2011


Upcoming Webinars and Events
     



Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts