MultiCharts | PowerLanguage語法教學 | CH12:文字繪製

文字繪製

文字繪製是一項功能,允許在圖表上繪製文字,顯示交易資訊、重要訊息等等。

文字繪製函數的用法,主要分成兩個動作:

  1. 創建文字物件並獲取 TextID
    • 使用 Text_New 函數創建文字物件,並得到這個文字物件的TextID
    • TextID 是一個變數,用於儲存由 Text_New 函數創建的文字物件的唯一ID。
  2. 使用 TextID 操作文字物件:有了 TextID,就可以對已經創建的文字進行各種操作,如修改、移動或刪除。
Var: textID(0);

//創建文字物件並獲取 TextID,文字為“Buy Signal”,位置為當前的日期、時間和收盤價。
textID = Text_New(Date, Time, Close, "Buy Signal");

//使用 TextID 進一步操作文字物件
Text_SetColor(TextID, RGB(255,0,0)); // 設置文字顏色為紅色
Text_SetFont(TextID, "Arial", 12, True, False); // 設置字體為 Arial,大小為 12,加粗
Text_SetString(TextID, "Updated Text Here!"); // 更新文字內容

Text_New 函數說明

APIText_New(BarDate, BarTime, PriceValue, "Text")
功能在圖表上顯示一個文字物件。
這個文字物件包含指定的字串,位於指定的K棒和價格上。
BarDate數值,指定要放置物件的K棒的日期。
日期以 YYYYMMdd 格式表示,其中 YYYY 是自 1900 年以來的年數,MM 是月份,dd 是月份中的日子。
BarTime數值,指定要放置物件的K棒的時間。
時間以 24 小時 HHmm 格式表示,例如 1300 = 下午 1:00。
PriceValue數值,指定要放置物件的垂直位置(對應於圖表價格刻度上的值)。
Text要顯示的字串。
返回值TextID,代表這個文字物件的ID。

Example

下面的程式碼在圖表上產生剛剛平倉的持倉資訊,包括盈利、入場價格、出場價格等資訊。

vars:MP(0);
MP=marketposition*currentcontracts;
if MP=0 and MP[1]<>0 then begin
	value1=TEXT_New(D, T, H,""); 
	text_SetString(value1,"+$"+Numtostr(positionprofit(1),3) + NewLine
	              +"EntryPrice: " + Numtostr(EntryPrice(1), 3) + NewLine
	              +"ExitPrice: " + Numtostr(ExitPrice(1), 3) + NewLine
     	              +"PositionProfit: " + Numtostr(PositionProfit(1), 3) + NewLine
	              +"OpenPositionProfit: " + Numtostr(OpenPositionProfit, 3)

	);
	text_setstyle(value1,2,1);
	text_Setcolor(value1,rgb(232,232,0));
	text_setfontname(value1,"Showcard Gothic");
	text_setsize(value1,14);
	text_Setattribute(value1,1,true);
	Text_SetBorder(value1, true);
	text_setlocation(value1,date,time,high+200); 
	
end;

上面的程式碼將產生類似下面的輸出:

Reference

https://www.multicharts.com/trading-software/index.php?title=Category:Text_Drawing

發佈留言