编写问题

我是新手,问的问题比较初级,请工程师耐心解答,问题如下:

//------------------------------------------------------------------------
// 简称: DualMA
// 名称: 双均线交易系统
// 类别: 公式应用
// 类型: 内建应用
//------------------------------------------------------------------------
Params
    Numeric FastLength(5);
    Numeric SlowLength(20);
Vars
    Series<Numeric> AvgValue1; //这两句我大概能懂定义变量AvgValue1,AvgValue2但不知道为什么这样写
    Series<Numeric> AvgValue2;   
Events
    OnBar(ArrayRef<Integer> indexs)//这一句是啥意思?
    {
        AvgValue1 = AverageFC(Close,FastLength);
        AvgValue2 = AverageFC(Close,SlowLength);
        PlotNumeric("MA1",AvgValue1);//这两句是啥意思?
        PlotNumeric("MA2",AvgValue2);//这两句是啥意思?        
        
        
        
        If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
        {
            Buy(0,Open);
        }
        
        If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
        {
            SellShort(0,Open);//这两个IF语句为什么只有买开仓,卖开仓,没有平仓?难道不写平仓就代表着直接反手了?
        }

编写问题
编写问题
咨询编写问题
策略编写问题
关于编写问题
编写问题
编写问题
指标编写问题求助
咨询编写问题
编写问题咨询

Params
    Numeric FastLength(5);
    Numeric SlowLength(20);
Vars
    Series<Numeric> AvgValue1; //这两句我大概能懂定义变量AvgValue1,AvgValue2但不知道为什么这样写 (series表示这是一个序列类型,numeric表示是数值类型)
    Series<Numeric> AvgValue2;   
Events
    OnBar(ArrayRef<Integer> indexs)//这一句是啥意思?(这是行情驱动域里的onbar域,该域的效果是每当收到tick行情或者bar变更导致bar数据变化时,该域内代码运行)
    {
        AvgValue1 = AverageFC(Close,FastLength);
        AvgValue2 = AverageFC(Close,SlowLength);
        PlotNumeric("MA1",AvgValue1);//这两句是啥意思?(作图,把avgvalue1和2画在图上)
        PlotNumeric("MA2",AvgValue2);//这两句是啥意思?        
        
        
        
        If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
        {
            Buy(0,Open);
        }
        
        If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
        {
            SellShort(0,Open);//这两个IF语句为什么只有买开仓,卖开仓,没有平仓?难道不写平仓就代表着直接反手了?(对,buy和sellshort优先平对手仓再开仓,不需要写平仓)
        }

[]中括号回溯数据,引用以前的数据,或者数组中的元素。

 

    If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])

AvgValue1[1]      AvgValue2[1]      我不明白这两个变量后边加[1]是什么意思?

明白了取上一个值的意思吧

取上一根bar的运算结果