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

标题: MarketPosition [打印本页]

作者: kele027    时间: 2011-5-24 14:25:20     标题: MarketPosition

MarketPosition

IF1106 当前持仓是5 ,但是MarketPosition却判断是0.?高手帮看看是哪里的问题。
作者: kele027    时间: 2011-5-24 14:27:23

//------------------------------------------------------------------------
// 简称: zfll1
// 名称: 正反理论
// 类别: 公式应用
// 类型: 用户应用
//------------------------------------------------------------------------

Params
    Numeric Para1(10);
    Numeric Para2(5);
Vars
        Numeric RandNumTemp;
        Bool Condition1;
        Bool Condition2;
        Bool Condition3;
        Bool Condition4;       
        Numeric  buyPrice1;
        Numeric  sellPrice1;
        Numeric  yinLiE;
        Numeric  kuiSunE;
       
Begin
        //风险控制模块
    //buyPrice1=3122.8;
        //SetGlobalVar(0,buyPrice1);
    yinLiE=7;
        kuiSunE=3;
    RandNumTemp = Rand( -1, 1 );
        // 逻辑决策模块
    if(MarketPosition ==0)//当前位置为持平
        {       
            FileAppend("c:\\Formula.log","当前位置为持平 "+Text(CurrentTime())+" CurrentContracts:"+Text(CurrentContracts)) ;
   
               
                if(RandNumTemp>0)
                {
                        FileAppend("c:\\Formula.log","1");
                        Condition1=True;
                        //Buy(1,Open);
                }Else{
                        FileAppend("c:\\Formula.log","-1");
                        Condition2 = True;       
                        //SellShort(1,Open);
                }
        }
        if(MarketPosition ==1)
        {
                buyPrice1=GetGlobalVar(0);
                if((Open-yinLiE)>buyPrice1||(Open+kuiSunE)<buyPrice1)
                {                       
                    FileAppend("c:\\Formula.log","Open: "+Text(Open)+" buyPrice1:"+Text(buyPrice1)) ;
                        Condition3=True;
                }
               
        }
    if(MarketPosition ==-1)
        {
            sellPrice1=GetGlobalVar(0);
                FileAppend("c:\\Formula.log","Open:"+Text(Open)+" buyPrice1:"+Text(sellPrice1)) ;
                if((Open-kuiSunE)>sellPrice1||(Open+yinLiE)<sellPrice1)
                {
                        Condition4=True;
                }
        }
               
//交易指令模块start               
        if (Condition1)
        {
                FileAppend("c:\\Formula.log"," Condition1=True;") ;
                Buy(1,Open+5);
            Condition1=False;
                SetGlobalVar(0,Open);
        }
        if (Condition2)
        {
                FileAppend("c:\\Formula.log"," Condition2=True;") ;
                SellShort(1,Open);
            Condition2=False;
                SetGlobalVar(0,Open);
        }
        if (Condition3)
        {
                Sell(0,0);
            Condition3=False;
        }
        if (Condition4)
        {
                BuyToCover(0,0);
            Condition4=False;
        }       
       
//交易指令模块end       
End

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2011/05/14 21:36
// 版权所有        kele0027002270
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
作者: lh948    时间: 2011-5-24 14:51:22

回复 2# kele027


    MarketPosition是判断图上的信号持仓的,不是账户真实持仓,账户真实持仓请使用A_SellPosition和A_BuyPosition
作者: kele027    时间: 2011-5-24 17:21:58

哦,谢谢指点。
作者: kele027    时间: 2011-6-9 13:44:44

回复 3# lh948


    非常感谢。




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