zoukankan      html  css  js  c++  java
  • 量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第三章输出及调试】

    第三章:输出

    第一节:作用

      在进行代码编写的时候,发现在公式编辑器的下方有“建立”、“输出”、“帮助”三个标签选项。其中“建立”是在你编写代码后进行编译,关于代码当中的相关编译信息会在上面显示,比如是否成功,错误,错误的话在第几行。“输出”标签就是用于调试代码中某一部分内容,用于输出的内容,来检测程序的准确性和逻辑的完整性。我们可以在整个标签的最左侧隐藏的向左箭头位置通过拖拽的方式,拉出整个窗口,让其显示输出的内容更加清晰。关于调试功能的代码会在下面说明。

    第二节:清空

      清空的命令共有两个,他们的作用是一样的。

    # 语法

    清除目前显示在编辑器输出面板的信息:
    ClearDebug;
    ClearPrintlog;

     # 示例

    ClearPrintlog;
    print(time," ","Thomas");

    第三节:文件输出操作

      文件输出操作命令共有三个

    3.1 File

    # 语法

    File(“PathFilename”)
    PathFilename——指定文件路径及名称

    # 说明

      在指定的文件中输出,必须在所要输出的表达式前面输出, 后面写一个逗号,若指定的文件不存在,会自动新增文件。指定文件路径,最常用的是要求print命令,输出到指定的文件下面。但是在MC12版本中,这个名好像不能用,可能是为了数据保护。

    # 示例:将调试输出的内容保存到桌面文件

    Print(File(“C:	est.txt”),Currentdate,Currenttime);

    3.2 FileAppend

    # 语法

    FileDelete(“PathFilename”,” StringExpression”)
    PathFilename——指定文件路径及名称 StringExpression——要新增在文件末端的字符串

    # 说明

      在文件的末端新增加字符串内容,若指定的文件不存在,会自动新增文件,同File命令一样,在MC12版本中也是不能用。

    # 示例

    会在 C 盘下面的 test.txt 末端增加”Appended Text”字符串:
    FileAppend(“C:	est.txt”, ”Appended Text”);

    3.3 FileDelete

    # 语法

    FileDelete(“PathFilename”)
    PathFilename ——指定文件路径及名称

    # 说明

      删除指定文件。

    # 示例

    删除 C 盘下面的 test.txt 文件:
    FileDelete(“C:	est.txt”);

    第四节:命令台输出命令

      我们最常用的输出命令就是print,其实还有一个功能与之类似的叫做MessageLog。命令的语法和使用几乎一样。

    4.1 MessageLog

    # 语法

    MessageLog(表达式 1,表达式 2,...)
    字符串表达式——字符串前后需要加引号:"String Expression"
    布林表达式——True 或 False
    数值表达式——可以指定输出数值的最小长度及小数位数,
    格式如下:
    数值表达式:C:D,C 是最少输出字符数,D 是小数位数。
    数值输出的预设长度为 7 个字符,含 2 位小数。
    若数值的小数位数比输出的指定位数长,会四舍五入。
    若数值长度比指定长度短,会在前方补上空白字符。
    若有多个表达式需要以逗号隔开。

    # 说明

      输出一个或多个指定的消息到编辑器的输出面版。输出内容可以是字符串,布林值,序列数值或数值表达式。其中数值表达式不太常用,但是要知道它的用法。

    # 示例

    MessageLog(.1); 将会输出 0.10(前方有三个空白字符)
    MessageLog(1.555555:6:3); 将会在编辑器的输出面板输出
    1.556(前方有一个空白字符)
    MessageLog(“Current Time is:”,CurrentTime:5:0); 
    将会显示”Current Time
    is:”后面带上电脑时间,时间前方会有一个空 白字符,如 Current Time is: 1031

    4.2 Print

    # 语法

    Print([输出目标],表达式 1,表达式 2,etc.)
    在方括号内的参数是可选的
    输出目标——可选参数,指定非公式编辑器的输出面板的输
    出目标,参数需要用逗号与表达式分隔。
    有两个可选的输出目标:
     Printer——输出到打印机
     File(“PathFilename”)——输出到文件,PathFilename 文件路
    径及名称,如果文件不存在将会被创建。
    如果输出目标未指定,将会输出到公式编辑器的输出面板中。
    表达式——字符串,布林值,序列数值或数值表达式:
    字符串表达式——字符串前后需要加引号:"String
    Expression"
    布林表达式——True 或 False
    数值表达式——可以指定输出数值的最小长度及小数位
    数,格式如下:
    数值表达式:C:D,其中,C 是最少输出字符
    数,D 是小数位数。
    数值输出的预设长度为 7 个字符,含 2 位小数。
    若数值的小数位数比输出的指定位数长,会四舍五入。
    若数值长度比指定长度短,会在前方补上空白字符。
    若有多个表达式需要以逗号隔开。

    # 说明

      其中File指定路径的方式前面举例了。可能在MC12中不能使用。

    # 示例

    Print(.1);将会输出 0.10(前方有三个空白字符)
    Print(1.555555:6:3);将会在编辑器的输出面板输出 1.556(前
    方有一个空白字符)
    Print(Printer,”Print Test”);将会送出”Print Test”到默认打印机
    Print(File(“C:	est.txt”),Currentdate,Currenttime);将会在 C 盘下
    面的 test.txt 文件输出并保存当前日期和当前时间

    第五节:声音播放

    # 语法

    PlaySound(“PathFilename”)
    PathFilename——指定要播放的 Wav 格式音效文件(包含完整
    的路径)

    # 说明

    播放指定的音效文件(格式 WAV)

    # 示例

    播放在 C 盘下面的 ding.wav 音乐:
    PlaySound(“C:ding.wav”);

    第六节:报警及发送邮件

      在多商品或多策略同时交易时,如果有提示信息,将会更方便我 们对不同策略的跟踪并及时作出反应。MultiCharts 为用户提供了方便 的 Alert 警报提示功能,如下图在设置指标时,可启用警报。在设置指标或者信号位置,我们可以设置报警选项:

       分有音频、弹出框、电子邮件,警报条件根据需要可选每根 bar 收盘时或每笔成交资料(即依 Tick 计算)发出警报。在选择每笔成 交资料到来发出警报时,为保证信号的计算和指标一致,实时资料下 建议信号开启 bar 内交易(在回测状态下,另需使用精细逐笔 tick)。 其中电子邮件警报设置中的SMTP服务器名称或IP为发送者的名 称、SMTP 服务器授权验证为发送者的授权邮箱和密码。

    6.1 AlertEnabled

    # 语法

    AlertEnabled
    *警报只在最后一根 Bar 产生。
    *AlertEnabled 和 CheckAlert 的不同: AlertEnabled 在每一个
    Bar 都会执行,CheckAlert 只会在最后一根 Bar 执行。
    *若启用警报,则 AlertEnabled 返回 True。

    # 说明

    如果启用警报则 AlertEnabled 返回值为 True。此信息可以让程
    式代码运算执行更加高效。
    此功能也可用来在用户忘记开启警报时发出通知。

    # 示例:下例说明了如何在用户忘记开启警报时发出通知

    Variable: ID(-1);
    If AlertEnabled=False And LastBarOnChart_S=True Then
    ID = Text_New_S(Date, Time_S, Low, "Alerts are disabled. See
    Format Study > Properties >Alerts");

    6.1 Alert

    # 语法

    Alert
    *如果 Alert 中不设文本,则弹出包含来源、商品、周期和价
    格的警报窗口。
    *Alerts 只在最后一根 Bar 显示。

    # 说明

    弹出一个包含必要文本的警示窗口。文本可以是动态的、静态的或空文本。

    # 示例

    弹出一个没有文本信息的警报窗口:
    Alert;
    弹出一个包含动态文本的警报窗口并显示星期日期:
    Alert(Text("Day of week is ", DayOfWeek(Date)));
    当收盘价大于前根 K 线的收盘价时,弹出包含静态文本的警
    报窗口:
    If Close > Close[1] Then Alert(Text("Price turning up"));

    6.3 CancelAlert

    # 语法

    Cancel Alert
    Alerts 只在最后一根 Bar 产生

    # 说明

    取消警报。用于脚本中警报过多时在某些条件下关闭一些警
    报。

    # 示例

    下例说明了如何根据时间关闭所有警报。在 10:00pm 之后,
    警报不会显示:
    If Close > Close[1] Then Alert("Price is going up");
    If Volume > Volume[1] Then Alert("Volume is increasing");
    If Volatility(5) > Volatility(5)[1] Then Alert("Volatility is rising");
    If OpenInt > OpenInt[1] Then Alert("Open interest is growing");
    If Time >= 2200 Then Cancel Alert;

    6.4 CheckAlert

    # 语法

    CheckAlert
    *AlertEnabled 和 CheckAlert 的不同:AlertEnabled 在每一个
    Bar 都会执行,CheckAlert 只会在最后一根 Bar 执行。
    *警报只在最后一根 Bar 产生。

    # 说明

    如果在设置指标》警报中设置启用警报,则 CheckAlert 返回
    true。
    True/false 只在最后一根 Bar 返回。

    # 示例

    下例表示当警报未开启时,避免历史数据计算冗余。
    当警报启用时,对警报条件进行计算:
    If CheckAlert Then Begin
    If Volume >= 2 * Average(Volume, 10) Then Alert ("Volume is going up");
    End;

    =================================================

    之前的文章感谢大家的转载,希望转载时请注明出处,本人转自其它网站的图表一并感谢,谢谢~!

    https://www.cnblogs.com/noah0532/

  • 相关阅读:
    SharePoint Forums使用
    使用JS隐藏MOSS菜单
    缓存
    异步委托
    一个层动态放大的例子的一些知识点
    petshop之购物车再思考
    设置防止攻击session(疑惑)
    petshop异步和多线程
    Profile在petshop
    一个简单的显示隐藏知识点
  • 原文地址:https://www.cnblogs.com/noah0532/p/13676090.html
Copyright © 2011-2022 走看看