以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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个变量分别作为平多平空条件就行了。