以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  程序化交易能否按指定价位开平仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=2879)

--  作者:lxjdz988
--  发布时间:2010/9/16 16:21:02
--  程序化交易能否按指定价位开平仓
 用金字塔程序化交易快一周了,发现以下问题:
一、图表信号出现,但实际交易均是在出现信号后的下一个k先实现,而常常遇到出现信号时的k线较长,从而造成开仓距指定开仓价位较远,更要命的是止损时大大偏离指定价位,从而造成实际上的大亏,也就是看图表盈利,实际亏损。
二、图标信号出现,实际也成交了,但由于价格回退图标信号又消失,这是仓内的已成交单就不会被执行了。
请问何种方法能解决上述问题。



--  作者:fly
--  发布时间:2010/9/16 16:55:09
--  

(1)在“交易系统编辑器”里,可选择开平仓的介入点,默认的是次周期,你改成本周期。

 

(2)图表信号消失,是由于信号不稳定引起的,在“图表程序化交易”中选----走完一根K线


--  作者:admin
--  发布时间:2010/9/16 17:34:47
--  

K线走完模式是目前国际通用的比较好的模式,因为他可以防止信号反复变动带来的不确定因素,至于你说的K线会较长,说明你的策略根本就没有经过很好历史测试,经过历史检验的公式系统,是可以完全可以避免这些情况出现的。

即便是盘中偶有突发情况出现,出现一定程度的亏损也是正常情况,因为自动交易本身就是一个亏小赚大的概率事件交易。如果你无法在策略里精确控制止损,那么请使用金字塔自带的止损功能,可以精确监控,交易菜单-》交易设置-》止赢止损


--  作者:lxjdz988
--  发布时间:2010/9/16 21:16:02
--  
 谢谢二位老师,才介入,慢慢领会。另做了个后台交易模型,今天使用却没有发出指令请老师指点一二。

资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;

M:=BARSLAST(DATE<>REF(DATE,1) )+1;
h30:=VALUEWHEN(TIME<=093000,HHV(HIGH,M));
l30:=VALUEWHEN(TIME<=093000,LLV(LOW,M));

//假设涨停价为 昨收的百分之4
upstop :=ref(c,1)*(1+0.04);
downstop:=ref(c,1)*(1-0.04);

long:= c> h30 and TIME<145200 AND TIME>090300; 
if long and tholding < 0 then
 begin
 tsellshort( h30, 0, limitr);
 if CLOSE> h30 and tholding= 0  then 多:tbuy(h30, 1, limitr);
 end


止损多:tsell( close<(h30-h30*0.0015),0,thisclose);
  
if tholding>0 and TIME<145500 AND TIME>090300 then tsell(c>upstop-3*mindiff,0,thisclose);
  
short:=c<l30 and TIME<145200 AND TIME>090900;
if short and holding > 0 then
 begin
 tsell( l30, 0, limitr);
 if CLOSE< l30 and tholding= 0  then 空:tbuyshort(l30, 1, limitr);
 end

止损空:tsellshort(close>(l30+l30*0.0015),0,thisclose);

if tholding<0 and TIME<145500 AND TIME>090300 then tsellshort(c<downstop+3*mindiff,0,thisclose);
   
// 收盘前7分钟平仓
if holding > 0 and time > 145700 then//因145500会出现最后一k线买卖现象,故用145700
 begin
 sell(1, 0, thisclose);
if holding < 0 and time > 145700 then
 begin
 tsellshort(1, 0, thisclose);
 end
 end



--  作者:fly
--  发布时间:2010/9/17 9:02:58
--  

楼主新手,希望可以先从图表程序化交易学起。以免走弯路。

 

BUY语句与TBUY语句有较大差别,不是加个T就可以的。你的TBUY等语句一看就有问题。


--  作者:lxjdz988
--  发布时间:2010/9/17 21:10:31
--  
 谢谢提告。正因为有问题才请教,有的问题今天调试整后已解决,但还有其他问题,看来急不得,只好实盘慢慢的调试。再次感谢老师。