龙听期货论坛's Archiver

龙听 发表于 2019-8-3 16:23

策略计算逻辑与策略中变量的储存逻辑是怎样的? [MC]

[list][*][b]MC用户求助:[/b]
一、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的值;这点虽然形式上像数组,但是并不是数组。
[*][b]MC回复讨论一:[/b]
一、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的值;这点虽然形式上像数组,但是并不是数组。[/list]

页: [1]