以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 策略编写求助区 (http://222.73.7.161/bbs/list.asp?boardid=11) ---- [求助] (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=8050) |
-- 作者:pepsi -- 发布时间:2011/9/16 14:27:00 -- [求助] 若遇到某一平仓单亏损额度或者亏损点数大于一定的值的时候,下一个开仓信号则不开仓价,下第二个开仓信号再继续开仓,如何实现? |
-- 作者:fly -- 发布时间:2011/9/16 14:41:25 -- 用VARIABLE定义的全局变量标识,是否某一平仓单亏损额度或者亏损点数大于一定的值.决定是否开仓.
与此方法类似,请自行改写.如果对全局变量不了解,请在论坛搜帖查看. 示例: 当日亏损交易次数超过3次,则不再开仓 variable:lossnum=0;// 全局变量,平仓时判断一下是盈利/亏损,若亏损lossnum就加1
ma5:ma(close,5); ma15:ma(close,15);
if CROSS(ma5,ma15) and holding<0 and time>091500 and time<145000 then begin sellshort(1,1,market),orderqueue; if c>enterprice then lossnum:=lossnum+1; end
if CROSS(ma5,ma15) and holding<0 and lossnum<3 and time>091500 and time<145000 then begin buy(1,1,market),orderqueue; end
if CROSS(ma15,ma5) and holding>0 and time>091500 and time<145000 then begin sell(1,1,market),orderqueue; if c<enterprice then lossnum:=lossnum+1; end
if CROSS(ma15,ma5) and holding=0 and lossnum<3 and time>091500 and time<145000 then begin buyshort(1,1,market),orderqueue; end
//收盘前5分钟平仓 if time > 145500 then begin sell(holding > 0, 0, thisclose); sellshort(holding < 0, 0, thisclose); end
if time=150000 then begin lossnum:=0;//收盘时要重新赋值为0 end |
-- 作者:pepsi -- 发布时间:2011/9/16 22:37:16 -- variable:lossnum=0;// 全局变量,平仓时判断一下是盈利/亏损,若亏损lossnum就加1
全局变量从开盘到收盘,如果不重新赋值的话,就永久保留吗?还会保留到第二天? |
-- 作者:pepsi -- 发布时间:2011/9/19 10:28:22 -- ? |
-- 作者:jinzhe -- 发布时间:2011/9/19 10:59:33 -- 工具---数据---全局变量 点那个清空 |
-- 作者:fly -- 发布时间:2011/9/19 13:58:22 -- variable定义的全局变量,是局部全局变量.不会显示在全局变量表中.
如果不重新赋值的话,第2天就不会再开仓了. |