在第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 YYY是1900年以来的年数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); |
|