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

标题: 一个平仓问题。 [打印本页]

作者: hhdy1    时间: 2011-11-22 09:50:21     标题: 一个平仓问题。

Params

Numeric maLen1(10);

Numeric maLen2(50);

Numeric lots(1);

Numeric offset(0);

Vars

Numeric ma1;

Numeric ma2;

Numeric i_offset;



Begin

ma1 = Average(Open,maLen1);

ma2 = Average(Open,maLen2);



PlotNumeric("ma1",ma1);

PlotNumeric("ma2",ma2);



i_offset = offset*MinMove*PriceScale;

If(Date!=Date[1] && High==Low)

Return;

If(CurrentBar > maLen2)

{

        If(MarketPosition == 0)

        {

                If(Open>ma1 and ma1>ma2)

                {

                        Buy(lots,Open+i_offset);

                        Return;

                }



                If(Open < ma1 and ma1<ma2)

                {

                        SellShort(lots,Open-i_offset);

                        Return;

                }

        }



        If(MarketPosition == 1)

        {

                If(Open < ma1)

                {

                        Sell(lots,Open-i_offset);

                        Return;

                }

        }



        If(MarketPosition == -1)

        {

                If(Open > ma1)

                {

                        BuyToCover(lots,Open+i_offset);

                        Return;

                }

        }

}

End

这个是论坛上一个帖子的双均线交易 如何加平仓条件能让这个系统在收盘前平掉手里的单子? 试了加入TB里面平仓的例子结果不行。。。

请老师指导
作者: lh948    时间: 2011-11-22 09:52:56

回复 1# hhdy1


应用于什么周期?
作者: hhdy1    时间: 2011-11-22 09:55:13

回复 2# lh948


    问题解决了 我用来测试历史数据 搞错了 。
作者: hhdy1    时间: 2011-11-22 10:03:47

回复 2# lh948


    老师 用了
    If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate))
    {
        Sell(0,Close);
        BuyToCover(0,Close);
还是发生了隔夜的情况 怎么解决 老师帮忙
作者: lh948    时间: 2011-11-22 11:12:44

回复 4# hhdy1


您这是想要在第二天开盘的时候平仓吗?
作者: hhdy1    时间: 2011-11-22 11:13:34

回复 5# lh948


    不是 是收盘前平仓 现在想用在测试里面看下历史数据




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