MultiCharts编程-PowerLanguage-Execution Control执行控制
- UID
- 2
- 积分
- 2874674
- 威望
- 1387366 布
- 龙e币
- 1487308 刀
- 在线时间
- 13156 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-24
|
MultiCharts编程-PowerLanguage-Execution Control执行控制
对于程序脚本的执行,若需要控制它在某种条件下中断对图表数据的计算,可以使用本章的Abort或RaiserRuntimeError关键字。本章其他关键字则可以设定PowerLanguage的浮点运算的容差值。浮点运算一般是含有除法的数学运算,除数一般要指定非零值,再做运算。如:if aa<>0 thencc=bb/aa; Abort | 说明 | 产生运算错误并中断公式的执行。 | 语法 | Abort; | 范例 | Abort; 中断执行脚本,会弹出警示视窗:
|
fpcExactAccuracy | 说明 | 常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为0.00,fpcExactAccuracy可以用数值5代替。 | 语法 | SetFPCompareAccuracy(fpcExactAccuracy) 或: SetFPCompareAccuracy(5) | 范例 | 设定浮点运算的容差值为Exact: SetFPCompareAccuracy(fpcExactAccuracy); 设定浮点运算的容差值为Exact: SetFPCompareAccuracy(5); |
fpcHighAccuracy | 说明 | 常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-14,fpcHighAccuracy可以用数值3代替。 | 语法 | SetFPCompareAccuracy(fpcHighAccuracy) 或: SetFPCompareAccuracy(3) | 范例 | 设定浮点运算的容差值为高: SetFPCompareAccuracy(fpcHighAccuracy); 设定浮点运算的容差值为高: SetFPCompareAccuracy(3); |
fpcLowAccuracy | 说明 | 常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-10,fpcLowAccuracy可以用数值1代替。 | 语法 | SetFPCompareAccuracy(fpcLowAccuracy) 或: SetFPCompareAccuracy(1) | 范例 | 设定浮点运算的容差值为低: SetFPCompareAccuracy(fpcLowAccuracy); 设定浮点运算的容差值为低: SetFPCompareAccuracy(1); |
fpcMedAccuracy | 说明 | 常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-12,fpcMedAccuracy可以用数值2代替。 | 语法 | SetFPCompareAccuracy(fpcMedAccuracy) 或: SetFPCompareAccuracy(2) | 范例 | 设定浮点运算的容差值为中等: SetFPCompareAccuracy(fpcMedAccuracy); 设定浮点运算的容差值为中等: SetFPCompareAccuracy(2); |
fpcVeryHighAccuracy | 说明 | 常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-16,fpcVeryHighAccuracy可以用数值4代替。 | 语法 | SetFPCompareAccuracy(fpcVeryHighAccuracy) 或: SetFPCompareAccuracy(4) | 范例 | 设定浮点运算的容差值为较高: SetFPCompareAccuracy(fpcVeryHighAccuracy); 设定浮点运算的容差值为较高: SetFPCompareAccuracy(4); |
fpcVeryLowAccuracy | 说明 | 常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-8,fpcVeryLowAccuracy可以用数值0代替。 | 语法 | SetFPCompareAccuracy(fpcVeryLowAccuracy) 或: SetFPCompareAccuracy(0) | 范例 | 设定浮点运算的容差值为较低: SetFPCompareAccuracy(fpcVeryLowAccuracy); 设定浮点运算的容差值为较低: SetFPCompareAccuracy(0); |
RaiseRunTimeError | 说明 | 产生运算错误并显示指定的错误讯息警示。Run-time-error会中断公式的执行。 | 语法 | RaiseRunTimeError(“Message”) | 参数 | Message——字符串表达式,用来指定错误信息。 | 范例 | 产生运算错误,弹出警示讯息”Strategy Stopped”: RaiseRunTimeError(“Strategy Stopped”); |
RecalcLastBarAfter | 说明 | 超过指定时间,则初始化计算。指定时间为秒。 | 语法 | RecalcLastBarAfter(时间) | 参数 | 时间——秒数 | 范例 | RecalcLastBarAfter(60) 自上次计算后如果超时1分钟的话,则启动新的脚本计算。 |
SetFPCompareAccuracy | 说明 | 设定浮点运算的精确度。 两个浮点数在(absvalue(Value1-value2)<=容差值)时,可视为相等。 预设定浮点容差值为2.2204460492503131e-012。 | 语法 | SetFPCompareAccuracy(精确度) | 参数 | 精确度——代表精确度的常数,代表意义如下: 语法 | 数值 | 精确度 | fpcVeryLowAccuracy | 0 | 02.2204460492503131e-8 | fpcLowAccuracy | 1 | 12.2204460492503131e-10 | fpcMedAccuracy | 2 | 22.2204460492503131e-12 (Default) | fpcHighAccuracy | 3 | 32.2204460492503131e-14 | fpcVeryHighAccuracy | 4 | 42.2204460492503131e-16 | fpcExact | 5 | 0.00 | | 范例 | 设定浮点精确度为高: SetFPCompareAccuracy(fpcHighAccuracy); SetFPCompareAccuracy(3); |
|
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|