Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求助:一个完整的后台交易模型方案

1楼
小布丁 发表于:2012/7/13 11:00:27

一、已知的多空出入场规则:

variable:cc=0;

cangwei:=5;//仓位

pp:=barslast(date<>ref(date,1))+1;

entime:=pp>1 and pp<245;

extime:=pp>260;

bcond:=c>ma(c,10);

scond:=c<ma(c,10);

if bcond or extime and cc<0 then cc:=0;

if scond or extime and cc>0 then cc:=0;

if bcond and entime and cc=0 then cc:=1;

if scond and extime and cc=0 then cc:=-1;

cw:=cangwei*cc;//定义每一次交易的开仓手数cw,cw为理论持仓。

二、需要实现的后台交易方案:

1、K线走完模式下提前10秒下单

     通过在后台交易指令中加入时间限制开关 [abb:=time0-timetot0(dynainfo(207))<=10;] 实现。后台交易选择固定轮询间隔1秒。

2、委托单历时超过30秒仍未成交自动撤单 [tsubmit(0)、tcancel]

3、实时监控理论持仓与实际买持和实际卖持是否一致。实际买持小于理论多单则补足理论多单。实际买持大于理论多单则平掉多余仓位。实际卖持与理论空单同样处理。[通过新定义中间变量cw与tbuyholdingex/tsellholdingex的差值cangcha是否为零来判断]。

4、在每一次开多和开空之前检测是否有反向单存在,不允许出现锁单的情况,如账户存在反向单则先平掉反向单再发单。

5、将每一次交易的结果发送到指定邮箱123@163.com

6、将每一次交易的结果发送到指定QQ群12345

7、全自动无人值守方案(包括计算机的自动开关机、金字塔软件的自动重启关闭、自动登录多账户、自动启动后台交易、非正常关闭情况下重启软件等)

 

 

2楼
董小球 发表于:2012/7/13 11:26:17
楼主你的方案里,1、2、3、4、5都可以通过指标语言来实现,6恐怕要通过VBA才能实现,7无法实现
根据你所说的,我给出一个例子,你学习一下里面的方法,就可以实现你的需求

当然,我所给出的例子,为了方便理解,只是一个不考虑是否盈亏的非常简单的MA均线指标,但是这个简单指标里,我把众多交易技巧都覆盖了在里面,只要你方法学会,形式可以做任意的变换~
//MA均线交易指标-后台交易


VARIABLE:A=0;
//条件判断
ZH1:'1000';
PZ1:'IF00';
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
CONDBUY:=CROSS(MA5,MA10);
CONDSELL:=CROSS(MA10,MA5);


//控制日内交易次数
IF TTOTALDAYTRADE>=300 THEN EXIT;

//开仓和平仓
TBUY(CONDBUY AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,LMT,CLOSE,0,ZH1,PZ1 );
TSELL(CONDSELL,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);


//加仓
IF TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10 THEN BEGIN
阳线加仓:TBUY(CLOSE>OPEN,2,LMT,CLOSE,ZH1,PZ1);
阴线加仓:TBUY(CLOSE<OPEN,1,LMT,CLOSE,ZH1,PZ1);
END


//止损止盈

IF DYNAINFO(  7)-TAVGENTERPRICEEX2(ZH1 ,PZ1 ,0 )>20*MINDIFF THEN BEGIN
TSELL(1,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);
END

//止损
IF TAVGENTERPRICEEX2(ZH1 ,PZ1 ,0 )-C>10*MINDIFF THEN BEGIN
TSELL(1,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);
END



//监控未成交单
WCJ:=TREMAINQTY( 1, ZH1,PZ1);
IF WCJ<>0 THEN BEGIN
A:=WCJ;
END

//对为成交单撤单,并追单
IF WCJ>0 THEN BEGIN
TCANCELEX(1,1,ZH1,PZ1 );
TBUY(WCJ=0,A,MKT,0,ZH1,PZ1);
END

//监控持仓和资金状况
当前持仓量:=TBUYHOLDINGEX( ZH1,PZ1 ,0 );
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%.2f',当前持仓量 );
DEBUGOUT('当前可用资金%.2f',当前可用资金 );

//收盘前强平

IF CURRENTTIME>=150000 THEN BEGIN
TSELL(1,0,MKT,0,ZH1,PZ1);
END


//其他操作
3楼
王锋 发表于:2012/7/13 12:13:50
参考 阿火秘笈 http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=9439 里面的多个问题已经都涉及到了
4楼
luqi 发表于:2012/7/13 12:25:56

哈哈,这个得找火哥啊,一切都搞定。我一个朋友用服务器交易就是你这样子的。。。。。。。。。。。。。。。。。。

5楼
小布丁 发表于:2012/7/13 13:08:15

知道问题,知道解决的思路是一回事,但真正要写起来就没那么容易了。

以上问题,楼主等于没说。

 

6楼
阿火 发表于:2012/7/15 19:19:49

哈,过奖。过奖了

第七点我可没做过哦

其他的几点早已实现并实盘了。

共6 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .35938 s, 2 queries.