以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 模型编写求助!只交易第一次 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74045) |
-- 作者:300qh -- 发布时间:2015/1/6 15:35:14 -- 模型编写求助!只交易第一次 思路如下: m1,m2,m3三根均线(5日,30日,200日),当价格站上M3线,并且m1突破m2开多,10日最低点止损,m1死叉m2平多。 要求,站上m3线后,只交易第一次的m1与m2金叉开多,后面再次金叉不交易。 或者,定义出金叉的次数,让我能直接选择第几次用来进行交易。 比如:我想交易第二次的机会,或者交易第一第二两次机会。 麻烦高手看到编写一下喽
|
-- 作者:netfox -- 发布时间:2015/1/6 15:42:31 -- 加一句 holding=0 立马不开新仓 |
-- 作者:jinzhe -- 发布时间:2015/1/6 15:45:09 -- 一般这样计算次数就用全局变量 variable:N=0;//定义n if 金叉 then n:=n+1;//金叉一次就自加1 if n=某个数值 and holding=0 then begin 开仓语句......; n:=0; end//当金叉次数到达某个数值之后,开仓,并且重置n为0
|
-- 作者:300qh -- 发布时间:2015/1/6 16:20:30 -- 能直接帮我把整段思路编一下好吗? |
-- 作者:300qh -- 发布时间:2015/1/6 16:21:28 -- 我要的是只开第一次的金叉,不是只开一手的意思。 |
-- 作者:jinzhe -- 发布时间:2015/1/6 16:26:13 -- variable:N=0;//定义n if 金叉 then n:=n+1;//金叉一次就自加1 if n=1 and holding=0 then begin 开仓语句......; end 只开第一次那么就这样写,然后在希望再次开仓的时候把n重新赋值为0 |
-- 作者:300qh -- 发布时间:2015/1/6 16:56:29 -- //根据老师上面讲的,我写了如下,但是好象有时候在m3均线上,不止一次交易。请教一下我哪里写的不对。 variable:N=0;//定义n input:m1(5,1,100,1),m2(30,1,100,1),m3(200,1,500,1); e1:ema(c,m1); e2:ema(c,m2); e3:ema(c,m3); L10:ref(llv(l,10),1); if c>e3 and cross(e1,e2) then n:=n+1;//金叉一次就自加1 if n=1 and holding=0 then begin
buy(holding=0,1,market); end if cross(e2,e1) then begin
sell(holding>0,0,market); end if c<e3 then n:=0; pdzs:cross(L10,c); 止损:SELL(pdzs,0,market);
|
-- 作者:jinzhe -- 发布时间:2015/1/6 17:04:15 -- 截图说明一下哪里的条件满足后不止下了一次 |
-- 作者:300qh -- 发布时间:2015/1/6 17:39:10 -- 找到原因了,开仓条件里没写交叉条件进去。造成平仓后又开仓 [此贴子已经被作者于2015/1/6 17:40:17编辑过]
|