龙听期货论坛's Archiver

龙听 发表于 2021-1-24 07:30

【MultiCharts(MC)程序化(量化)网上培训学习系列】第116节:Multicharts 图表断线预警或监控图表K线是否实时跳动的指标【声音、弹窗或邮件】【无人值守程序化辅助工具系列】

[attach]26987[/attach]

【MultiCharts(MC)程序化(量化)网上培训学习系列】第116节:Multicharts 图表断线预警或监控图表K线是否实时跳动的指标【声音、弹窗或邮件】【无人值守程序化辅助工具系列】

1、效果图;

2、通过期货论坛推荐新开立期货账号享受特惠政策:[url=http://www.qhlt.cn/thread-25049-1-1.html]http://www.qhlt.cn/thread-25049-1-1.html[/url];

3、通过期货论坛开立期货账号并绑定MC享受专属优惠政策:[url=http://www.qhlt.cn/thread-80442-1-1.html]http://www.qhlt.cn/thread-80442-1-1.html[/url];

4、代写与求助:[url=http://www.qhlt.cn/forum-109-1.html]http://www.qhlt.cn/forum-109-1.html[/url];

5、期货论坛策略源码区:[url=http://www.qhlt.cn/forum-109-1.html]http://www.qhlt.cn/forum-109-1.html[/url] ;

6、期货论坛官方MC量化策略群,对视频中策略有想法、建议、优化以结交量化好友,动动手,扫二维码加入微信群,跟一众量化好友切磋吧:[url=http://www.qhlt.cn/thread-262-1-1.html]http://www.qhlt.cn/thread-262-1-1.html[/url] ;

龙听 发表于 2021-1-24 07:34

视频链接地址:[mp4]http://mp4.qhlt.club/Rec%200116.mp4[/mp4]

龙听 发表于 2021-1-24 07:35

断线预警程式码:
**** Hidden Message *****
程式码:

[attach]26988[/attach]
关注程序化课程微信公众号(每天上架新策略、跟着视频学编程)
[img]http://www.qhlt.cn/diypic/Public.png[/img]

龙听 发表于 2021-1-24 07:37

使用方法:

1、这是指标,不是信号,也不是函数;

2、保存指标后在技术图表上面加载即可;【注意事先设置开启预警】;

3、开启方法:[url]http://www.qhlt.cn/thread-100148-1-1.html[/url]

龙听 发表于 2021-1-24 07:38

加载后效果图:

[img]http://www.qhlt.cn/attachments/month_2101/2101240730331265ee8fdde6d8.png[/img]

龙听 发表于 2021-1-24 07:39

我们将在下周的交易时间实际体验一下各种断线形式以及预警的效果,以及增加通过邮件通知断线功能。

未来货 发表于 2021-1-24 09:40

Thank you very much

龙听 发表于 2021-1-24 10:22

RecalcLastBarAfter

[table]
[tr][td]
超过指定时间,则初始化计算。指定时间为秒。 [/td][/tr]
[/table]

[table]
[tr][td][b]用法[/b]
[color=#ffffff]RecalcLastBarAfter[/color]([i]Timeout[/i])
参数说明: [i]Timeout[/i] —— 秒数 (时间) [/td][/tr]
[/table]

[table]
[tr][td][b]范例[/b]
[color=#ffffff]RecalcLastBarAfter[/color](60) 自上次计算后如果超时1分钟的话,则启动新的脚本计算。 [/td][/tr]
[/table]

龙听 发表于 2021-1-24 10:23

LastBarOnChart_s

用于确定当前柱状线是否是图表中的最后一根柱状线(精确到秒)。

注意:如果 DateTime 对象精确度范围内出现多根柱状线,则可能不止一根柱状线具有相同的 DateTime。因此,此函数可能在数据流中最后一根物理柱状线之前返回 True。

语法
LastBarOnChartEx

返回 (Boolean)
若当前柱状线为最后一根柱状线,则返回 True。否则返回 False。

参数

龙听 发表于 2021-1-24 10:25

GetAppInfo
[table]
[tr][td]GetAppInfo
返回一个数值,表示应用程序的特定属性。 [/td][/tr]
[/table]

[table]
[tr][td][b]用法[/b]
GetAppInfo[b]([/b]Attribute[b])[/b]
[b]参数说明[/b]
aiApplicationType —— 指标信号的运用类型,返回值表示的含义:
            0 - 位置类型
            1 - 图表类
            2 - 市场扫描器
            10 - 投资组合交易

aiBarSpacing —— 返回目前图表上的K棒宽度
aiCalcReason —— 返回重新计算的原因 ,GetAppInfo返回初始化计算的原因:
            0   (CalcReason_default) - 默认当新的bar/tick出现时,计算会初始化
            1   (CalcReason_mouseLClick) - 鼠标在图表上左击后,计算会初始化
            2   (CalcReason_mouseRClick) - 鼠标在图表上右击后,计算会初始化
            3   (CalcReason_timer) - 在RecalcLastBarAfter期限超时后,计算会初始化
            4   (CalcReason_MPChange) - 在商品的图表部位即marketposition变动后,计算会初始化
            5   (CalcReason_OrderFilled) - 在委托单成交后,计算会初始化(仅用于信号)

aiHighestDispValue —— 返回目前图表价格刻度轴的最大值
aiLowestDispValue —— 返回目前图表价格刻度轴的最小值
aiLeftDispDateTime —— 返回目前图表时间刻度轴的最左方K棒的儒略日
aiRightDispDateTime —— 返回目前图表时间刻度轴的最右方K棒的儒略日
aiRow —— 返回市场扫描器中商品所在的行号;若指标插入市场扫描器的商品后,将会返回正整数,否则会返回0
aiSpaceToRight —— 返回目前图表设定的右边空白边界宽度(以K棒数量表示,可在设置窗口->X-时间刻度中设置)
aiOptimizing —— 返回1表示目前正在进行最佳化演算返回0表示其他状况
aiStrategyAuto —— 返回1表示目前自动交易为启用状态返回0表示其他状况
aiStrategyAutoConf —— 返回0表示不显示委托确认视窗返回1表示其他状况
aiIntrabarOrder —— 返回1表示目前有启用K棒内产生委托返回0表示其他状况
aiAppId —— 返回代表目前应用程式的识别码(为非0整数值)
aiRealTimeCalc —— 返回1表示目前处于接收实时行情状态返回0表示其他状况
aiChartShiftPercent —— 返回目前图表设定的右边空白边界百分比(可在设置窗口->X-时间刻度中设置)
aiIsPortfolioMode —— 返回1表示目前公式用在投资组合中,否则用在图表或市场扫描器中

[/td][/tr]
[/table]

[table]
[tr][td][b]范例[/b]
GetAppInfo(aiBarSpacing) 取得图表上K棒宽度
GetAppInfo(aiStrategyAutoConf) 取得是否显示委托单确认视窗的状态
GetAppInfo(aiRealTimeCalc) 取得是否处于即时行情状态,当使用到即时行情资料计算时,返回值为1;否则返回值为0
以上程序所在指标或信号插入图表,若按住键盘Ctrl键的同时点击鼠标左键,将会返回鼠标所在bar的时间:
[ProcessMouseEvents = true];
switch (getappinfo(aicalcreason)) begin
    case CalcReason_MouseLClick : if MouseClickCtrlPressed then begin
    var: var0(0), var1(0);
        repeat
            if 0 = var0 then begin
            var0 = MouseClickDateTime;
            break;
            end;
        until(false);
    end;
end;
var1 = datetime2eltime(var0);
print("Time of the Bar = ", var1);[/td][/tr]
[/table]

龙听 发表于 2021-1-27 11:47

升级版地址:[url]http://www.qhlt.cn/thread-100298-1-1.html[/url]

效果如下图:
[img]http://www.qhlt.cn/attachments/month_2101/2101271145ab5d30a9c09deb4a.png[/img]

本来周 发表于 2021-3-9 15:25

谢谢分享

秋水 发表于 2021-9-13 11:13

MC的开发者真是考虑的很周全了,连这么细节但实用的功能都考虑到了。

页: [1]