[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] Re: The use of the Powsmooth



PureBytes Links

Trading Reference Links









Dimitris,

 

With UM's ABTool.dll plugin loaded, this should work:

 

<font
size=1 color=green face="Courier New">/* WRITE ONCE */<font size=1
color=black face="Courier New">

<span
class=GramE><span
>function<font
size=1 color=black face="Courier New"> ForeignADX( symbol, period )

<font
size=1 color=black face="Courier New">{

<font
size=1 color=black face="Courier New">       <font
size=1 color=green face="Courier New">/* save original price arrays */<font
size=1 color=black face="Courier New">

<font
size=1 color=black face="Courier New">       SC
= C;

<font
size=1 color=black face="Courier New">       SO
= O;

<font
size=1 color=black face="Courier New">       SH
= H;

<font
size=1 color=black face="Courier New">       SL
= L;

<font
size=1 color=black face="Courier New"> 

<font
size=1 color=black face="Courier New">       <span
>C = <font
size=1 color=blue face="Courier New">Foreign<font size=1 color=black
face="Courier New">(<span
> symbol, <font
size=1 color=fuchsia face="Courier New">"C"<font
size=1 color=black face="Courier New"> );

<font
size=1 color=black face="Courier New">       <span
>H = <font
size=1 color=blue face="Courier New">Foreign<font size=1 color=black
face="Courier New">(<span
> symbol, <font
size=1 color=fuchsia face="Courier New">"H"<font
size=1 color=black face="Courier New"> );

<font
size=1 color=black face="Courier New">       <span
>L = <font
size=1 color=blue face="Courier New">Foreign<font size=1 color=black
face="Courier New">(<span
> symbol, <font
size=1 color=fuchsia face="Courier New">"L"<font
size=1 color=black face="Courier New"> );

<font
size=1 color=black face="Courier New">       <span
>O = <font
size=1 color=blue face="Courier New">Foreign<font size=1 color=black
face="Courier New">(<span
> symbol, <font
size=1 color=fuchsia face="Courier New">"O"<font
size=1 color=black face="Courier New"> );

<font
size=1 color=black face="Courier New"> 

<font
size=1 color=black face="Courier New">       Result
= <span
>ADX<font
size=1 color=black face="Courier New">(<font size=1 color=black
face="Courier New"> period ); <font size=1 color=green
face="Courier New">// REPLACE THIS BY ANY AFL FUNCTION<font size=1
color=black face="Courier New">

<font
size=1 color=black face="Courier New"> 

<font
size=1 color=black face="Courier New">       <font
size=1 color=green face="Courier New">/* restore original arrays */<font
size=1 color=black face="Courier New">

<font
size=1 color=black face="Courier New">       <span
>C = SC;

<font
size=1 color=black face="Courier New">       <span
>O = SO;

<font
size=1 color=black face="Courier New">       <span
>H = SH;

<font
size=1 color=black face="Courier New">       <span
>L = SL;

<font
size=1 color=black face="Courier New"> 

<span
class=GramE><span
>return<font
size=1 color=black face="Courier New"> Result;

<font
size=1 color=black face="Courier New">}

<font
size=1 color=black face="Courier New"> 

<span
class=GramE>wl<font
size=1 color=black face="Courier New"> = <font size=1 color=fuchsia
face="Courier New">0<span
>;<span
>  <font size=1 color=green
face="Courier New">// put your watchlist number (0..63) here; it should contain some
tickers<span
>

<font
size=1 color=black face="Courier New"><span
>        
<span
>// (my WL 1
contains the 100 Nasdaq100 tickers)<font size=1 color=black
face="Courier New">

<font
size=1 color=black face="Courier New"> 

<span
class=GramE>xxABtoolInit<font
size=1 color=black face="Courier New">(<font size=1 color=black
face="Courier New">);

<font
size=1 color=black face="Courier New">Filter<font
size=1 color=black face="Courier New"> = <font size=1 color=fuchsia
face="Courier New">1<span
>;

<span
class=GramE>xtickercount<font
size=1 color=black face="Courier New"> = <font size=1 color=blue
face="Courier New">xxTickerCount<font size=1 color=black
face="Courier New">(wl);

<font
size=1 color=black face="Courier New"> 

<span
class=GramE>ticker<font
size=1 color=black face="Courier New"> = <font size=1 color=blue
face="Courier New">xxTickerFirst<font size=1 color=black
face="Courier New">(wl);

<font
size=1 color=black face="Courier New">MeanADX = <font size=1 color=fuchsia
face="Courier New">0<span
>;

<font
size=1 color=black face="Courier New">Cntr=<font size=1 color=fuchsia
face="Courier New">0<span
>;

<span
class=GramE><span
>while<font
size=1 color=black face="Courier New">(<font size=1 color=black
face="Courier New">ticker != <font size=1 color=fuchsia
face="Courier New">""<font size=1 color=black
face="Courier New">)

<font
size=1 color=black face="Courier New">{

<font
size=1 color=black face="Courier New">       <span
class=GramE>currADX = ForeignADX( ticker, <font size=1
color=fuchsia face="Courier New">14<span
> );

<font
size=1 color=black face="Courier New">       MeanADX
= MeanADX + currADX;

<font
size=1 color=black face="Courier New"> 

<font
size=1 color=black face="Courier New">       Cntr++;

<font
size=1 color=black face="Courier New">       <span
class=GramE>ticker = <font size=1 color=blue
face="Courier New">xxTickerNext<font size=1 color=black
face="Courier New">(wl);

<font
size=1 color=black face="Courier New">}

<font
size=1 color=black face="Courier New"> 

<span
class=GramE>AddColumn<font
size=1 color=black face="Courier New">(<font size=1 color=black
face="Courier New">MeanADX/Cntr,<font size=1 color=fuchsia
face="Courier New">"MeanADX"<font size=1 color=black
face="Courier New">);

<font
size=1 color=black face="Courier New"> 

<span
class=GramE>xxABtoolInit<font
size=1 color=black face="Courier New">(<font size=1 color=black
face="Courier New">);  <font
size=1 color=green face="Courier New">//cleanup<font size=1 color=black
face="Courier New">

<font
size=1 color=green face="Courier New"> 

Regards,

Peter

 

 

-----Original Message-----
From: bluesinvestor [mailto:investor@xxxxxxxxxxxxx] 
Sent: Monday, May 12, 2003 2:34 AM
To: 'amibroker@xxxxxxxxxxxxxxx'
Subject: RE: [amibroker] Re: The use of the Powsmooth

 

Dimitris,

 

Unfortunately it is late here and I cannot come with a simple solution
to 'step' through foreign tickers to get the ADX variable.<span
>  We would have to list all the tickers
involved.

 

If there is a way (which I do not know or cannot think of at the
moment) then the situation would be easy to solve.

 

Maybe someone will have a suggestion or solution by morning.

 

Regards,

Peter

 

-----Original Message-----

From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@xxxxxxxxx] 

Sent: Monday, May 12, 2003 1:59 AM

To: amibroker@xxxxxxxxxxxxxxx

Subject: [amibroker] Re: The use of the Powsmooth

 

Peter,

to materialize this idea 

http://groups.yahoo.com/group/amibroker/message/40198

in N100 database we need to write 100 lines with

ADX0=

ADX1=

ADX2=

...

ADX99=

MeanADX=(ADX0+ADX1+ADX2+...+ADX99)/100;

Since you swim better in the iterations world, is there a more 

elegant way to do it [through stocknum perhaps...]

Of course, even if we take it as is, the advantage is great, 

especially for intraday use.

I suppose we make a STEP here.

Dimitris Tsokakis

--- In amibroker@xxxxxxxxxxxxxxx, "bluesinvestor"
<investor@xxxx> 

wrote:

> Dimitris,

>  

> Without the _javascript_:

>  

> /*PowSmooth and an application to Dratio*/

> dratio=DEMA(1000*(H-L)/(H+L),20);

>  

> for(i=2;i<BarCount;i++)

> {

><span
>       
t0[i]=(dratio[i]*dratio[i-1]*dratio[i-2])^(1/3);

><span
>       
s0[i]=(dratio[i]*dratio[i-1])^(1/2);

> }

> PowSmooth=(s0+t0)/2;

>  

> Filter=1;

> AddColumn(dratio,"DRATIO");

> AddColumn(s0,"SQRT");

> AddColumn(t0,"THIRD");

> AddColumn(Powsmooth,"PowSmooth");

> Plot(dratio,"dratio",1,8);

> Plot(PowSmooth,"PowSmooth",7,1);

>  

> RRR=Powsmooth;// Replace this line with RRR=dratio; to see the
usual

> Dratioresults

> D1=35;

> F1=RRR>=D1;F2=RRR<=D1;

> Sell=F2;Buy=F1;Buy=ExRem(Buy,Sell);Sell=ExRem(Sell,Buy);

> Short=Sell;Cover=Buy;Short=ExRem(Short,Cover);Cover=ExRem

(Cover,Short);

>  

> Regards,

> Peter

>  

> -----Original Message-----

> From: Dimitris Tsokakis [mailto:TSOKAKIS@xxxx] 

> Sent: Saturday, May 10, 2003 7:19 AM

> To: amibroker@xxxxxxxxxxxxxxx

> Subject: [amibroker] The use of the Powsmooth

>  

> The basic property of the Powsmooth 

> http://groups.yahoo.com/group/amibroker/message/40077

> is to filter out fast zigzags, passing through them, without 

introducing

> important lags.

> When we use a cross level trading system, many times we loose
money

> because of oscillation of our indicator around the

> critical cross level. 

> If our cross level is "good", then we should expect [and
we shall

> see...] strong ask and bid when we are close to this level. 

> The result is the well known repeated whipsaws, which usually 

annihilate

> our profits.

> Unfortunately, the solution is not to smooth our nervous
indicator, 

it

> will usually loose its charm to catch quickly the market changes.

> In this case [traders who use fast indicators will understand very


well

> this syndrom...] the PowSmooth may offer great assistance.

> Its smart curve will gently pass between the accumulated ziggy 

points,

> avoid cascade entries/exits and substantially increase our
profits.

> See a characteristic example in the att. gif.

> In the first case, the dratio gives 8 trades in two months, with a


final

> +13%, oscillating around the critical level D=35.

> The PowSmooth, for the same ^NDX period, gives two clear trades
and

> maximizes the profits to +20%.

> [settings buy/sell/short/cover at +1open, commission 0.5%, stops

> disabled]

> The level D=35 is critical for the market, the D_ratio frequntly

> oscillates up and down, until the market takes the decision to go 

higher

> or lower. 

> The usual D_ratio system gives for the whole market nice profits, 

+340%

> since Jan2000.

> The PowSmooth D_datio makes the difference : +940% for the same 

period

> and settings.

> For ^NDX we could nearly double the profits:

> Usual D_ratio : +550%, 37trades/28winners/9losers

> PowSmooth : +1165%, 27trades/23winners/4losers.

> A +550% is not that bad, a +1165% is much better.

> For CSCO, the signal generator of this transcendental system
[since 

we

> "borrow" CSCO data for the basic curve] the situation
needs

> no further comments : the comparison is +370% vs +2000%.

> If you use fast and ziggy indicators and Cross level systems, take
a

> look at the PowSmooth, it may make you smile.

> Dimitris Tsokakis

> I use the trancendental CSCO D_ratio code

> /*Powsmooth CSCO D_ratio, written and used by D.Tsokakis, Sept 

2002*/

>
H=Foreign("CSCO","H");L=Foreign("CSCO","L");

> dratio=DEMA(1000*(H-L)/(H+L),20);

> EnableScript("jscript");

> <%

> dratio = VBArray( AFL( "dratio" ) ).toArray();

> s=new Array();t=new Array();

> s[0]=0;t[0]=0;

> for(i=1;i<dratio.length;i++)

> {

> {t[i]=Math.pow((dratio[i]*dratio[i-1]*dratio[i-2]),1/3);}

> {s[i]=Math.pow((dratio[i]*dratio[i-1]),1/2);}

> }

> AFL.Var("s0") =s ;

> AFL.Var("t0")=t;

> %>

> Powsmooth=(s0+t0)/2;

> RRR=Powsmooth;// Replace this line with RRR=dratio; to see the
usual

> Dratioresults

> D1=35;

> F1=RRR>=D1;F2=RRR<=D1;

> Sell=F2;Buy=F1;Buy=ExRem(Buy,Sell);Sell=ExRem(Sell,Buy);

> Short=Sell;Cover=Buy;Short=ExRem(Short,Cover);Cover=ExRem

(Cover,Short);

> 

> 

> 

> 

> Yahoo! Groups Sponsor

> 

>  

> 

<http://rd.yahoo.com/M=251812.3170658.4537139.1261774/D=egroupweb/S=17

05

> 632198:HM/A=1564415/R=0/*http:/www.netflix.com/Default?

mqso=60164784&par

> tid=3170658> 

> 

>  

> <http://us.adserver.yahoo.com/l?

M=251812.3170658.4537139.1261774/D=egrou

> pmail/S=:HM/A=1564415/rand=998789952> 

> 

> Send BUG REPORTS to bugs@xxxx

> Send SUGGESTIONS to suggest@xxxx

> -----------------------------------------

> Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 

> (Web page: http://groups.yahoo.com/group/amiquote/messages/)

> --------------------------------------------

> Check group FAQ at:

> http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

> 

> Your use of Yahoo! Groups is subject to the Yahoo!

> <http://docs.yahoo.com/info/terms/><span
>  Terms of Service.

 

 

------------------------ Yahoo! Groups Sponsor ---------------------~-->

Rent DVDs from home.

Over 14,500 titles. Free Shipping

& No Late Fees. Try Netflix for FREE!

http://us.click.yahoo.com/BVVfoB/hP.FAA/uetFAA/GHeqlB/TM

---------------------------------------------------------------------~->

 

Send BUG REPORTS to bugs@xxxxxxxxxxxxx

Send SUGGESTIONS to suggest@xxxxxxxxxxxxx

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

Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 

(Web page: http://groups.yahoo.com/group/amiquote/messages/)

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

Check group FAQ at:
http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

 

Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/ 

 










Yahoo! Groups Sponsor












Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.