全部 TBQuant功能 TBL语言 TB开户 问答专区 其他
编写问题
tb00000 分享到
2022-04-29 00:32

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

//------------------------------------------------------------------------
// 简称: 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语句为什么只有买开仓,卖开仓,没有平仓?难道不写平仓就代表着直接反手了?
        }

上一篇: ShowKline()函数bug
kyover

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优先平对手仓再开仓,不需要写平仓)
        }

2022-04-29 07:39
tb00000
@kyover
[] 中括号 回溯数据,引用以前的数据,或者数组中的元素。

 

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

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

2022-04-29 20:33
tb00000
@tb00000

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

2022-04-30 22:45
kyover
@tb00000

取上一根bar的运算结果

2022-05-01 11:48
您未登录,请先 登录注册 后发表评论
顶部