指標腳本#
PowerLanguage 的腳本類型分成策略(Signal)和指標(Indicator)。策略腳本負責發出買賣指令;指標腳本則將計算結果以圖形的方式繪製在圖表上,例如均線、RSI、布林通道等。
指標腳本和策略腳本使用相同的語法,核心差異在於指標腳本使用 Plot 函數輸出數值到圖表,而策略腳本使用 Buy、Sell 等指令下單。
Plot 函數#
Plot 函數將數值繪製到圖表上,每個指標最多可以有 999 條線,分別用 Plot1 到 Plot999 表示。
語法#
| |
| 參數 | 說明 |
|---|---|
Value | 要繪製的數值 |
Name | 顯示在圖表圖例(legend)上的名稱 |
Color | 線條顏色,可使用顏色名稱(如 Red)或 RGB(R, G, B)。省略時使用預設顏色 |
Width | 線條寬度,整數。省略時使用預設寬度 |
Color、Width 參數可以省略,省略時套用圖表設定的預設值。
範例#
| |
設定顏色#
除了在 Plot 函數內直接指定顏色,也可以用 SetPlotColor 和 SetPlotWidth 函數在每根K棒動態修改。
SetPlotColor(PlotNumber, Color)#
動態設定指定線條的顏色。
| 參數 | 說明 |
|---|---|
PlotNumber | 線條編號,對應 Plot1 到 Plot999 |
Color | 顏色,可使用顏色名稱或 RGB(R, G, B) |
SetPlotWidth(PlotNumber, Width)#
動態設定指定線條的寬度。
| 參數 | 說明 |
|---|---|
PlotNumber | 線條編號 |
Width | 寬度,整數 |
NoPlot(PlotNumber)#
清除指定線條在當前K棒已繪製的點。
使用情境是條件式繪圖:只在某個條件成立時才呼叫 Plot。在即時行情中,K棒尚未收盤前會隨每一筆新成交重新計算,條件可能從成立變成不成立。此時繪圖點已經畫到圖表上,不會自動消失,必須呼叫 NoPlot 主動清除。
| |
| 參數 | 說明 |
|---|---|
PlotNumber | 線條編號 |
動態顏色#
根據條件動態改變線條顏色是指標腳本的常見用法,例如上漲時顯示綠色、下跌時顯示紅色。
| |
完整範例:均線交叉指標#
下面的指標繪製快速均線和慢速均線,並根據兩線的相對位置動態改變快線顏色:快線在慢線上方時顯示綠色,反之顯示紅色。
| |
圖表上會出現兩條均線:
Plot1(FastMA):顏色依相對位置動態變化,快線在慢線上方為綠色,反之為紅色。Plot2(SlowMA):固定白色,寬度 2。
Reference#
https://www.multicharts.com/trading-software/index.php?title=Plot
https://www.multicharts.com/trading-software/index.php?title=SetPlotColor
https://www.multicharts.com/trading-software/index.php?title=SetPlotWidth
https://www.multicharts.com/trading-software/index.php?title=NoPlot