第十三章:文本绘制
第一节:介绍
首先到这里我们发现,很多的绘制函数都是采用XX_New的方式进行绘制的,正如前面的Arw_New绘制箭头、TL_New绘制趋势线,另外还有对应这些绘图的Set方法和Get方法,进行相关属性设置和相关设置值的获取。
第二节:基本文本绘制函数
2.1 Text_New
# 语法:
语法
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");
print(date," ",time," ",currentbar," ",value1);
//返回值:
1200901.00 1400.00 1.00 1.00
1200901.00 1500.00 2.00 1.00
1200901.00 2200.00 3.00 1.00
1200901.00 2300.00 4.00 1.00
1200902.00 1000.00 5.00 1.00
1200902.00 1100.00 6.00 1.00
1200902.00 1130.00 7.00 2.00
1200902.00 1400.00 8.00 2.00
1200902.00 1500.00 9.00 2.00
1200902.00 2200.00 10.00 3.00
...略
# 说明:
在图表上指定位置标注一个特定的文字。返回文字的编号ObjectID。通过返回值我们可以看到,这里标注文字编号第一个出现的位置,如果没有出现新的文字编号,后面的每一个bar节点都与前面的编号相同。
2.2 Text_New_s
# 语法:
语法
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");
# 说明:
在图表上指定位置标注一个特定的文字。返回文字的编号 ObjectID。
2.2 Text_New_self
# 语法:
语法
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");
# 说明:
在指标子图上指定位置标注一个特定的文字。返回文字的编 号 ObjectID。
2.3 Text_New_self_s
# 语法:
语法
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");
# 说明:
在指标子图上指定位置标注一个特定的文字。返回文字的编 号 ObjectID。
第三节:文本绘制的设定函数
3.1 Text_SetAttribute
# 语法:
语法 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);
# 说明:
设定指定编号的文本的属性。返回 0 则设定成功;返回-2 为 无效的文本编号。
3.2 Text_SetBGColor
# 语法:
语法 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);
# 说明:
设定文本的背景颜色。返回 0 则设定成功;返回-2 为无效的 文本编号。
3.3 Text_SetBorder
# 语法:
语法 Text_SetBorder(ObjectID,LogicalExpression) 参数 ObjectID——整数类型,指定文本的 ID 号。 LogicalExpression——布尔值,True=增加边框,False=移除边框。 注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
增加编号为 3 的文本的边框: Value1= Text_SetBorder(3,True); 移除编号为 3 的文本的边框: Value1= Text_SetBorder(3,False);
# 说明:
增加或移除指定编号的文本的边框。返回 0 则设定成功;返 回-2 为无效的文本编号。
3.4 Text_SetColor
# 语法:
语法 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);
# 说明:
设定指定编号的文本的文字颜色。返回 0 则设定成功;返回 -2 为无效的文本编号。
3.5 Text_SetFontName
# 语法:
语法 Text_GetFontName(ObjectID,”FontName”)
参数
ObjectID——整数类型,指定文本的 ID 号。
FontName——字符串表达式,Windows 字型资料夹内的字型
名称。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将编号为 3 的文本字体设定为 Verdana: Value1= Text_GetFontName(3,"Verdana");
# 说明:
设定指定编号的文本的字体类型。返回-2 为无效的文本编号。 字型文件夹中的任意字型都可以使用。在 windows XP 系统中 可以在控制面板中进入字型文件夹。
3.6 Text_SetLocation
# 语法:
语法 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);
# 说明:
调整指定编号的文本的显示位置。返回 0 则调整成功;返回-2 为无效的文本编号。
3.7 Text_SetLocation_s
# 语法:
语法 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);
# 说明:
调整指定编号的文本的。
3.8 Text_SetSize
# 语法:
语法 Text_SetSize(ObjectID,FontSize)
参数 ObjectID——整数类型,指定文本的 ID 号。
FontSize——为指定文本的大小。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将 3 号文本的字体大小设定为 16: Value1=Text_SetSize(3,16);
# 说明:
设定指定编号的文本的字形大小。返回 0 则设定成功;返回-2 为无效的文本编号。
3.9 Text_SetString
# 语法:
语法 Text_SetString(ObjectID,”Text”)
参数 ObjectID——整数类型,指定文本的 ID 号。
Text——为要显示的文字。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将 3 号文本的文字内容更换为”New Text”: Value1= Text_SetString(3,"New Text");
# 说明:
替换指定文本 ID 编号显示的文字。返回 0 则替换成功;返回 -2 为无效的文本编号。
3.10 Text_SetStyle
# 语法:
语法 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);
# 说明:
设定指定文本编号和 K 线的对齐方式。返回 0 则设定成功; 返回-2 为无效的文本编号。
第四节:文本绘制的Get函数
4.1 MC_Text_GetActive
# 语法:
语法 MC_Text_GetActive
# 示例:
将当前选中的文本的文本 ID 号赋给变量 Value1:
Value1= MC_Text_GetActive;
# 说明:
返回一个数值,表示当前选中的文本的文本 ID 号,如果没有 当前选定的文本,则返回值为-1。
4.2 Text_GetActive
# 语法:
语法 Text_GetActive
注意
当使用 Text_New 的时候,会产生一组 ObjectID。
测试得知:当图表上任何文本都未被选中时,Text_GetActive会返回最新的 ID 号,或者返回上一次被选中的 ID 编号。
# 示例:
指定一个值赋给 Value1,表明当前选中的文本对象的对象 ID号: Value2=text_new(date,time,high,text(entryprice)); Value1=Text_GetActive;
# 说明:
返回一个数值,表示当前选中的文本的文本 ID 号,如果没有 当前选定的文本,则返回值为-1。
4.3 Text_GetAttribute
# 语法:
语法 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);
# 说明:
返回一个逻辑值,表示指定的 ID 号的文本属性的设置。若文 本属性设置成功则返回 True,若文本属性未设置或指定 ID 无 效则返回 False。
4.4 Text_GetBGColor
# 语法:
语法 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);
# 说明:
返回一个 RGB 色码或传统的色码,该值对应于一个指定文本 对象的背景颜色。如果 ID 号无效,则返回值为-2
4.5 Text_GetBorder
# 语法:
语法 Text_GetBorder(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
设定一个逻辑值的变量 Border,存储 ID 号为 3 的“加框”文本属性是否设定成功: Variable: Border(False); Border=Text_GetAttribute(3);
# 说明:
返回一个逻辑值,如果对应文本编号的文本有加边框,则返 回 True,若没有加边框,则返回 False。
4.6 Text_GetColor
# 语法:
语法 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);
# 说明:
返回一个 RGB 色码或传统的色码,该值对应于一个指定文本 对象的颜色。如果 ID 号无效,则返回值为-2
4.7 Text_GetDate
# 语法:
语法 Text_GetDate(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将 ID 号为 3 的文本的日期赋给变量 Value1: Value1=Text_GetDate(3);
# 说明:
返回指定文本编号的日期值,YYYMMdd 格式 如果指定文本的 ID 号无效,则返回-2 YYY 是 1900 年以来的年数 MM 是月份 DD 是日期
4.8 Text_GetFirst
# 语法:
语法 Text_GetFirst(Origin) 参数 Origin——数值表达式,表示指定文本最先新增的类型: 1 — 目前公式所新增的文字 2 — 非目前公式或使用者手动新增的文字 3 — 任何公式或使用者手动新增的文字 4 — 目前公式或使用者手动新增的文字 5 — 非目前公式新增的文字 6 — 任何公式新增的文字 7 — 使用者手动新增的文字 注意 如果最新的(最先增加的)文本已被删除,则下一个最新的(第二增加的)文本会作为最新的文本。
# 示例:
将目前公式所新增的文字的 ID 赋给变量 Value1: Value1=Text_GetFirst(1);
# 说明:
获取指定条件下最先新增在图表上的文本编号。若返回-2,则 为无效的文本编号。
4.9 Text_GetFontName
# 语法:
语法 Text_GetFontName(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
# 示例:
将编号为 3 的文本字体名称存入变量”strings”: Var:Strings(""); Strings =Text_GetFontName(3);
# 说明:
获取指定文本编号的字体类型。若返回-2,则为无效的文本编号。
4.10 Text_GetHStyle
# 语法:
语法 Text_GetHStyle(ObjectID) 参数 ObjectID——整数类型,指定文本的 ID 号。 返回 0 — 文字左侧对齐 K 线 1 — 文字右侧对齐 K 线 2 — 文字中央对齐 K 线
# 示例:
返回值将编号为 3 的文本的水平对齐方式赋给变量 Value1: Value1=text_GetHStyle(3);
# 说明:
获取指定文本编号的水平对齐方式。返回-2 为无效的文本编 号。
4.11 Text_GetNext
# 语法:
语法 Text_GetNext(ObjectID, Origin) 参数 ObjectID——整数类型,指定文本的 ID 号。 Origin——数值表达式,表示指定文本最先新增的类型: 1 — 目前公式所新增的文字 2 — 非目前公式或使用者手动新增的文字 3 — 任何公式或使用者手动新增的文字 4 — 目前公式或使用者手动新增的文字 5 — 非目前公式新增的文字 6 — 任何公式新增的文字 7 — 使用者手动新增的文字 注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将编号 3 的文本之后的第一个目前公式新增的文字编号赋给变量 Value1: Value1=Text_GetNext(3,1);
# 说明:
获取指定文本编号之后新增的文字编号。返回-2 为无效的文 本编号。
4.12 Text_GetSize
# 语法:
语法 Text_SetSize(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将 3 号文本的字体大小赋给变量 Value1: Value1=Text_SetSize(3);
# 说明:
获取指定文本编号的字形大小。返回-2 为无效的文本 ID 编号。
4.13 Text_GetString
# 语法:
语法 Text_GetString(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New 的时候,会产生一组 ObjectID
# 示例:
将 3 号文本的文字内容赋给变量 Value1: Value1= Text_ GetString (3);
# 说明:
获取指定文本编号显示的文字。
4.14 Text_GetTime
# 语法:
语法 Text_GetTime(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将编号为 3 的文本的时间存入变量 Value1: Value1=Text_GetTime(3);
# 说明:
获取指定文本编号的时间,HHmm 格式,精确到分。返回-2为无效的文本编号。
4.15 Text_GetTime_s
# 语法:
语法 Text_GetTime_s(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New_s 的时候,会产生一组 ObjectID。
# 示例:
将编号为 3 的文本的时间存入变量 Value1: Value1=Text_GetTime_s(3);
# 说明:
获取指定文本编号的时间,HHmmss 格式,精确到秒。返回 -2 为无效的文本编号。
4.16 Text_GetValue
# 语法:
语法 Text_GetValue(ObjectID)
参数 ObjectID——整数类型,指定文本的 ID 号。
注意 当使用 Text_New 的时候,会产生一组 ObjectID。
# 示例:
将编号对应的文字垂直位置存入变量 Value1: Value1= Text_GetValue(3);
# 说明:
获取指定文本编号所对应文字的垂直价格。返回值-2 为无效 的文本编号。
4.17 Text_GetVStyle
# 语法:
语法 Text_GetVStyle(ObjectID) 参数 ObjectID——整数类型,指定文本的 ID 号。 返回 0 — 文字上缘对齐价格 1 — 文字下缘对齐价格 2 — 文字中央对齐价格
# 示例:
将编号对应的文字对齐方式存入变量 Value1: Value1=Text_GetVStyle(3);
# 说明:
获取指定文本编号所对应文字的“垂直对齐方式”。返回-2为无效的 ID 编号。
第五节:删除文本绘制
5.1 Text_Delete
# 语法:
语法 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);
# 说明:
删除 K 线图上的指定 ID 号的文字;文字删除成功将返回 0, 如果指定 ID 无效则返回-2。
=================================================
之前的文章感谢大家的转载,希望转载时请注明出处,本人转自其它网站的图表一并感谢,谢谢~!
https://www.cnblogs.com/noah0532/