以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4)
---- [求助]交易条件提前筛选 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=98086)
|
-- 作者:holysss
-- 发布时间:2016/6/1 10:42:43
-- [求助]交易条件提前筛选
已有现成的逐K交易策略A,现想加入筛选条件。如下:每15根K线计算一次ZF=high-low; 对本日之前22个交易日(大约就是一个月)内的所有ZF求平均值ZFA; 计算22个交易日内的收盘均价 MP; 如果(ZFA/MP)>0.003 则开始执行策略A,直到(ZFA/MP)<0.002策略A自动结束.
|
-- 作者:jinzhe
-- 发布时间:2016/6/1 10:48:29
--
每15根K线计算一次ZF=high-low; 这里的h和l分别指代什么?
|
-- 作者:holysss
-- 发布时间:2016/6/1 13:20:43
-- 回复:(jinzhe)每15根K线计算一次ZF=high-low;这里...
H代表15根K线的最高价,L代表最低价。
|
-- 作者:jinzhe
-- 发布时间:2016/6/1 13:30:39
--
要写两个公式,公式1为:
nn:=barslast(month<>ref(month,1))+1; mm:sum(c,nn)/nn;
公式2为:
variable:bj=0; zf:=valuewhen(mod(barpos,15)=0,hhv(h,15)-llv(l,15)); nn:=barslast(month<>ref(month,1))+1; zfa:=sum(zf,nn)/nn; mp:=stkindi(\'\',\'公式1.mm\',0,6); if (ZFA/MP)>0.003 then bj:=1; if (ZFA/MP)<0.002 then bj:=0; if bj=1 then begin
策略a end 此主题相关图片如下:1.png
|
-- 作者:holysss
-- 发布时间:2016/6/1 16:35:10
-- 回复:(jinzhe)要写两个公式,公式1为:nn:=barsl...
好像有点问题,除了IF13和沪铜指数算出的MP值正常外,其他品种算出来的MP值都是显示的 -1.#R 导致最终不能发生交易,不知道为什么。测试了矿石指数,黄金指数,白银指数,螺纹指数,IH500指数等都是如此。
|
-- 作者:jinzhe
-- 发布时间:2016/6/1 16:36:49
--
补充一下数据,至少要1个月的,当前周期和日线周期都要补充
[此贴子已经被作者于2016-6-1 16:37:18编辑过]
|
-- 作者:holysss
-- 发布时间:2016/6/1 18:48:26
-- 回复:(jinzhe)补充一下数据,至少要1个月的,当前周...
谢谢,之前的问题解决了,还有点小麻烦怎样在BJ=0的情况下(即策略A停止)自动平掉多头持仓? if bj=0 then sell(1,0,marketr); 这么写好像不对,一旦BJ从1变到0,之前的止损止盈好像不管用了。
|
-- 作者:jinzhe
-- 发布时间:2016/6/2 9:06:55
--
nn:=barslast(month<>ref(month,1))+1; mm:sum(c,nn)/nn;
公式2为:
variable:bj=0; zf:=valuewhen(mod(barpos,15)=0,hhv(h,15)-llv(l,15)); nn:=barslast(month<>ref(month,1))+1; zfa:=sum(zf,nn)/nn; mp:=stkindi(\'\',\'公式1.mm\',0,6); if (ZFA/MP)>0.003 then bj:=1; if (ZFA/MP)<0.002 then bj:=0; if bj=1 then begin
策略a end
if bj=0 then sell(1,0,marketr);
|