Print

在EA交易日志中输入消息。参量可以是各种类型。

void  Print(
   argument,     // 第一值
   ...           // 下一值
   );

参量

...

[in]  逗号分割任意值,参量数不能超过64

注释

数组不能通过Print()函数传递,数组必须按元素一个接一个输入

双精度型数据多余小数点后16位字节显示,或以传统或以科学角度输出,根据接入口的紧凑性。浮点类型数据在小数点后5位字节输出,输出的实型数据和另一精确度的预先格式,使用 PrintFormat() 函数。

布尔型数据的输出以true或者false标准,数据以 YYYY.MM.DD HH:MI:SS为标准,在另一版本表示数据,使用 TimeToString(),如果颜色类型显示在操作中,颜色类型数据以RGB,或颜色名称来返回。

Print() 函数在优化期间在策略测试中不工作。

示例:

void OnStart()
  {
//--- 用Print()导出DBL_MAX,这相当于PrintFormat(%%.16G,DBL_MAX)
   Print("---- how DBL_MAX looks like -----");
   Print("Print(DBL_MAX)=",DBL_MAX);
//--- 现在用PrintFormat()导出DBL_MAX number
   PrintFormat("PrintFormat(%%.16G,DBL_MAX)=%.16G",DBL_MAX);
//--- 导出到专家日志
// Print(DBL_MAX)=1.797693134862316e+308
// PrintFormat(%.16G,DBL_MAX)=1.797693134862316E+308
 
//--- 请看浮动如何导出
   float c=(float)M_PI// 我们应该明确目标类型
   Print("c=",c, "    Pi=",M_PI"    (float)M_PI=",(float)M_PI);
// c=3.14159    Pi=3.141592653589793    (float)M_PI=3.14159
   
//--- 显示真实类型算术运算会发生什么
   double a=7,b=200;
   Print("---- Before arithmetic operations");
   Print("a=",a,"   b=",b);
   Print("Print(DoubleToString(b,16))=",DoubleToString(b,16));
//--- a 除以 b (7/200)
   a=a/b;
//--- 现在模仿恢复b变量的值
   b=7.0/a; // 期待 b=7.0/(7.0/200.0)=>7.0/7.0*200.0=200 - 但却不同
//--- 导出最新计算的b值
   Print("----- After arithmetic operations");
   Print("Print(b)=",b);
   Print("Print(DoubleToString(b,16))=",DoubleToString(b,16));
//--- 导出到专家日志
// Print(b)=200.0
// Print(DoubleToString(b,16))=199.9999999999999716 (可见b不再等于200.0)   
 
//--- 创建一个非常小的值 epsilon=1E-013
   double epsilon=1e-13;
   Print("---- Create a very small value");
   Print("epsilon=",epsilon); // 获得 epsilon=1E-013
//--- 现在从b减去epsilon 并且导出值到专家日志
   b=b-epsilon;
//--- 使用两种方式
   Print("---- After subtracting epsilon from the b variable");
   Print("Print(b)=",b);
   Print("Print(DoubleToString(b,16))=",DoubleToString(b,16));
//--- 导出到专家日志
// Print(b)=199.9999999999999  (现在减去epsilon以后的b值不能四舍五入到200)
// Print(DoubleToString(b,16))=199.9999999999998578
//    (现在减去epsilon以后的b值不能四舍五入到200)
  }

另见

DoubleToString, StringFormat