以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=158581) |
-- 作者:gogoxiaohu -- 发布时间:2017/10/12 15:14:58 -- 编写模型出现问题,不出信号了。请帮助谢谢。 //中间变量 INPUT:X(6,1,100,1),NMIN(60,1,100,1); TR1 := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),M); X周期高点:REF(HHV(H,X),1);//X是参数,自行调整 X周期低点:REF(LLV(L,X),1); 开仓时间:=TIME>090000 AND TIME<150000-10; 平仓时间:=TIME>150000-10 and time<150000; variable:time00=0; //交易条件: 开多条件:=High>X周期高点 and 开仓时间 and holding<=0; 开空条件:=Low<X周期低点 and 开仓时间 and holding>=0; //交易系统 //收盘平仓 IF 平仓时间 THEN BEGIN 收盘平多:SELL(1,0,MARKET); 收盘平空:SELLSHORT(1,0,MARKET); END //时间平仓 time00:=0; time1:=0; if holding > 0 and enterbars > 0 then begin time1:=time-time00; //记录持仓时间 sell(time1>3600,0); sellshort(time1>3600,0); end //价格平仓 IF C-AVGENTERPRICE>TR1 THEN BEGIN//tr平仓 SELL(1,HOLDING,MARKET); END IF AVGENTERPRICE-c>TR1 THEN BEGIN//tr平仓 SELLshort(1,HOLDING,MARKET); END 开空: if 开空条件 and holding=0 then begin buyshort(1,30%); time00=0; end 开多: if 开多条件 and holding=0 then begin buy(1,30%); time00=0; end 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 { if openprofit>n then begin sell(1,0,market); sellshort(1,0,market); end sell((close-enterprice)>=止盈点数 and holding>0,止盈数量,market); 平空:sellshort(开多平空条件 and holding<0, 手数,limitr,X周期高点); 平多:sell(开空平多条件 and holding>0,手数,limitr,X周期低点); m_tick=GetTimeTick(0) ;//当前毫秒级计时 ..... m_ctick=GetTimeTick(m_tick) ;//从m_tick到现在的毫秒数 //时间平仓 sell((dynainfo(213)-currenttime)>3600,0); sellshort((dynainfo(213)-currenttime)>3600,0); { 收盘平多:sell(平仓时间 and holding>0, 0, thisclose); 收盘平空:sellshort(平仓时间 and holding<0,0,thisclose); } }
|
-- 作者:FireScript -- 发布时间:2017/10/12 15:22:15 -- 你在什么周期下运行的啊。你这个在日线以及日线以上可是不行的啊。我拿过来换五分钟信号有的啊。 |
-- 作者:gogoxiaohu -- 发布时间:2017/10/12 15:23:56 -- 目前是在一小时的周期上运行,不知道问题出下哪里 |
-- 作者:FireScript -- 发布时间:2017/10/12 15:33:48 -- 有信号,就是信号非常靠前。 你要把图表往左侧拉下才能看到。这个和你策略本身的设计有关系。 |
-- 作者:gogoxiaohu -- 发布时间:2017/10/12 15:36:47 -- 可是为什么前面可以有信号,后面就没有信号了呢? |
-- 作者:FireScript -- 发布时间:2017/10/12 15:42:39 -- 以下是引用gogoxiaohu在2017/10/12 15:36:47的发言:
可是为什么前面可以有信号,后面就没有信号了呢? 这就是策略层级的问题了。大致看了下。你到后面的那个平空条件好像一直不符合触发条件。导致一直持有空仓平不了。 |
-- 作者:gogoxiaohu -- 发布时间:2017/10/12 15:52:27 -- 那如何描述和编写在开仓之后60分钟平仓? 比如:我开仓时间为9:46 在10:46按时平仓。谢谢。 |
-- 作者:wenarm -- 发布时间:2017/10/12 19:36:19 -- 做不到,一般交易都是以k线为单位。你这种在图表的机制下,开仓时间就是k线的时间,而k线过程中的触发的开仓时间点是无法记录的,不符合图表机制 |
-- 作者:金字塔提款机 -- 发布时间:2017/10/28 23:27:46 -- 亏光了就没信号了。。垃圾公式 |