最新消息

[公告2014/05/30] 如有需要將部落格中,任何一篇文章的程式碼使用在商業用途,請與我聯繫。

[公告2015/04/26] Line版的 iInfo程式與投資應用 群組已上線想加入的朋友們,請先查看 "入群須知" 再與我聯繫 Line : aminwhite5168,加入請告知身分與回答 "入群須知" 的問題。

[公告2018/04/22] 台北 Python + Excel VBA 金融資訊爬蟲課程,課程如網頁內容 金融資訊爬蟲班:台北班 Python 金融資訊爬蟲、EXCEL VBA 金融資訊爬蟲

[公告2019/01/08] 請注意:我再次重申,部落格文章的程式碼,是要提供各位參考與學習,一旦網頁改版請自行修改,別要求東要求西要我主動修改,你們用我寫東西賺錢了、交差了,請問有分我一杯羹嗎?既然賺錢沒分我,請問有什麼理由要求我修改,如果沒能力改,就花錢來找我上課。

[公告2019/12/01] 若各位有 Excel VBA 案子開發需求,歡迎與我聯繫,可接案處理。

[公告2020/05/22] 頁面載入速度慢,起因為部分JS來源(alexgorbatchev.com)失效導致頁面載入變慢,目前已做調整,請多見諒。

2015年12月9日 星期三

MultiCharts : 在K線圖上顯示文字及數字

想在MultiCharts的K線上顯示數字或文字,可以參考下面做法,筆者這裡先介紹MultiCharts內建顯示函數text_new、numtostr,後續再介紹其他設定文字的函數,各位讀者可以參考看看。
text_new的用法。
text_new([日期], [時間], [價格], [文字內容]);
第一個參數:日期。
第二個參數:時間或想成是X軸的位置。
第三個參數:價格或想成是Y軸的位置。
第四個參數:文字內容。

numtostr的用法。
numtostr([數字], [小數位數]);
第一個參數:數字。
第二個參數:小數位數。

結合上面兩個函數。
variables:vNo(0), vMP(0), vDis(13);
vMP = marketposition;
if vMP[1] = -1 and vMP = 0 then
 vNo = text_new(D, T, l-vDis, numtostr(exitprice(1), 0))
else if vMP[1] = 1 and vMP = 0 then
 vNo = text_new(D, T, l-vDis, numtostr(exitprice(1), 0))
else if vMP[1] = 0 and vMP = -1 then
 vNo = text_new(D, T, h+vDis, numtostr(Entryprice, 0))
else if vMP[1] = 0 and vMP = 1 then
 vNo = text_new(D, T, h+vDis, numtostr(Entryprice, 0));

將程式碼改為精簡一點。
variables:vNo(0), vMP(0), vDis(13);
vMP = marketposition;
if (vMP[1] = -1 or vMP[1] = 1 ) and vMP = 0 then
 vNo = text_new(D, T, l-vDis, numtostr(exitprice(1), 0))
else if vMP[1] = 0 and (vMP = -1 or vMP = 1) then
 vNo = text_new(D, T, h+vDis, numtostr(Entryprice, 0));

換個寫法。
variables:vNo(0), vMP(0), vDis(13);
vMP = marketposition;
if (vMP[1] = -1 or vMP[1] = 1 ) and vMP = 0 then begin
 vNo = text_new(D, T, l-vDis, numtostr(exitprice(1), 0));
end
else if vMP[1] = 0 and (vMP = -1 or vMP = 1) then begin
 vNo = text_new(D, T, h+vDis, numtostr(Entryprice, 0));
end;

執行畫面

參考資料