开拓者期货期权程序化系统交易论坛

标题: Tick问题4 [打印本页]

作者: sswywangyun    时间: 2016-8-5 13:27:33     标题: Tick问题4

本帖最后由 sswywangyun 于 2016-8-5 17:43 编辑

Params
        Numeric FastLength(5);
        Numeric SlowLength(20);
        Numeric DelayTicks(5);
Vars
        NumericSeries AvgValue1;
        NumericSeries AvgValue2;
        Numeric LastBarTime;
        Numeric TickCounter;
Begin
        AvgValue1 = AverageFC(Close,FastLength);
        AvgValue2 = AverageFC(Close,SlowLength);
        
        LastBarTime = GetGlobalVar(0);
        TickCounter = GetGlobalVar(1);
        If(BarStatus==2 && LastBarTime != Time)
        {
                LastBarTime = Time;
                TickCounter = 0;
        }
        
        If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
        {
                If(MarketPosition==0 || BarStatus!=2)
                {
                                    
                               
                                     
                               
                        Buy(1,Open);

                }Else
                {

                        BuyToCover(1,Open);
                                       
                        If(TickCounter==0)
                        {
                                TickCounter = 1;
                                                               
FileAppend("e:\\marketpostion.log"," Bar索引: "+text(currentbar)+ "||  执行buy命令后的marketposition值: " +Text(TickCounter));


                        }else If(TickCounter < DelayTicks)
                        {
                                TickCounter = TickCounter + 1;                        
                        }else
                        {
                                Buy(1,Open);
                        }
                }
        }
        
        If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
        {
                If(MarketPosition==0 || BarStatus!=2)
                {
                        SellShort(1,Open);
                }Else
                {
                        Sell(1,Open);
                        If(TickCounter==0)
                        {
                                TickCounter = 1;
                        }else If(TickCounter < DelayTicks)
                        {
                                TickCounter = TickCounter + 1;                        
                        }else
                        {
                                SellShort(1,Open);
                        }
                }
        }
        
        SetGlobalVar(0,LastBarTime);        
        SetGlobalVar(1,TickCounter);
                PlotString("sy",text(currentbar),l);       
End




1.为什么在公式加入FileAppend("e:\\marketpostion.log"," Bar索引: "+text(currentbar)+ "||  执行买平命令后的TickCounter值: " +Text(TickCounter)); ,想取Tick值看看,却不能建立文件log???

2.如何获取在1分钟周期内的Tick计数值显示,或让我直观看到这个tick是第几个

3.比如现在空仓1手,marketposition=-1,平空一次,这个marketposition在平空的这根BAR上的tick还是显示是0,然后一个新的tick来了又从-1开始计算公式到0,直到下一个Bar到来再更新成0?????是这样吗??     类似下面的这样?

类似marketposition在tick 来的时候是持有空头仓位的 marketposition在tick上值是这样的   -1   -1   -1   然后满足信号平空仓   -1   -1   -1   0     然后新Tick来了      -1    -1   -1   -1   0   然后又来一个新tick   -1    -1   -1   -1   -1   0  一个bar来了    它会先计算一次前面的tick的marketposition=0   然后在自身BAR上就marketposition=0     0       0      0     0......
作者: sswywangyun    时间: 2016-8-5 15:01:17

请给新手帮助的力量
作者: sswywangyun    时间: 2016-8-5 17:43:02

第三个问题对我理解很重要,请解答
作者: sswywangyun    时间: 2016-8-6 15:43:24

唉,老师今天又休息
作者: sswywangyun    时间: 2016-8-8 13:28:18

老师求解答
作者: sswywangyun    时间: 2016-8-9 15:25:15

老师求解答
作者: tjz151053    时间: 2019-7-17 11:19:46

看帖子 marketposition 用于回测




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2