以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 遇到几个问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=146222) |
-- 作者:2457146251 -- 发布时间:2017/1/9 12:58:15 -- 遇到几个问题 1. 现在策略是做同一品种,不同周期的,,,做棕榈油 5分钟和 15分钟 周期, 每个策略进 1手, 但是 如果两个策略 同时持仓, 总持仓为2手,图表交易 的 持仓矫正 功能, 会不会 把 仓位平掉 2. 进场 仓位,不超过3手, 怎么表示, 如, 条件A 进场1 手, 条件 B 进场 第二手,条件C 进场第三手, 怎么这样区分开来进场 holding 这个赋值 似乎 只有 正数,负数,0 区分, 试过几次,取不到 仓位数, 例如 holding < 4 就没法 实现出来, if A 进 1, if C 进 1,if C进 1, 而是 if A 则进完 资金能开多少手就进多少手 如何 限定 最多进场单位,,分条件进场,还有取到 当前 策略持仓 数量! 因为不想把一个策略,,,按条件 拆分很多策略来跑,,,把它整合到一个策略就行,条件本身不冲突 麻烦老师帮忙解答一下,多谢
|
-- 作者:jinzhe -- 发布时间:2017/1/9 13:31:00 -- 1.框架下做的吗?框架下不要用持仓同步 2.if A then buy(A,1,thisclose); if B then buy(B,1,thisclose); if C then buy(C,1,thisclose); 用这样的办法 3.策略持仓量为holding
|
-- 作者:2457146251 -- 发布时间:2017/1/9 13:46:39 -- 回复:(jinzhe)1.框架下做的吗?框架下不要用持仓同... 回复 1, 是同一框架 下 , 然后 框架 拆分成 上下 两部分,,分别 插入 5分钟和15分钟图表,,分别加载策略运行,, 这样会不会 持仓同步,,造成混乱, 另外请问一下,,,多框架 怎么运行策略,,, 2 。 我是 写为 if A then buy( 1, 1, limitr, open ) 这样的写法,是不是会造成,,一窝蜂进场,,, 一定要 把 条件 A 写在 ( A, 1 limitr , open ) 括号里边对么?
|
-- 作者:2457146251 -- 发布时间:2017/1/9 13:53:50 -- 回复:(jinzhe)1.框架下做的吗?框架下不要用持仓同... 补充 : holding = 3 表示 持仓量为3手对么? 空头 的话 是不是写成 holding = -3 ? 这样区分多空对么?
|
-- 作者:jinzhe -- 发布时间:2017/1/9 14:00:12 -- 1.框架下是可以运行策略的,但是持仓同步就不行了 2.这样写表示满足条件就进一手,用户现在是要做一个什么样的进场效果? ABC各一手,不重复吗? 3,是的,就这样区别多空 |
-- 作者:2457146251 -- 发布时间:2017/1/9 14:09:17 -- 回复:(jinzhe)1.框架下是可以运行策略的,但是持仓... 回复: 是打算这样的,,,满足条件A 进场一手, 满足条件B 进场一手,满足条件C 进场一手 ,我原先这样表达, if A then buy( 1, 1 ,limitr open ) 这样的写法,,后面造成多次进场,直到不能开仓为止,这根K线进场一次之后,下根满足A 还进场一次 我想要实现,,A 进场1手,就一次,,,B进场一手,就一次,C 也是,,,当然,,各个条件 进场不受是否持仓 有影响,,,但是就限定 3个条件,每个就进一手 ,,,我写法得出后面就是,条件A进场完了,后面B C即使成立, 也没钱进去了。。。。这样不是想要的结果 if A then buy( 1, 1 ,limitr open ) 和 if A then buy( A, 1 ,limitr open ) ,, 这样写法有何区别么? 一定要 条件A 放在括号里 才能实现?
|
-- 作者:jinzhe -- 发布时间:2017/1/9 14:19:44 -- 那么要改改: variable:bja=0; variable:bjb=0; variable:bjc=0;
if bja=0 and A and holding>=0 then begin buy(1,1,marketr); bja:=1; end
if bjb=0 and B and holding>=0 then begin buy(1,1,marketr); bjb:=1; end
if bjc=0 and C and holding>=0 then begin buy(1,1,marketr); bjc:=1; end
类似这样的全局变量来限定开仓一次,然后在平仓语句中,把全局变量赋值为0 |
-- 作者:2457146251 -- 发布时间:2017/1/9 14:28:59 -- 回复:(jinzhe)那么要改改:variable:bja=0;var... 老师能否也把 分别平仓 帮忙列一下,,条件AA 平仓 1,条件BB 平仓1,,CC ,这样 好让我模仿怎么写,, 不用拐弯抹角的各种测都弄不通,,,多谢了 |
-- 作者:jinzhe -- 发布时间:2017/1/9 14:41:30 -- variable:bja=0; variable:bjb=0; variable:bjc=0;
if bja=0 and A and holding>=0 then begin buy(1,1,marketr); bja:=1; end
if bjb=0 and B and holding>=0 then begin buy(1,1,marketr); bjb:=1; end
if bjc=0 and C and holding>=0 then begin buy(1,1,marketr); bjc:=1; end
if bja=1 and AA and holding>0 then begin sell(1,1,marketr); bja:=0; end
if bjb=1 and BB and holding>0 then begin sell(1,1,marketr); bjb:=0; end
if bjc=1 and CC and holding>0 then begin sell(1,1,marketr); bjc:=0; end |
-- 作者:2457146251 -- 发布时间:2017/1/9 15:00:44 -- 回复:(jinzhe)variable:bja=0;variable:bjb=0;... 谢谢了。。。。鲜花。。 |