PureBytes Links
Trading Reference Links
|
All,
Just wanted to suggest a fine third party graphic application that
makes it very easy to avoid using bitmap images.
It also enables you to save your screen captures as gifs, jpgs, and
even better, as .png files (portable network graphics) which are
often even smaller and better quality than gifs or jpgs.
In addition, it gives ability to view pictures in almost 400
different formats, and to save pictures in about 50 of those formats
including Adobe Photoshop and Illustrator formats, Amiga IFF (for
any surviving Amigaphiles out there), AutoCAD, AutoDesk, Corel
Photopaint, etc, etc, you get the idea.
And it's free -- XnView is the name of it. A very worthwhile
addition to the toolbox of any list member who wants to post
screenshots without sending the extremely large, HD-Space-consuming
bitmaps.
Best Regards,
Nick Molchanoff
--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxxx>
wrote:
> Markus,
>
> Thank you for the chart and explanation of what you are after.
>
> (BTW: next time please send pictures as GIF or JPEG because BMP
files are very, very large).
>
> The code is provided below, it is based on the code presented
previously on this list:
> http://groups.yahoo.com/group/amibroker/message/24576
>
>
> /* SWING CHART */
>
> swingsize = 10;
>
> HP = HHVBars( High, swingsize ) == 0;
>
> LP = LLVBars( Low, swingsize ) == 0;
>
> EnableScript("jscript");
>
> <%
>
> result = VBArray(AFL("High")).toArray();
>
> function TrendLine( starti, startv, endi, endv )
>
> {
>
> for( j = starti; j <= endi; j++ )
>
> {
>
> result[ j ] = startv + ( j - starti )*(endv-startv)/(endi-starti);
>
> }
>
> }
>
> High = VBArray(AFL("High")).toArray();
>
> Low = VBArray(AFL("Low")).toArray();
>
> HP = VBArray(AFL("HP")).toArray();
>
> LP = VBArray(AFL("LP")).toArray();
>
> endi = -1;
>
> starti = -1;
>
> dir = 0;
>
> for( i = High.length - 0; i >= 0; i-- )
>
> {
>
> if( dir == 1 && LP[ i ] )
>
> {
>
> TrendLine( i, Low[ i ], endi, endv );
>
> endi = i;
>
> endv = Low[ i ];
>
> dir = -1;
>
> }
>
> else
>
> if( dir == -1 && HP[ i ] )
>
> {
>
> TrendLine( i, High[ i ], endi, endv );
>
> endi = i;
>
> endv = High[ i ];
>
> dir = 1;
>
> }
>
> else
>
> if( dir == 0 && endi == -1 && LP[ i ] )
>
> {
>
> endi = i;
>
> endv = Low[ i ];
>
> dir = -1;
>
> }
>
> else
>
> if( dir == 0 && endi == -1 && HP[ i ] )
>
> {
>
> endi = i;
>
> endv = High[ i ];
>
> dir = 1;
>
> }
>
> }
>
> AFL("Graph0")=result;
>
> %>
>
> Graph0Color=colorRed;
>
> Graph1=Close;
>
> Graph1Style=64;
>
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: IVA GmbH
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, February 17, 2003 8:10 PM
> Subject: Re: [amibroker] Canīt detect proper cum values - TJ
please read
>
>
> All rite, TJ.
>
> Please have a look at the accompanying chart:
>
> The yellow circled spots are the ones Iīm interested in. More
exactly: the highest high in the square in january (labeled in my
code "firstswingtop") and the lowest low in december
(labeled "firstswingbottom").
>
> The next top would be analogue "secondswingtop" (at the end of
november/beginning of december) and the next bottom would
be "secondswingbottom (occurring at the beginning of november).
>
> Iīll again attach the code for firstswingtop and firstswingbottom.
>
> I came up with this code to find those price extremes (or swing
tops as if they are referred to).
>
> By simply changingthe variable "swingsize" I can easily switch
between timeframes of my choice.
>
> A later step would be to ask AB to connect those price extremes
(the green and red line) by using the plot function which would give
me this swing chart (i.e. the lines in the chart). But, of course,
this is another thing to work on...
>
> Does this give you an explanation what I intend to do? Please
fell free to ask back anytime!
>
>
>
> - - - - - - - - - -
> swingsize=5;
>
> weeklyrange=(Ref(HHV(High,swingsize),-1)-Ref(LLV(Low,swingsize),-
1))*0.1;
>
> Thresholddown=Ref(LLV(Low,swingsize),-1)-weeklyrange;
>
> Thresholdup=Ref(HHV(High,swingsize),-1)+weeklyrange;
>
> Linechangeup=High>Thresholdup;
>
> Linechangedown=Low<thresholddown;
>
> z=Linechangedown;
>
> y=linechangeup;
>
> firstlinechangedown=LastValue(ValueWhen(z,Cum(1),1));
>
> firstlinechangeup=LastValue(ValueWhen(y,Cum(1),1));
>
> firstswingtop=Ref(HHV(High,(firstlinechangedown-firstlinechangeup)
+1),-(LastValue(Cum(1))-firstlinechangedown));
>
> secondlinechangedown=LastValue(ValueWhen(z AND Cum(1)<LastValue
(firstlinechangeup),Cum(1),1));
>
> secondlinechangeup=LastValue(ValueWhen(y AND Cum(1)<LastValue
(secondlinechangedown),Cum(1),1));
>
> firstswingbottom=Ref(LLV(Low,(firstlinechangeup-
secondlinechangedown)+1),-(LastValue(Cum(1))-firstlinechangeup));
>
> Filter=firstlinechangedown>firstlinechangeup;
>
> AddColumn(Cum(1), "total bars",1.0);
>
> AddColumn(firstswingtop,"1. swing top",1.2);
>
> AddColumn(firstswingbottom,"1. swing bottom",1.2);
>
>
>
>
>
> ----- Original Message -----
> From: Tomasz Janeczko
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, February 17, 2003 7:41 PM
> Subject: Re: [amibroker] Canīt detect proper cum values - TJ
please read
>
>
> Markus,
>
> Franky I don't understand what is the problem.
> One thing is for sure that using LastValue function you
> get the LAST not the first value.
>
> The first occurence could be retrieved this way:
>
> condition = your condition here (may generate repetitive
signals)
> condfirsttime = Sum( Flip( condition, 0 ) ) == 1;
>
> CumValueAtFirstOccurence = ValueWhen( condfirsttime, Cum(1) );
>
>
> I suggest the following: since the picture is better than 1000
words
> it would be easier to understand what you are trying to achieve
if
> you make a screenshot of some chart and draw on this chart
> what points you are interested in and annotate this chart so it
> is clear what your target is.
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: IVA GmbH
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, February 17, 2003 5:37 PM
> Subject: Re: [amibroker] Canīt detect proper cum values - TJ
please read
>
>
> Jayson,
>
> sorry to cause ya so much headache.
>
> I already tried your suggestion before I asked online.
>
> If I do it as you now said, Iīm only given the last barīs cum
value (interestingly for firstswingtop AND for
firstswingbottom?????????????!!!!!!!!).
>
> Maybe TJ knows a workaround?????
>
> TJ???????????????
>
> Markus
> ----- Original Message -----
> From: Jayson
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, February 17, 2003 5:27 PM
> Subject: RE: [amibroker] Canīt detect proper cum values -
TJ please read
>
>
> Markus,
> if firstswing returns a true or false then eliminating the
h==firstswing and simply looking for firstswing may solve your
problem.so...
>
> Value1=Valuewhen(firstswingtop,cum(1),1)
> Value2=Valuewhen(firstswingbottom,cum(1),1)
>
> should allow you to find the last occurrence of
firstswing.......
>
> Jayson
> -----Original Message-----
> From: funnybiz@xxxx [mailto:funnybiz@x...]
> Sent: Monday, February 17, 2003 11:02 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: Re: [amibroker] Canīt detect proper cum values -
TJ please read
>
>
> Hello Jayson,
>
> have I tried WHAT?
>
> Markus
> ----- Original Message -----
> From: Jayson
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, February 17, 2003 4:46 PM
> Subject: RE: [amibroker] Canīt detect proper cum values -
TJ please read
>
>
> Markus,
>
> I do not know how you calculated firstswing but have you
tried...
>
> Value1=Valuewhen(firstswingtop,cum(1),1) and
>
> Value2=Valuewhen(firstswingbottom,cum(1),1)
>
> In your original cum(1) would be returned for the last
time High was equal to your trigger if this number occurs several
times than your cum(1) could be misrepresented......
>
>
> Jayson
> -----Original Message-----
> From: funnybiz@xxxx [mailto:funnybiz@x...]
> Sent: Monday, February 17, 2003 10:05 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Canīt detect proper cum values - TJ
please read
>
>
> TJ,
>
> Iīm trying to retrieve the cum values for the two
variable below clled "firstswingtop" and "firstswingbottom". I sent
the complete code so that you understand what those two variable are
made up of.
>
> I figured that the cum values were this
>
> Value1=Valuewhen(h==firstswingtop,cum(1),1) and
>
> Value2=Valuewhen(l==firstswingbottom,cum(1),1)
>
> but I aly get the last bars cum value. Why is that since
the conditions above canīt apply to this very last bar????????
>
> Iīm really puzzled, since firstswingtop and
firstswingbottom detect the right high and low values ;-))
>
> Markus
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> swingsize=5;
>
> weeklyrange=(Ref(HHV(High,swingsize),-1)-Ref(LLV
(Low,swingsize),-1))*0.1;
>
> Thresholddown=Ref(LLV(Low,swingsize),-1)-weeklyrange;
>
> Thresholdup=Ref(HHV(High,swingsize),-1)+weeklyrange;
>
> Linechangeup=High>Thresholdup;
>
> Linechangedown=Low<thresholddown;
>
> z=Linechangedown;
>
> y=linechangeup;
>
> firstlinechangedown=LastValue(ValueWhen(z,Cum(1),1));
>
> firstlinechangeup=LastValue(ValueWhen(y,Cum(1),1));
>
> firstswingtop=Ref(HHV(High,(firstlinechangedown-
firstlinechangeup)+1),-(LastValue(Cum(1))-firstlinechangedown));
>
> secondlinechangedown=LastValue(ValueWhen(z AND Cum(1)
<LastValue(firstlinechangeup),Cum(1),1));
>
> secondlinechangeup=LastValue(ValueWhen(y AND Cum(1)
<LastValue(secondlinechangedown),Cum(1),1));
>
> firstswingbottom=Ref(LLV(Low,(firstlinechangeup-
secondlinechangedown)+1),-(LastValue(Cum(1))-firstlinechangeup));
>
> Filter=firstlinechangedown>firstlinechangeup;
>
> AddColumn(Cum(1), "total bars",1.0);
>
> AddColumn(firstswingtop,"1. swing top",1.2);
>
> AddColumn(firstswingbottom,"1. swing bottom",1.2);
>
> AddColumn(MA(Volume,50),"50DMA Vol.",1.2);
>
> AddColumn(Close, "last close",1.2);
>
>
>
> 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.
>
>
> 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.
>
>
>
> 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.
>
>
> 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.
>
>
>
> 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.
>
>
>
> 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.
>
>
> Yahoo! Groups Sponsor
> ADVERTISEMENT
>
>
>
>
> 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.
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/
|