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.
|