-- 作者:pyd
-- 发布时间:2015/1/4 15:26:29
--
VARIABLE:n=0,m=0; if date<>ref(date,1) then begin n:=0; m:=0; end
oo:=VALUEWHEN(TODAYBAR=1,o); if h>=oo+20*MINDIFF and n=0 then begin buy(1,1,market); n:=1; end if l<=oo-20*mindiff and m=0 then begin buyshort(1,1,market); m:=1; end if h-enterprice>=20*mindiff and holding>0 then sell(1,1,market); if enterprice-l>=20*mindiff and holding<0 then sellshort(1,1,market); if time>=151300 then begin sell(holding>0,1,market); sellshort(holding<0,1,market); end
-- 作者:芝麻开门
-- 发布时间:2015/1/4 16:44:26
--
回复真是太神速了,感谢两位版主!目前正在消化版主支持的代码,下面是我的学习笔记,希望版主继续指教。
VARIABLE:n=0,m=0; //声明两个全局变量 if date<>ref(date,1) then begin //如果年月日不同,就初始化这两个变量 n:=0; m:=0; end
oo:=VALUEWHEN(TODAYBAR=1,o); //又声明了一个变量,用以承载当日开盘价。valuewhen这个函数不好懂。这个语句是改进策略的关键。 if h>=oo+20*MINDIFF and n=0 then begin //mindiff最小变动单位,股指就是0.2的意思,所以这里应该是100*mindiff。 buy(1,1,market); //我在测试的时候发现,这个buy的操作,一定是发生在这条k线的收盘价上,下面的平仓操作也是发生在收盘价上,我的本意是只要过+20点这条线,就立即操作
n:=1; //,但我不晓得给怎么改,望指点。 end if l<=oo-20*mindiff and m=0 then begin buyshort(1,1,market); m:=1; end if h-enterprice>=20*mindiff and holding>0 then sell(1,1,market); if enterprice-l>=20*mindiff and holding<0 then sellshort(1,1,market); //学习中.. if time>=151300 then begin sell(holding>0,1,market); sellshort(holding<0,1,market); end