以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 程序编写,请教 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=152181) |
-- 作者:liu800710 -- 发布时间:2017/4/26 13:46:22 -- 程序编写,请教 //增仓程序 TREADES:=10; //交易数量 BUY(HOLDING>0 AND AVGENTERPRICE/C>=1.001 AND AVGENTERPRICE/C<1.005 AND ABS(HOLDING)<TREADES*2 AND ENTERBARS=1,TREADES,MARKET); BUYSHORT(HOLDING<0 AND C/AVGENTERPRICE>=1.001 AND C/AVGENTERPRICE<1.005 AND ABS(HOLDING)<TREADES*2 AND ENTERBARS=1,TREADES,MARKET); //想通过以上程序实现以下目的:
//1.开仓后,1 ENTERBARS后,亏损大于0.1%和小于0.5%时,加仓一倍。 //2.增仓1次后,无论何种情况,都不加仓。 //但是,模拟运行时:符合条件下,会持续加仓,不知道问题出在哪里?谢谢! |
-- 作者:gxx978 -- 发布时间:2017/4/26 14:02:53 -- 1,enterbars返回的是上次开仓到当前的周期数,当你增仓一次后,在下根K线上的enterbars还是等于1,若前面的条件还是满足,则还是会开仓的,不能保证只开一次。 2,可以使用全局变量,来控制开仓次数。 |
-- 作者:liu800710 -- 发布时间:2017/4/26 14:10:14 -- 但我用 ABS(HOLDING)<TREADES*2 来控制,应该不会增仓第二次呀。 |
-- 作者:gxx978 -- 发布时间:2017/4/26 14:16:05 -- 这个你可以在图表上输出holding的值看下,看当根K线上的holding值是多少,来确认这个条件满不满足。 |
-- 作者:liu800710 -- 发布时间:2017/4/26 14:18:53 -- 我是菜鸟。 全局变量如何用,帮我举个例子,谢谢。
|
-- 作者:gxx978 -- 发布时间:2017/4/26 14:25:47 -- 举个例子吧 variable:a=0; //控制开关 if conkd and a=0 then begin buy(1,1,market); a:=a+1; end |