PureBytes Links
Trading Reference Links
|
Pierre,
I'm already a good typist, but not that good with Easy Language. Perhaps
you could help me get this .ela version to work in TS4. When I try to
verify it(after shortening a few of the longer words) I get this
message("variables and arrays not allowed here") at the line
"dss=xaverage((aa-lowest(aa,pds))" with the cursor stopping at the 1st "aa".
Since my knowledge of Easy Language hasn't progressed to arrays, do you have
any suggestions that would push me in the right direction.
Feliz Ano Novo,
John
----- Original Message -----
From: "Pierre Orphelin" <sirtrade@xxxxxxxxxx>
To: <omega-list@xxxxxxxxxx>
Sent: Friday, January 03, 2003 5:37 AM
Subject: RE: Re: Convert esignal formula(Bresserts' DSS) into .ela?
> People who still not understand where the advantage of easy language
really is
> should consider to compare the two codes below.
> The 2nd is from Esignal, but the same verbose stuff exists in any TS
killer
> competitor product.
> Their main advantage is that they are good software to learn fast typing.
>
> Best wishes for the new year.
>
> Sincerely,
>
> Pierre Orphelin
> www.sirtrade.com
> Tradestation 2000i, TradeStation 6 sales and support
> Safir-X, neurofuzzy logic trading system builder
>
> To subscribe to our FREE trading system newsletter:
> http://www.sirtrade.com/newsletter.htm
>
>
>
>
>
> > ===8<==============Original message text===============
> > Hello jbclem,
> >
> > here it is:
> >
> > {Indicator: DSS Bressert }
> > {*************************************************************}
> >
> > inputs: pds(10), slw(3), triggerLen(5), overbought(80), oversold(20);
> > Variables: aa(0), dss(0), trigger(0);
> >
> > aa = xaverage((close-lowest(low,pds)) / (highest(high,pds) -
> > lowest(low,pds)),slw) *100;
> > dss =x average((aa-lowest(aa,pds)) / (Highest(aa,pds)
> > -lowest(aa,pds)),slw) *100;
> >
> > trigger = xaverage(dss, triggerLen);
> >
> > plot1(dss,"DSS");
> > plot2(trigger,"Trigger");
> > plot3(overbought,"OverBought");
> > plot4(oversold,"OverSold");
> >
> > {*************************************************************}
> >
> > OmegaTrader
> >
> > j> I'd like to ask for some help converting this Double Smoothed
Stochastic
> > j> formula(Bressert) from the eSignal language to easy
> > language(.ela). Here it
> > j> is in eSignal format:
> >
> > j> Oscillators > DSS Bressert
> > (Double Smoothed
> > j> Stochastic) [eSignal EFS Indicators]
> >
> > j> Download: dss_bressert.efs
> >
> > j> Category: Indicator > Oscillators
> >
> > j> Description:
> >
> > j> Double Smoothed Stochastics (DSS) is
> > j> designed by William Blaw. It attempts to combine moving average
> > methods with
> > j> oscillator principles.
> >
> >
> >
> >
> >
> >
> >
> > j> Inputs:
> >
> > j> pds - number of bars to calculate
trigger
> > j> slw - number of bars to calculate
trigger
> > j> triggerLen - trigger`s length
> > j> emalen - number of bars to calculate
EMA
> >
> > j> EFS Code:
> >
> >
> >
> > j> /*******************************************************************
> > j> Description : This Indicator
plots DSS
> > j> Bressert
> > j> Provided By : Developed by TS
> > Support, LLC
> > j> for eSignal. (c) Copyright 2002
> >
> > j> ********************************************************************/
> >
> > j> function preMain()
> > j> {
> > j> setStudyTitle("DSS Bressert");
> > j> setCursorLabelName("DSS", 0);
> > j> setCursorLabelName("Trigger", 1);
> > j> setDefaultBarFgColor(Color.brown,
0);
> > j> setDefaultBarFgColor(Color.red,
1);
> > j> addBand(20, PS_SOLID, 1,
Color.black);
> > j> addBand(80, PS_SOLID, 1,
Color.black);
> > j> }
> >
> > j> var EMA_1 = 0;
> > j> var EMA1_1 = 0;
> > j> var EMA2_1 = 0;
> > j> vAA = new Array();
> >
> > j> function
main(pds,slw,triggerLen,emalen){
> > j> if (pds == null)
> > j> pds = 10;
> > j> if (slw == null)
> > j> slw = 3;
> > j> if (triggerLen == null)
> > j> triggerLen = 5;
> > j> if (emalen == null)
> > j> emalen = 9;
> > j> var vHigh =
> > getValue("High",0,-pds);
> > j> var vLow =
getValue("Low",0,-pds);
> > j> var dClose =
getValue("Close");
> > j> var K = 2 / (emalen + 1);
> > j> var K2 = 2 / (triggerLen +
1);
> > j> var aa = 0;
> > j> var dss = 0;
> > j> var High = 0;
> > j> var Low = getValue("Low");
> > j> var aHigh = 0;
> > j> var aLow = 10000000;
> > j> var EMA1 = 0;
> > j> var EMA = 0;
> >
> > j> for (i = 0; i < pds; i++){
> > j> if (High < vHigh[i])
> > j> High =
vHigh[i];
> > j> if (Low > vLow[i])
> > j> Low =
vLow[i];
> > j> }
> > j> if((High - Low) != 0)
> > j> EMA = K * (
> > (dClose - Low) / (High -
> > j> Low) ) + (1 - K) * EMA_1;
> > j> else
> > j> EMA = EMA_1;
> > j> if (getBarState() ==
> > BARSTATE_NEWBAR)
> > j> EMA_1 = EMA;
> > j> aa = EMA * 100;
> > j> for(i = pds - 1; i > 0; i--)
> > j> vAA[i] = vAA[i - 1];
> > j> vAA[0] = aa;
> > j> for (i = 0; i < pds; i++){
> > j> if (aHigh < vAA[i])
> > j> aHigh =
vAA[i];
> > j> if (aLow > vAA[i])
> > j> aLow =
vAA[i];
> > j> }
> > j> if (aHigh - aLow != 0)
> > j> EMA1 = K * ( (aa -
> > aLow) / (aHigh -
> > j> aLow) ) + (1 - K) * EMA1_1;
> > j> else
> > j> EMA1 = EMA1_1;
> > j> if (getBarState() ==
> > BARSTATE_NEWBAR)
> > j> EMA1_1 = EMA1;
> > j> dss = EMA1 * 100;
> > j> var EMA2 = K2 * dss + (1 -
> > K2) * EMA2_1;
> > j> if (getBarState() ==
> > BARSTATE_NEWBAR)
> > j> EMA2_1 = EMA2;
> > j> return new Array(dss,EMA2);
> > j> }
> >
> > j> /*******************************************************************/
> >
> > j> John
> >
> >
> >
>
|