以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  
亏光了就没信号了。。垃圾公式