以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 老师好 .... (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=184063) |
-- 作者:NH -- 发布时间:2021/1/25 16:18:05 -- 老师好 .... 开仓后N周期 ,涨幅 或者跌幅没有超过m% 则平仓 。 应如何表述呢? |
-- 作者:FireScript -- 发布时间:2021/1/25 16:24:42 -- zd:100*abs((ref(c,ENTERBARS+1)-c)/ref(c,ENTERBARS+1));//以开仓K的收盘价 和现在的收盘价来做涨跌幅的计算。 if zd<m and holding<>0 then begin SELL(1,holding,MARKET); SELLSHORT(1 ,holding,MARKET); end |
-- 作者:NH -- 发布时间:2021/1/25 16:33:58 -- 这里只描述了涨幅 没有距离开仓的时间周期吧? |
-- 作者:FireScript -- 发布时间:2021/1/25 16:37:15 -- 如果是在固定N周期时候判断的话,那这样改下: zd:=100*abs((ref(c,N)-c)/ref(c,N));//以开仓K的收盘价 和现在的收盘价来做涨跌幅的计算。 if zd<m and holding<>0 and ENTERBARS+1=N then //在开仓N周期时候进行是否平仓的判断 begin SELL(1,holding,MARKET); SELLSHORT(1 ,holding,MARKET); end |
-- 作者:NH -- 发布时间:2021/1/25 16:39:29 -- 嗯 理解了。 限制在1. 白天时间段交易 或者 2. 夜盘时间段交易 或者 3.只做日内交易,临收盘前5分钟不开仓怎么描述?
|
-- 作者:FireScript -- 发布时间:2021/1/25 16:47:28 -- 限制时间段的话 就用time函数处理就行了。 abb:timetot0(CLOSETIME(0))-timetot0(time),NODRAW;//当前时间距离收盘K时间 ,这里写的是白盘收盘时间。替换 CLOSETIME的参数就可以换成其他收盘时间。 cd1:time>=13000 and time<=19000 and abb>300;//300对应五分钟;time>=13000 and time<=19000表示上午九点到下午收盘 把cd加入到开仓条件就行了。 如果是其他时间段也是类似的。
|
-- 作者:NH -- 发布时间:2021/1/25 17:49:18 -- 开仓后有盈利了,从最大盈利回撤 N%比例平仓 怎么描述? |
-- 作者:FireScript -- 发布时间:2021/1/26 9:13:28 -- 这样: DTYDZS:=(HHV(H,ENTERBARS+1)-CLOSE)/AVGENTERPRICE>=(N/100) AND C>AVGENTERPRICE;//多头 KTYDZS:=(CLOSE-LLV(L,ENTERBARS+1))/AVGENTERPRICE>(N/100) AND C<AVGENTERPRICE;//空头 多头最高盈利用最高价H来算的,空头最高盈利用最低价L来算的。你也可以改成用C收盘价来统计。上面2个变量分别作为平多平空条件就行了。
|