以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助][讨论]依照步进加仓如何写,三进三出为何一个开? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=52017) |
-- 作者:netfox -- 发布时间:2013/5/14 21:00:11 -- [求助][讨论]依照步进加仓如何写,三进三出为何一个开? 具体如此, 先求均线交叉,开1张,然后依照每次ATR移动开一张,直到开满4张结束 ATR:=SMA(TR,20,1); mashort:ema(close,short); malong:ema(close,long); if CROSS(mashort,malong) then begin {平空}sellshort(holding<0,0,MARKET); {开多}buy(holding=0,KD,MARKET); 开多2:buy(ENTERPRICE+ATR,KD,MARKET); 开多3:buy(ENTERPRICE+ATR,KD,MARKET); 开多4:buy(ENTERPRICE+ATR,KD,MARKET); end; 三进三出那个不就是在条件下连续写呢? 实际测试是怎么都开在一条线上? KD控制是开多少单子,KD默认=1
|
-- 作者:jinzhe -- 发布时间:2013/5/15 9:16:32 -- 后面的开多234在开仓条件里面加个enterbars>0 |
-- 作者:netfox -- 发布时间:2013/5/15 9:46:51 -- 写成这样 if CROSS(mashort,malong) then begin {平空}sellshort(holding<0,0,MARKET); {开多}buy(holding=0,KD,MARKET); end; if enterbars>0 then BEGIN 开多2:buy(ENTERPRICE+ATR,KD,MARKET); end; 就成每个K线都成交了 |
-- 作者:jinzhe -- 发布时间:2013/5/15 10:03:31 -- 图表交易一根k线只能做一次开多,所以一根k线做不了4次开多,所以改成了一根k线开一次,一共开4此的 |
-- 作者:netfox -- 发布时间:2013/5/15 11:39:28 -- 那也就开4次啊,可可。。。。图表上直接开成8次了 这这,要怎么写才能控制住啊
|
-- 作者:jinzhe -- 发布时间:2013/5/15 13:28:59 -- 这样写只会开4次,开8次不是代码原因, |
-- 作者:netfox -- 发布时间:2013/5/15 20:20:31 -- 可问题就是连续开多,一直开上去,不然之多4张啊,这何止4张了。 以上 FG09 合约
[此贴子已经被作者于2013-5-15 20:22:09编辑过]
|
-- 作者:netfox -- 发布时间:2013/5/15 20:45:01 -- if holding=1 then BEGIN 开多2:buy(ENTERPRICE+ATR,KD,MARKET); end; if holding=2 then BEGIN 开多3:buy(ENTERPRICE+ATR,KD,MARKET); end; if holding=3 then BEGIN 开多4:buy(ENTERPRICE+ATR,KD,MARKET); end; 持仓量:holding,NODRAW; 依照上面写法。。。就一次开在1个位置4单子。 if enterbars=1 then BEGIN 开多2:buy(ENTERPRICE+ATR,KD,MARKET); end; if enterbars=2 then BEGIN 开多3:buy(ENTERPRICE+ATR,KD,MARKET); end; if enterbars=2 then BEGIN 开多2:buy(ENTERPRICE+ATR,KD,MARKET); end; if enterbars=3 then BEGIN 开多2:buy(ENTERPRICE+ATR,KD,MARKET); end; if enterbars=3 then BEGIN 开多4:buy(ENTERPRICE+ATR,KD,MARKET); end; 写4次就成每个位置开4次了
|
-- 作者:netfox -- 发布时间:2013/5/15 21:28:01 -- ![]() |