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

[amibroker] .png, .gif, .jpg, .bmp (wasRe: Can´t detect proper cum values - TJ please read)



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/