Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:程序编写,请教

1楼
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次后,无论何种情况,都不加仓。
//但是,模拟运行时:符合条件下,会持续加仓,不知道问题出在哪里?谢谢!
2楼
gxx978 发表于:2017/4/26 14:02:53

1,enterbars返回的是上次开仓到当前的周期数,当你增仓一次后,在下根K线上的enterbars还是等于1,若前面的条件还是满足,则还是会开仓的,不能保证只开一次。

2,可以使用全局变量,来控制开仓次数。

3楼
liu800710 发表于:2017/4/26 14:10:14
但我用  ABS(HOLDING)<TREADES*2  来控制,应该不会增仓第二次呀。
4楼
gxx978 发表于:2017/4/26 14:16:05
这个你可以在图表上输出holding的值看下,看当根K线上的holding值是多少,来确认这个条件满不满足。
5楼
liu800710 发表于:2017/4/26 14:18:53
我是菜鸟。
全局变量如何用,帮我举个例子,谢谢。
6楼
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

共6 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.08600 s, 2 queries.