以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 连续 开仓 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=144655) |
|
-- 作者:yuanhang -- 发布时间:2016/12/14 10:01:14 -- 连续 开仓 我想写一个加仓策略,依次加仓,3手满仓,剩下就开始依次减仓。不想满仓后,减了一手,然后又加一手,持仓又回到三手。 holding=0and开仓条件1,开; holding=1and开仓条件2,开(1); holding=2and开仓条件3,开(1); holding=2and平仓条件1平1手; holding>2and平仓条件2,平1手; 平仓条件3,平仓。 我的问题是,1、当满仓之后,如何分别制定第二个和第三个持仓的 平仓条件,(我的思路是根据开盘价高出多少点位,主动平仓) 2、当满仓,平掉1手后,如何避免 再次执行holding=2and开仓条件3,导致仓位再次满仓。
|
|
-- 作者:jinzhe -- 发布时间:2016/12/14 10:06:34 -- 用全局变量来记录
variable:n=0;
if n=0 and holding=0 and 开仓条件1 then begin buy.....; n:=1; end
if n=1 and holding=0 and 开仓条件2 then begin buy.....; n:=2; end if n=2 and holding=0 and 开仓条件3 then begin buy.....; n:=3; end
if holding=3 and 平仓条件3 then sell.......; if holding=2 and 平仓条件2 then sell......; if holding=1 and 平仓条件1 then begin sell.......; n:=0; end
差不多是这样的格式,你把自己的条件开平语句写进去即可 |
|
-- 作者:yuanhang -- 发布时间:2016/12/14 11:22:49 -- variable:KDYL:=0,n=0;
|
|
-- 作者:jinzhe -- 发布时间:2016/12/14 11:28:31 -- 会,每开一个仓就会变成新仓的值 如果要获取第一个开仓到现在的周期和开仓价,那么这样改: eb:barslast(cross(n=1,0.5)); ep:ref(enterprice,eb);
|
|
-- 作者:Amber_S -- 发布时间:2016/12/14 12:43:24 -- 额,提个疑问: if n=1 and holding=0 and 开仓条件2 then begin buy.....; n:=2; end if n=2 and holding=0 and 开仓条件3 then begin buy.....; n:=3; end 第一次已经开过仓了,账户holding已经不=0了呀,后面两次加仓还用holding=0来控制不是一直满足不了条件?? |
|
-- 作者:jinzhe -- 发布时间:2016/12/14 13:10:16 -- 这里忘记改了,你改下对应的持仓 |