以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  编写问题求教  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=157714)

--  作者:zengxing
--  发布时间:2017/9/8 13:34:27
--  编写问题求教
编写问题 
止损一:有持仓时,价格在1小时内向不利方向运动达持仓价的5%,,以对手价超10个最小波动点下单执行强制止损。成功止损后,当前满足开仓条件也不开仓,直至下一个均线交叉
发出开仓信号才开仓。
止损二:有持仓时,价格以不利方向运动达持仓价的10%,以对手价超30最小波动点下单执行强制止损。成功止损后,当前满足开仓条件也不开仓,直至下一个均线交叉
发出开仓信号才开仓。


开仓条件您可以随便编一个,例如 ma5>ma10 做多 小于做空

--  作者:FireScript
--  发布时间:2017/9/8 14:41:59
--  

//对手价函数DYNAINFO( 28)只有最新值,没有历史值。这个需要注意下。

t:EXTGBDATA( \'time\');

if cross(ma(close,5),ma(close,10)) then begin buy(holding=0,1,market);EXTGBDATASET(\'time\' ,CURRENTTIME );end

if (ENTERPRICE-close)/close>0.05 and t<>0 and  t-CURRENTTIME<3600 then
begin
sell(holding>0,holding,limit,DYNAINFO( 28)+10*MINDIFF);
end

if (ENTERPRICE-close)/close>0.3 then
begin
sell(holding>0,holding,limit,DYNAINFO( 28)+30*MINDIFF);
end

 

仅供参考,需要在工具-数据管理-全局变量下定义一个全局变量:time. 


--  作者:zengxing
--  发布时间:2017/9/8 15:43:17
--  
那这样,回测会怎么样?
--  作者:FireScript
--  发布时间:2017/9/8 15:48:42
--  
以下是引用zengxing在2017/9/8 15:43:17的发言:
那这样,回测会怎么样?

受到动态函数的使用限制,没有别的办法可以处理。  或者你换成别的价格,收盘价之类的。