策略计算逻辑与策略中变量的储存逻辑是怎样的? [MC]
- UID
- 2
- 积分
- 2892817
- 威望
- 1396440 布
- 龙e币
- 1496377 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-26
|
策略计算逻辑与策略中变量的储存逻辑是怎样的? [MC]
- MC用户求助:
一、MC是基于图表上的bar进行的计算,(为方便叙述,这里我们设置最大bar数量为0)指标信号插入到图表上去之后,代码会从图表上第一根bar开始计算,然后计算第二根bar,直到图表上最新的bar;对于历史的bar并且未开启bar内的情况下,指标和信号都是每根bar计算一次;对于图表上最新的一根bar(还在形成过程中),那么信号是等待这根bar结束再计算一次,而指标是默认实时每笔tick都计算一次(可以设置成bar结束再计算)。
二、对于脚本正在基于当前bar进行计算,那么如果它需要引用历史的数据,可以通过在关键字或者变量后面加括号,括号中使用非负整数对历史数据进行引用,例如,close[2]对于引用当根bar前第二根bar的收盘价,close[0]就是close表示引用当根bar的收盘价;MC中绝大多数的关键字都可以使用这种形式来引用历史数据,所有的变量都可以使用这种形式引用历史数据。这个您可以看一下关键字ago的说明。
三、对于您上面所说的,session_last_bar这个是变量,而session_last_bar[1]表示引用前一根bar上session_last_bar的值;这点虽然形式上像数组,但是并不是数组。
- MC回复讨论一:
一、MC是基于图表上的bar进行的计算,(为方便叙述,这里我们设置最大bar数量为0)指标信号插入到图表上去之后,代码会从图表上第一根bar开始计算,然后计算第二根bar,直到图表上最新的bar;对于历史的bar并且未开启bar内的情况下,指标和信号都是每根bar计算一次;对于图表上最新的一根bar(还在形成过程中),那么信号是等待这根bar结束再计算一次,而指标是默认实时每笔tick都计算一次(可以设置成bar结束再计算)。
二、对于脚本正在基于当前bar进行计算,那么如果它需要引用历史的数据,可以通过在关键字或者变量后面加括号,括号中使用非负整数对历史数据进行引用,例如,close[2]对于引用当根bar前第二根bar的收盘价,close[0]就是close表示引用当根bar的收盘价;MC中绝大多数的关键字都可以使用这种形式来引用历史数据,所有的变量都可以使用这种形式引用历史数据。这个您可以看一下关键字ago的说明。
三、对于您上面所说的,session_last_bar这个是变量,而session_last_bar[1]表示引用前一根bar上session_last_bar的值;这点虽然形式上像数组,但是并不是数组。
|
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|