以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  程序化交易实盘俱乐部  (http://222.73.7.161/bbs/list.asp?boardid=9)
----  为什么不开仓呢?求解答!  (http://222.73.7.161/bbs/dispbbs.asp?boardid=9&id=89911)

--  作者:jincheng1314
--  发布时间:2016/1/14 18:59:37
--  为什么不开仓呢?求解答!
运行模式为在序列计算下,反馈测试正常!为什么不开仓呢?求解答!



//本模型运行于后台程序化模式

ZH1:\'609234\';
PZ1:\'AU06\';
VARIABLE:A=0,Y=0,T=0;


//条件判断
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
CONDBUY:=CROSS(MA5,MA10);


//开仓做多一次
IF Y=0 THEN BEGIN 
TBUY(CONDBUY AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,MKT,0,0,ZH1,PZ1 );
EXTGBDATASET( \'T\',1 );
END

//循环开仓做多

IF Y=1 THEN BEGIN 
TBUY(T=0 AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,MKT,0,0,ZH1,PZ1 );
EXTGBDATASET( \'T\',1 );
END



//移动止损模块部分*******************************
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落

//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX( \'\',\'\' ,0 )>0 AND EXTGBDATA(\'a\' )=0 THEN BEGIN
EXTGBDATASET( \'a\',1 );
END

//使A始终表示监控开始后的最高价
IF DYNAINFO(  7)>EXTGBDATA(\'a\' ) and EXTGBDATA(\'a\' )>0 THEN BEGIN
EXTGBDATASET( \'a\',DYNAINFO(  7));
END

//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA(\'a\' )-DYNAINFO(  7)>5*MINDIFF and EXTGBDATA(\'a\' )>0 THEN BEGIN
TSELL(1,1,MKT );
EXTGBDATASET( \'a\',0);
END
//*******************************


//循环开仓做空
IF Y=1 THEN BEGIN 
TBUYSHORT(T=1 AND TSELLHOLDINGEX( ZH1,PZ1 ,0 )<10,1,MKT,0,0,ZH1,PZ1 );
EXTGBDATASET( \'T\',0 );
END

//移动止损模块部分*******************************
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落

//将A赋值为1,表示当前有持仓
IF TSELLHOLDINGEX( \'\',\'\' ,0 )>0 AND EXTGBDATA(\'a\' )=0 THEN BEGIN
EXTGBDATASET( \'a\',1 );
END

//使A始终表示监控开始后的最高价
IF DYNAINFO(  7)>EXTGBDATA(\'a\' ) and EXTGBDATA(\'a\' )>0 THEN BEGIN
EXTGBDATASET( \'a\',DYNAINFO(  7));
END

//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA(\'a\' )-DYNAINFO(  7)>5*MINDIFF and EXTGBDATA(\'a\' )>0 THEN BEGIN
TSELLSHORT(1,1,MKT );
EXTGBDATASET( \'a\',0);
END
//*******************************