Now I have the data resource as below: Date--------OpenPrice------HighPrie-----LowPrice----ClosePrice 2012/3/8----6.18-------------6.28-----------5.68-----------6.09 2012/3/9----6.01-------------6.21-----------5.95-----------6.03 2012/3/12--6.03-------------6.09-----------5.87-----------6.89 2012/3/13--5.9--------------6.16------------5.9------------6.04 then I use "figure" and "highlow()" to get a chart. if I use "dateaxis('x',2,'8-Mar-2012');", 12/03/08, 12/03/09,12/03/10, 12/03/11 and so on will be listed on the x axis. Now I request that 12/03/08, 12/03/09, 12/03/12, 12/03/13 and so on are listed on the x axis according to above data's dates exactly. Shall I and How? in addition,I request that 12/03/08, 12/03/09,12/03/10, 12/03/11, 12/03/12, 12/03/13 and so on are listed on the x axis, but the "K lines" generated by "highlow()" only exist on 12/03/08, 12/03/09, 12/03/12 and 12/03/13 rather than 12/03/10 and 12/03/11 according to above data's dates exactly. Shall I and How? Thanks a lot!
I don't have the financial toolpack so I can't experiment with this but looking at the MATLAB help stuff, I think you should put the date vector in your initial call to highlow: highlow(High, Low, Close, Open, Color, Dates, Dateform)
Thank you for your advice. According to your idea, I have make the code in M file as below: " clear;clc; load 'ctgs2.txt'; r=size(ctgs2,1); figure; highlow(ctgs2(1:r,3),ctgs2(1:r,4),ctgs2(1:r,5),ctgs2(1:r,2),'r',ctgs2(1:r,1),2); xlabel('Date); ylabel('This Stock's Price'); title('This Stock's Current Chart'); " Note: "ctgs2.txt" includes all the data about this stock which was listed on the post before partially. But I get terrible result after I execute the M file. In addition, if these code was changed to the one as below in M flie, it runs well, but just can't get the requested date list on x axis. " clear;clc; load 'ctgs2.txt'; r=size(ctgs2,1); figure; highlow(ctgs2(1:r,3),ctgs2(1:r,4),ctgs2(1:r,5),ctgs2(1:r,2),'r'); xlabel('Date); ylabel('Price'); title('This Stock's Current Chart'); axis([0,r+1,2.4,inf]); dateaxis('x',2,'2012-1-1'); " So can you help me to modify the code?
In the fact, I am not very clear about "dates" in the function--"highlow()". shall I get more instruction?
I use the below code: highlow(ctgs2(1:r,3),ctgs2(1:r,4),ctgs2(1:r,5),ctgs2(1:r,2),'r',ctgs2,1),2); and get the chart as attachment. I don't know why? "Dates" in the highlow() seems not x axis's dates.
You sent me an email recently which I lost. I have all the matlab (2008b) toolboxes including financial however I don't use them, prefering instead to create my own code. So I'm not familiar with the functions you are trying to use. The online help for matlab is usually very good and will give you all the answers you need. At the matlab prompt enter: help highlow it shows the function has the form: HIGHLOW(HI,LO,CL,OP,COLOR,DATES,DATEFORM) so it looks like you haven't specified the DATEFORM parameter. However if you enter at the matlab prompt: doc highlow then I get this in the browser help screen: Syntax highlow(High, Low, Close, Open, Color) Handles = highlow(High, Low, Close, Open, Color) So it looks like an oddity in the browser form of online help in that it doesn't give the complete functional form and omits the DATEFORM parameter. Also when trying to understand a matlab function sometimes just using google will give answers. DATEFORM Format Description 0 01-Mar-1995 15:45:17 (day-month-year, hour:minute) 1 01-Mar-1995 (day-month-year) 2 03/01/95 (month/day/year) 3 Mar (month, three letter) 4 M (month, single letter) 5 3 (month) 6 03/01 (month/day) 7 1 (day of month) 8 Wed (day of week, three letter) 9 W (day of week, single letter) 10 1995 (year, four digit) 11 95 (year, two digit) 12 Mar95 (month year) 13 15:45:17 (hour:minute:second) 14 03:45:17 (hour:minute:second AM or PM) 15 15:45 (hour:minute) 16 03:45 PM (hour:minute AM or PM) 17 95/03/01 (year/month/day)