ma1:=ma(c,5);
ma2:=ma(c,10);
cw:=tholding;
//开多
kd:=ma1>ma2 and cw=0;
if kd then begin
buy(1,1,market);
end
//平多
pd:=ma1>ref(ma1,1) and cw>0;
if pd then begin
sell(1,0,market);
end
//开空
kk:=ma1<ma2 and cw=0;
if kk then begin
buyshort(1,1,market);
end
//平空
pk:ma1<ref(ma1,1) and cw<0;
if pk then begin
sellshort(1,0,market);
end
图标用holding啊~~怎么去用tholding
ma1:=ma(c,5);
ma2:=ma(c,10);
cw:=holding;
//开多
kd:=ma1>ma2 and cw=0;
if kd then begin
buy(1,1,market);
end
//平多
pd:=ma1>ref(ma1,1) and cw>0;
if pd then begin
sell(1,0,market);
end
//开空
kk:=ma1<ma2 and cw=0;
if kk then begin
buyshort(1,1,market);
end
//平空
pk:ma1<ref(ma1,1) and cw<0;
if pk then begin
sellshort(1,0,market);
end
问题的实质是,在图表自动化下,如何才能使用tholding函数功能的问题
1-在走完K线模式下,要配合哪些代码才能使图表自动化有正常的开平?
2-在轮循模式下,需要配合哪些代码才能使图表程序化有正常的开平?
不使用holding而使用tholding的原因是,holding是虚拟计算方式,一旦中间有手动的干预或信号漂移,取得的是一个不正确的值
本质问题是,在图表自动化下,如何解决虚拟持仓与实际帐户持仓不一致的问题,
而且,这种解决方法在图表自动化中要能正确执行
是的,可以解决一部份问题,但自动持仓同步是以虚拟计算的为准,发现实盘帐户仓位与虚拟计算的有差异则按虚拟计算的同步,很多时候,我只希望对现有的错误单进行处理,即只希望同步方向,不希望同步数量,无数满足需求,所以希望能用tholding获得正确的仓位来进行操作
阿火有一帖子提到这个问题,各位能否看看如何修改下,以实现使用tholding自动开平仓
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=5821&authorid=0&page=0&star=2
假设中间有手动的干预,holding返回的虚拟值不正确的情况下,要加在哪个位置,它才会使得buy(tholding=0,0,market);能执行,