: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

MultiCharts编程-PowerLanguage-Text Drawing绘制文本

MultiCharts编程-PowerLanguage-Text Drawing绘制文本

在第14章中介绍了程式脚本调试的方法之一“输出”,除此之外,也可以把想要看到的某些变量或函数的值绘制在图表中。对需要的信息可以更直观、更易于阅读和观察。如下图所示,在出场的K线上下分别标记该笔进出场的价格:



28.1 text_new进出场价格

参考程序:

var:mp(0);

mp=marketposition;

if mp[1]<>0
and mp=0
then begin

text_new(date,time,high+8,text(entryname(1),":",entryprice(1)));

text_new(date,time,low-5,text("eixt:",exitprice(1)));

end;


Text_New所绘制出的文本,也可以修改字体颜色、大小、样式等属性,本章都做了一一说明。

  MC_Text_GetActive  
  

说明

  
  

返回一个数值,表示当前选中的文本的文本ID号,如果没有当前选定的文本,则返回值为-1

  
  

语法

  
  

MC_Text_GetActive

  
  

范例

  
  

将当前选中的文本的文本ID号赋给变量Value1

  

Value1= MC_Text_GetActive;

  


  Text_Delete  
  

说明

  
  

删除K线图上的指定ID号的文字;文字删除成功将返回0,如果指定ID无效则返回-2

  
  

语法

  
  

Text_Delete(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

*当使用Text_New的时候,会产生一组ObjectID

  

*可以直接用Text_Delete(ObjectID)这个语法把它从K线图上删掉。

  
  

范例

  
  

K线上写出test 字样,在符合某个condition的时候删掉:

  

Value2=Text_new(date,time,high,"test");

  

If condition1
then

  

Text_Delete(value2);

  


  Text_GetActive  
  

说明

  
  

返回一个数值,表示当前选中的文本的文本ID号,如果没有当前选定的文本,则返回值为-1

  
  

语法

  
  

Text_GetActive

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  

测试得知:当图表上任何文本都未被选中时,Text_GetActive会返回最新的ID号,或者返回上一次被选中的ID编号。

  
  

范例

  
  

指定一个值赋给Value1,表明当前选中的文本对象的对象ID号:

  

Value2=text_new(date,time,high,text(entryprice));

  

Value1=Text_GetActive;

  


  Text_GetAttribute  
  

说明

  
  

返回一个逻辑值,表示指定的ID号的文本属性的设置。若文本属性设置成功则返回True,若文本属性未设置或指定ID无效则返回False

  
  

语法

  
  

Text_GetAttribute(ObjectID,Attribute)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

Attribute——5个值:

  

0 — 加框

  

1 — 加粗

  

2 — 斜体

  

3 — 删除线

  

4 — 下划线

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

设定一个逻辑值的变量Bold,存储ID号为3的“加粗”文本属性是否设定成功:

  

Variable:Bold(False);

  

Bold=Text_GetAttribute(3,1);

  


  Text_GetBGColor  
  

说明

  
  

返回一个RGB色码或传统的色码,该值对应于一个指定文本对象的背景颜色。如果ID号无效,则返回值为-2

  
  

语法

  
  

Text_GetBGColor(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

ID号为3的文本的背景颜色的RGB色码赋给变量Value1

  

Value1=Text_ GetBGColor(3);

  

ID号为3的文本的背景颜色的传统色码赋给变量Value1

  

[LegacyColorValue=True];

  

Value1=Text_ GetBGColor(3);

  


  Text_GetBorder  
  

说明

  
  

返回一个逻辑值,如果对应文本编号的文本有加边框,则返回True,若没有加边框,则返回False

  
  

语法

  
  

Text_GetBorder(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

设定一个逻辑值的变量Border,存储ID号为3的“加框”文本属性是否设定成功:

  

Variable: Border(False);  

  

Border=Text_GetAttribute(3);

  


  Text_GetColor  
  

说明

  
  

返回一个RGB色码或传统的色码,该值对应于一个指定文本对象的颜色。如果ID号无效,则返回值为-2

  
  

语法

  
  

Text_GetColor(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

ID号为3的文本的颜色的RGB色码赋给变量Value1

  

Value1=Text_ GetColor(3);

  

ID号为3的文本的颜色的传统色码赋给变量Value1

  

[LegacyColorValue=True];

  

Value1=Text_ GetColor(3);

  


  Text_GetDate  
  

说明

  
  

返回指定文本编号的日期值,YYYMMdd格式

  

如果指定文本的ID号无效,则返回-2

  

YYY1900年以来的年数MM是月份DD是日期

  


  
  

语法

  
  

Text_GetDate(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

ID号为3的文本的日期赋给变量Value1

  

Value1=Text_ GetDate(3);

  


  Text_GetFirst  
  

说明

  
  

获取指定条件下最先新增在图表上的文本编号。若返回-2,则为无效的文本编号。

  
  

语法

  
  

Text_GetFirst(Origin)

  
  

参数

  
  

Origin——数值表达式,表示指定文本最先新增的类型:

  

1 — 目前公式所新增的文字

  

2 — 非目前公式或使用者手动新增的文字

  

3 — 任何公式或使用者手动新增的文字

  

4 — 目前公式或使用者手动新增的文字

  

5 — 非目前公式新增的文字

  

6 — 任何公式新增的文字

  

7 — 使用者手动新增的文字

  
  

注意

  
  

如果最新的(最先增加的)文本已被删除,则下一个最新的(第二增加的)文本会作为最新的文本。

  
  

范例

  
  

将目前公式所新增的文字的ID赋给变量Value1

  

Value1=Text_GetFirst(1);

  


  Text_GetFontName  
  

说明

  
  

获取指定文本编号的字体类型。若返回-2,则为无效的文本编号。

  
  

语法

  
  

Text_GetFontName(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

范例

  
  

将编号为3的文本字体名称存入变量”strings”

  

Var:Strings("");

  

Strings
=Text_GetFontName(3);

  


  Text_GetHStyle  
  

说明

  
  

获取指定文本编号的水平对齐方式。返回-2为无效的文本编号。

  
  

语法

  
  

Text_GetHStyle(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

返回

  
  

0 — 文字左侧对齐K线

  

1 — 文字右侧对齐K线

  

2 — 文字中央对齐K线

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

返回值将编号为3的文本的水平对齐方式赋给变量Value1

  

Value1=text_GetHStyle(3);

  


  Text_GetNext  
  

说明

  
  

获取指定文本编号之后新增的文字编号。返回-2为无效的文本编号。

  
  

语法

  
  

Text_GetNext(ObjectID, Origin)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

Origin——数值表达式,表示指定文本最先新增的类型:

  

1 — 目前公式所新增的文字

  

2 — 非目前公式或使用者手动新增的文字

  

3 — 任何公式或使用者手动新增的文字

  

4 — 目前公式或使用者手动新增的文字

  

5 — 非目前公式新增的文字

  

6 — 任何公式新增的文字

  

7 — 使用者手动新增的文字

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

将编号3的文本之后的第一个目前公式新增的文字编号赋给变量Value1

  

Value1=Text_GetNext(3,1);

  


  Text_GetSize  
  

说明

  
  

获取指定文本编号的字形大小。返回-2为无效的文本ID编号。

  
  

语法

  
  

Text_SetSize(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

3号文本的字体大小赋给变量Value1

  

Value1=Text_SetSize(3);

  


  Text_GetString  
  

说明

  
  

获取指定文本编号显示的文字

  
  

语法

  
  

Text_GetString(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

3号文本的文字内容赋给变量Value1

  

Value1= Text_ GetString  (3);

  


  Text_GetTime  
  

说明

  
  

获取指定文本编号的时间,HHmm格式,精确到分。返回-2为无效的文本编号。

  
  

语法

  
  

Text_GetTime(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

将编号为3的文本的时间存入变量Value1

  

Value1=Text_GetTime(3);

  


  Text_GetTime_s  
  

说明

  
  

获取指定文本编号的时间,HHmmss格式,精确到秒。返回-2为无效的文本编号。

  
  

语法

  
  

Text_GetTime_s(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New_s的时候,会产生一组ObjectID

  
  

范例

  
  

将编号为3的文本的时间存入变量Value1

  

Value1=Text_GetTime_s(3);

  


  Text_GetValue  
  

说明

  
  

获取指定文本编号所对应文字的垂直价格。返回值-2 为无效的文本编号

  
  

语法

  
  

Text_GetValue(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

将编号对应的文字垂直位置存入变量Value1

  

Value1= Text_GetValue(3);

  


  Text_GetVStyle  
  

说明

  
  

获取指定文本编号所对应文字的“垂直对齐方式”。返回-2为无效的ID编号。

  
  

语法

  
  

Text_GetVStyle(ObjectID)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  
  

返回

  
  

0 — 文字上缘对齐价格

  

1 — 文字下缘对齐价格

  

2 — 文字中央对齐价格

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

将编号对应的文字对齐方式存入变量Value1

  

Value1=Text_GetVStyle(3);

  


  Text_New  
  

说明

  
  

在图表上指定位置标注一个特定的文字。返回文字的编号ObjectID

  
  

语法

  
  

Text_New(BarDate,BarTime,PriceValue,”Text”)

  
  

参数

  
  

BarDate——数值表达式,显示文字的K线日期;日期格式为YYYMMdd

  

BarTime——数值表达式,显示文字的K线时间;时间格式为HHmm

  

PriceValue——数值表达式,显示文字的垂直位置

  

Text——字符串,显示需要的文本内容

  
  

范例

  
  

当连续三根K线的开盘价都持续升高,则在K线最高价位置标注”UpT”

  

If Open>Open[1] And Open[1]>Open[2]  Then

  

Value1=Text_New(Date,Time,High,"UpT");

  


  Text_New_s  
  

说明

  
  

在图表上指定位置标注一个特定的文字。返回文字的编号ObjectID

  
  

语法

  
  

Text_New_s(BarDate,BarTime_s,PriceValue,”Text”)

  
  

参数

  
  

BarDate——数值表达式,显示文字的K线日期;日期格式为YYYMMdd

  

BarTime_s——数值表达式,显示文字的K线时间;时间格式为HHmmss

  

PriceValue——数值表达式,显示文字的垂直位置

  

Text——字符串,显示需要的文本内容

  
  

范例

  
  

当连续三根K线的开盘价都持续升高,则在K线最高价位置标注”UpT”

  

If Open>Open[1] And Open[1]>Open[2]  Then

  

Value1=Text_New_s(Date,Time_s,High,"UpT");

  


  Text_New_self  
  

说明

  
  

在指标子图上指定位置标注一个特定的文字。返回文字的编号ObjectID

  
  

语法

  
  

Text_New_self(BarDate,BarTime,PriceValue,”Text”)

  
  

参数

  
  

BarDate——数值表达式,显示文字的K线日期;日期格式为YYYMMdd

  

BarTime——数值表达式,显示文字的K线时间;时间格式为HHmm

  

PriceValue——数值表达式,显示文字的垂直位置

  

Text——字符串,显示需要的文本内容

  
  

注意

  
  

测试写在信号中,文字会标在主图上。写在指标中,需要设定以子图数据计算,才可以标记在子图上。

  
  

范例

  
  

当连续三根K线的开盘价都持续升高,则在子图K线最高价位置标注”UpT”

  

If Open>Open[1] And Open[1]>Open[2]  Then

  

Value1=Text_New_self(Date,Time,High,"UpT");

  


  Text_New_self_s  
  

说明

  
  

在指标子图上指定位置标注一个特定的文字。返回文字的编号ObjectID

  
  

语法

  
  

Text_New_self_s(BarDate,BarTime_s,PriceValue,”Text”)

  
  

参数

  
  

BarDate——数值表达式,显示文字的K线日期;日期格式为YYYMMdd

  

BarTime_s——数值表达式,显示文字的K线时间;时间格式为HHmmss

  

PriceValue——数值表达式,显示文字的垂直位置

  

Text——字符串,显示需要的文本内容

  
  

注意

  
  

测试写在信号中,文字会标在主图上。写在指标中,需要设定以子图数据计算,才可以标记在子图上。

  
  

范例

  
  

当连续三根K线的开盘价都持续升高,则在子图K线最高价位置标注”UpT”

  

If Open>Open[1] And Open[1]>Open[2]  Then

  

Value1=Text_New_self_s(Date,Time_s,High,"UpT");

  


  Text_SetAttribute  
  

说明

  
  

设定指定编号的文本的属性。返回0则设定成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetAttribute(ObjectID, Attribute, LogicalExpression)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

Attribute——可设定的文本属性,有5个值:

  

0 — 加框

  

1 — 加粗

  

2 — 斜体

  

3 — 删除线

  

4 — 下划线

  

LogicalExpression——布尔值,True=启用,False=取消。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

3号文本设定为粗体:

  

Value1=Text_SetAttribute(3,1,True);

  


  Text_SetBGColor  
  

说明

  
  

设定文本的背景颜色。返回0则设定成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetBGColor(OBjectID,BGColor)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

BGColor——指定颜色的表达式。颜色可以是RGB色码或传统色码或者17种基本颜色。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

设定3号文本的背景颜色为蓝色(基本颜色参数):

  

Value1= Text_SetBGColor (3,Blue);

  

设定3号文本的背景颜色为橙色(RGB色码参数):

  

Value1= Text_SetBGColor (3,2138336);

  

设定3号文本的背景颜色为绿色(传统色码参数):

  

[LegacyColorValue=True];

  

Value1= Text_SetBGColor (3,4);

  


  Text_SetBorder  
  

说明

  
  

增加或移除指定编号的文本的边框。返回0则设定成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetBorder(ObjectID,LogicalExpression)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

LogicalExpression——布尔值,True=增加边框,False=移除边框。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

增加编号为3的文本的边框:

  

Value1= Text_SetBorder(3,True);

  

移除编号为3的文本的边框:

  

Value1= Text_SetBorder(3,False);

  


  Text_SetColor  
  

说明

  
  

设定指定编号的文本的文字颜色。返回0则设定成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetColor(OBjectID,TextColor)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

TextColor——指定颜色的表达式。颜色可以是RGB色码或传统色码或者17种基本颜色。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

设定3号文本的文字颜色为蓝色(基本颜色参数):

  

Value1= Text_ SetColor(3,Blue);

  

设定3号文本的文字颜色为橙色(RGB色码参数):

  

Value1= Text_ SetColor(3,2138336);

  

设定3号文本的文字颜色为绿色(传统色码参数):

  

[LegacyColorValue=True];

  

Value1= Text_ SetColor(3,4);

  


  Text_SetFontName  
  

说明

  
  

设定指定编号的文本的字体类型。返回-2为无效的文本编号。

  

字型文件夹中的任意字型都可以使用。在windows XP系统中可以在控制面板中进入字型文件夹。

  
  

语法

  
  

Text_GetFontName(ObjectID,”FontName”)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

FontName——字符串表达式,Windows字型资料夹内的字型名称。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

将编号为3的文本字体设定为Verdana

  

Value1= Text_GetFontName (3,"Verdana");

  


  Text_SetLocation  
  

说明

  
  

调整指定编号的文本的显示位置。返回0则调整成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetLocation(ObjectID,BarDate,BarTime,PriceValue)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

BarDate——数值表达式,显示文字的K线日期;日期格式为YYYMMdd

  

BarTime——数值表达式,显示文字的K线时间;时间格式为HHmm

  

PriceValue——数值表达式,显示文字的垂直位置

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

将编号为3的文本字移动到目前K线的上方

  

Value1=Text_SetLocation(3,Date,Time,High);

  


  Text_SetLocation_s  
  

说明

  
  

调整指定编号的文本的显示位置。返回0则调整成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetLocation_s(ObjectID,BarDate,BarTime_s,PriceValue)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

BarDate——数值表达式,显示文字的K线日期;日期格式为YYYMMdd

  

BarTime_s——数值表达式,显示文字的K线时间;时间格式为HHmmss

  

PriceValue——数值表达式,显示文字的垂直位置

  
  

注意

  
  

当使用Text_New_s的时候,会产生一组ObjectID

  
  

范例

  
  

将编号为3的文本字移动到目前K线的上方:

  

Value1=Text_SetLocation_s(3,Date,Time_s,High);

  


  Text_SetSize  
  

说明

  
  

设定指定编号的文本的字形大小。返回0则设定成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetSize(ObjectID,FontSize)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

FontSize——为指定文本的大小。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

3号文本的字体大小设定为16

  

Value1=Text_SetSize(3,16);

  


  Text_SetString  
  

说明

  
  

替换指定文本ID编号显示的文字。返回0则替换成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetString(ObjectID,”Text”)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

Text——为要显示的文字。

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

3号文本的文字内容更换为”New Text”

  

Value1= Text_SetString(3,"New Text");

  


  Text_SetStyle  
  

说明

  
  

设定指定文本编号和K线的对齐方式。返回0则设定成功;返回-2为无效的文本编号。

  
  

语法

  
  

Text_SetStyle(ObjectID, HorizPl,VertPl)

  
  

参数

  
  

ObjectID——整数类型,指定文本的ID号。

  

HorizPl——整数类型,指定文本的水平对齐方式:

  

0 — 文字左侧对齐K线

  

1 — 文字右侧对齐K线

  

2 — 文字中央对齐K线

  

VertPl——整数类型,指定文本的垂直对齐方式:

  

0 — 文字上缘对齐价格

  

1 — 文字下缘对齐价格

  

2 — 文字中央对齐价格

  
  

注意

  
  

当使用Text_New的时候,会产生一组ObjectID

  
  

范例

  
  

3号文本设定为水平置中,垂直置中:

  

Value1=Text_SetStyle(3,2,2);

  

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表