用金字塔程序化交易快一周了,发现以下问题:
一、图表信号出现,但实际交易均是在出现信号后的下一个k先实现,而常常遇到出现信号时的k线较长,从而造成开仓距指定开仓价位较远,更要命的是止损时大大偏离指定价位,从而造成实际上的大亏,也就是看图表盈利,实际亏损。
二、图标信号出现,实际也成交了,但由于价格回退图标信号又消失,这是仓内的已成交单就不会被执行了。
请问何种方法能解决上述问题。
(1)在“交易系统编辑器”里,可选择开平仓的介入点,默认的是次周期,你改成本周期。
(2)图表信号消失,是由于信号不稳定引起的,在“图表程序化交易”中选----走完一根K线
K线走完模式是目前国际通用的比较好的模式,因为他可以防止信号反复变动带来的不确定因素,至于你说的K线会较长,说明你的策略根本就没有经过很好历史测试,经过历史检验的公式系统,是可以完全可以避免这些情况出现的。
即便是盘中偶有突发情况出现,出现一定程度的亏损也是正常情况,因为自动交易本身就是一个亏小赚大的概率事件交易。如果你无法在策略里精确控制止损,那么请使用金字塔自带的止损功能,可以精确监控,交易菜单-》交易设置-》止赢止损
谢谢二位老师,才介入,慢慢领会。另做了个后台交易模型,今天使用却没有发出指令请老师指点一二。
资产: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
楼主新手,希望可以先从图表程序化交易学起。以免走弯路。
BUY语句与TBUY语句有较大差别,不是加个T就可以的。你的TBUY等语句一看就有问题。
谢谢提告。正因为有问题才请教,有的问题今天调试整后已解决,但还有其他问题,看来急不得,只好实盘慢慢的调试。再次感谢老师。