以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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