Board logo

标题: MultiCharts编程-PowerLanguage-Execution Control执行控制 [打印本页]

作者: 龙听    时间: 2018-5-9 11:12     标题: MultiCharts编程-PowerLanguage-Execution Control执行控制

对于程序脚本的执行,若需要控制它在某种条件下中断对图表数据的计算,可以使用本章的AbortRaiserRuntimeError关键字。本章其他关键字则可以设定PowerLanguage的浮点运算的容差值。浮点运算一般是含有除法的数学运算,除数一般要指定非零值,再做运算。如:if aa<>0 thencc=bb/aa;

  Abort  
  

说明

  
  

产生运算错误并中断公式的执行。

  
  

语法

  
  

Abort;

  
  

范例

  
  

Abort;

  

中断执行脚本,会弹出警示视窗:

  


  


  fpcExactAccuracy  
  

说明

  
  

常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为0.00fpcExactAccuracy可以用数值5代替。

  
  

语法

  
  

SetFPCompareAccuracy(fpcExactAccuracy)

  

或:

  

SetFPCompareAccuracy(5)  

  
  

范例

  
  

设定浮点运算的容差值为Exact

  

SetFPCompareAccuracy(fpcExactAccuracy);

  

设定浮点运算的容差值为Exact

  

SetFPCompareAccuracy(5);  

  


  fpcHighAccuracy  
  

说明

  
  

常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-14fpcHighAccuracy可以用数值3代替。

  
  

语法

  
  

SetFPCompareAccuracy(fpcHighAccuracy)

  

或:

  

SetFPCompareAccuracy(3)  

  
  

范例

  
  

设定浮点运算的容差值为高:

  

SetFPCompareAccuracy(fpcHighAccuracy);

  

设定浮点运算的容差值为高:

  

SetFPCompareAccuracy(3);  

  


  fpcLowAccuracy  
  

说明

  
  

常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-10fpcLowAccuracy可以用数值1代替。

  
  

语法

  
  

SetFPCompareAccuracy(fpcLowAccuracy)

  

或:

  

SetFPCompareAccuracy(1)  

  
  

范例

  
  

设定浮点运算的容差值为低:

  

SetFPCompareAccuracy(fpcLowAccuracy);

  

设定浮点运算的容差值为低:

  

SetFPCompareAccuracy(1);  

  


  fpcMedAccuracy  
  

说明

  
  

常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-12fpcMedAccuracy可以用数值2代替。

  
  

语法

  
  

SetFPCompareAccuracy(fpcMedAccuracy)

  

或:

  

SetFPCompareAccuracy(2)  

  
  

范例

  
  

设定浮点运算的容差值为中等:

  

SetFPCompareAccuracy(fpcMedAccuracy);

  

设定浮点运算的容差值为中等:

  

SetFPCompareAccuracy(2);  

  


  fpcVeryHighAccuracy  
  

说明

  
  

常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-16fpcVeryHighAccuracy可以用数值4代替。

  
  

语法

  
  

SetFPCompareAccuracy(fpcVeryHighAccuracy)

  

或:

  

SetFPCompareAccuracy(4)  

  
  

范例

  
  

设定浮点运算的容差值为较高:

  

SetFPCompareAccuracy(fpcVeryHighAccuracy);

  

设定浮点运算的容差值为较高:

  

SetFPCompareAccuracy(4);  

  


  fpcVeryLowAccuracy  
  

说明

  
  

常数,和SetFPCompareAccuracy联合使用,指定浮点运算容差值为2.2204460492503131e-8fpcVeryLowAccuracy可以用数值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);  

  





欢迎光临 龙听期货论坛 (http://www.qhlt.cn/) Powered by Discuz! 7.2